<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<!--***********************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 ***********************************************************-->
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Lang_fr" script:language="StarBasic">Option Explicit

Sub LoadFrenchLanguage()

	sProductname = GetProductname
	sOK = &quot;~OK&quot; 
	sCancel = &quot;Annuler&quot;
	sColumnHeader = &quot;En-tête de colonne&quot;	
	sInsertStockName = &quot;Saisissez quelques actions dans votre portefeuille !&quot;
	sTitle = &quot;&lt;PRODUCTNAME&gt; : Gestion d&apos;actions&quot;
	sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
	sMsgError = &quot;Erreur de saisie&quot;
	sMsgNoName = sInsertStockname
	sMsgNoQuantity = &quot;Saisissez une quantité supérieure à 0 !&quot;
	sMsgNoDividend = &quot;Vous devez saisir le montant des dividendes perçus (soit les dividendes par action, soit la somme totale perçue).&quot;
	sMsgNoExchangeRate = &quot;Saisissez un taux correct de conversion (anciennes actions -&gt; nouvelles actions).&quot;
	sMsgNoValidExchangeDate = &quot;Saisissez une date correcte pour le split d&apos;action.&quot;
	sMsgWrongExchangeDate = &quot;Split impossible car il y a déjà eu des transactions après la date du split !&quot;
	sMsgSellTooMuch = &quot;Impossible de vendre autant d&apos;actions ! Maximum : &quot;
	sMsgConfirm = &quot;Confirmation requise&quot;
	sMsgFreeStock = &quot;S&apos;agit-il d&apos;actions gratuites ?&quot;
	sMsgTotalLoss = &quot;Prévoyez-vous une perte totale ?&quot;
	sMsgAuthorization = &quot;Requête de sécurité&quot;
	sMsgDeleteAll = &quot;Voulez-vous supprimer tous les mouvements et remettre le portefeuille d&apos;actions à zéro ?&quot;
	cSplit = &quot;Split d&apos;action le &quot;
	sHistory = &quot;Historique&quot;
	TransactTitle(1) = 	 &quot;Vente d&apos;actions&quot;
	TransactTitle(2) = &quot;Achat d&apos;actions&quot;
	StockRatesTitle(1) = &quot;Versement des dividendes&quot;
	StockRatesTitle(2) = &quot;Split d&apos;action&quot;
	StockRatesTitle(3) = sHistory
	sDepotCurrency = &quot;Monnaie du portefeuille&quot;	
	sStockName = &quot;Nom de l&apos;action&quot;
	TransactMode = LIFO	&apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
	DateCellStyle = &quot;Résultat date&quot;
	CurrCellStyle = &quot;1&quot;
	sStartDate = &quot;Date de début :&quot;
	sEndDate = &quot;Date de fin :&quot;
	sStartUpWelcome = &quot;Utilisez ce modèle pour une gestion efficiente de votre portefeuille d&apos;actions !&quot;
	sStartUpChooseMarket = &quot;Commencez par choisir une monnaie de référence et ainsi la place boursière pour la mise à jour Internet !&quot;
	sStartUpHint = &quot;La fonction &lt;History&gt; n&apos;est cependant disponible que pour le marché américain.&quot;
	sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
	sNoInternetUpdate = &quot;Sans mise à jour Internet&quot;
	sMarketPlace = &quot;Place boursière :&quot;
	sNoInternetDataAvailable = &quot;Réception des cours Internet impossible !&quot;
	sCheckInternetSettings = &quot;Causes possibles : &lt;BR&gt; Problème de paramétrage Internet : vérifiez les paramètres !&lt;BR&gt; Vous avez saisi un identificateur (par ex. symbole ou code) incorrect pour l&apos;action.&quot;
	sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)

	sMsgEndDatebeforeNow = &quot;La date spécifiée pour la fin doit précéder celle de ce jour !&quot;
	sMsgStartDatebeforeEndDate = &quot;La date spécifiée pour le début doit succéder à celle de ce jour !&quot;

	sMarket(0,0) = &quot;Dollar Américain&quot;
	sMarket(0,1) = &quot;$&quot;
	sMarket(0,2) = &quot;New York&quot;
	sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
	sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
				   &quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
				   &quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
	sMarket(0,5) = &quot;Symbole&quot;
	sMarket(0,6) = &quot;en&quot;
	sMarket(0,7) = &quot;US&quot;
	sMarket(0,8) = &quot;409&quot;
	sMarket(0,9) = &quot;44&quot;
	sMarket(0,10) = &quot;1&quot;
	
	sMarket(1,0) = &quot;Euro&quot;
	sMarket(1,1) = chr(8364)
	sMarket(1,2) = &quot;Francfort&quot;
	sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
	sMarket(1,5) = &quot;Code&quot;
	sMarket(1,6) = &quot;de;nl;pt;el&quot;
	sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
	sMarket(1,8) = &quot;407;413;816;408&quot;
	sMarket(1,9) = &quot;59/9&quot;
	sMarket(1,10) = &quot;1&quot;

	sMarket(2,0) = &quot;Livre Sterling&quot;
	sMarket(2,1) = &quot;£&quot;
	sMarket(2,2) = &quot;Londres&quot;
	sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
	sMarket(2,5) = &quot;Symbole&quot;
	sMarket(2,6) = &quot;en&quot;
	sMarket(2,7) = &quot;GB&quot;
	sMarket(2,8) = &quot;809&quot;
	sMarket(2,9) = &quot;44&quot;
	sMarket(2,10) = &quot;1&quot;

	sMarket(3,0) = &quot;Yen Japonais&quot;
	sMarket(3,1) = &quot;¥&quot;
	sMarket(3,2) = &quot;Tokyo&quot;
	sMarket(3,3) = &quot;&quot;
	sMarket(3,5) = &quot;Code&quot;
	sMarket(3,6) = &quot;ja&quot;
	sMarket(3,7) = &quot;JP&quot;
	sMarket(3,8) = &quot;411&quot;
	sMarket(3,9) = &quot;&quot;
	sMarket(3,10) = &quot;&quot;
	
	sMarket(4,0) = &quot;Dollar de Hong Kong&quot;
	sMarket(4,1) = &quot;HK$&quot;
	sMarket(4,2) = &quot;Hong Kong&quot;
	sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
	sMarket(4,5) = &quot;Numéro&quot;
	sMarket(4,6) = &quot;zh&quot;
	sMarket(4,7) = &quot;HK&quot;	
	sMarket(4,8) = &quot;C04&quot;
	sMarket(4,9) = &quot;44&quot;
	sMarket(4,10) = &quot;1&quot;

	sMarket(5,0) = &quot;Dollar Australien&quot;
	sMarket(5,1) = &quot;$&quot;
	sMarket(5,2) = &quot;Sydney&quot;
	sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
	sMarket(5,5) = &quot;Symbole&quot;
	sMarket(5,6) = &quot;en&quot;
	sMarket(5,7) = &quot;AU&quot;
	sMarket(5,8) = &quot;C09&quot;
	sMarket(5,9) = &quot;44&quot;
	sMarket(5,10) = &quot;1&quot;

&apos; ****************************End of the default subset*********************************
	CompleteMarketList()

	LocalizedCurrencies()
	
	With TransactModel
		.lblStockNames.Label = sStockname
		.lblQuantity.Label = &quot;Quantité&quot;
		.lblRate.Label = &quot;Cours&quot;
		.lblDate.Label = &quot;Date de transaction&quot;
		.hlnCommission.Label = &quot;Dépenses diverses&quot;
		.lblCommission.Label = &quot;Commission&quot;
		.lblMinimum.Label = &quot;Commission minimale&quot;
		.lblFix.Label = &quot;Montant fixe/frais&quot;
		.cmdGoOn.Label = sOK
		.cmdCancel.Label = sCancel
	End With
	
	With StockRatesModel
		.optPerShare.Label = &quot;Dividende/action&quot;
		.optTotal.Label = &quot;Dividende total&quot;
		.lblDividend.Label = &quot;Montant&quot;
		.lblExchangeRate.Label = &quot;Taux de conversion (ancien-&gt;nouveau)&quot;
		.lblColon.Label = &quot;:&quot;
		.lblDate.Label = &quot;Date de la conversion:&quot;
		.lblStockNames.Label = sStockname
		.lblStartDate.Label = sStartDate
		.lblEndDate.Label = sEndDate
		.optDaily.Label = &quot;~Quotidien&quot;
		.optWeekly.Label = &quot;~Hebdomadaire&quot;
		.hlnInterval.Label = &quot;Période&quot;
		.cmdGoOn.Label = sOk
		.cmdCancel.Label = sCancel
	End With
End Sub
</script:module>
