From 58879f4c412b68aab54b134cbb985fc4b3192d11 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 18 Sep 2004 11:55:56 +0000 Subject: [PATCH] =?UTF-8?q?Trad:=20D=E9but=20d'internationalisation=20du?= =?UTF-8?q?=20mod=E8le=20de=20facture=20crabe.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/facture/pdf_crabe.modules.php | 122 +++++++++++------- htdocs/langs/en_US/bills.lang | 8 +- htdocs/langs/en_US/main.lang | 15 ++- htdocs/langs/en_US/products.lang | 2 + htdocs/langs/fr_BE/bills.lang | 8 +- htdocs/langs/fr_BE/main.lang | 15 ++- htdocs/langs/fr_BE/products.lang | 2 + htdocs/langs/fr_FR/bills.lang | 8 +- htdocs/langs/fr_FR/main.lang | 15 ++- htdocs/langs/fr_FR/products.lang | 2 + 10 files changed, 147 insertions(+), 50 deletions(-) diff --git a/htdocs/includes/modules/facture/pdf_crabe.modules.php b/htdocs/includes/modules/facture/pdf_crabe.modules.php index ebbc8ebe428..3e0e1d4a965 100644 --- a/htdocs/includes/modules/facture/pdf_crabe.modules.php +++ b/htdocs/includes/modules/facture/pdf_crabe.modules.php @@ -54,8 +54,8 @@ class pdf_crabe extends ModelePDFFactures /*! \brief Fonction générant la facture sur le disque - \param facid id de la facture à générer - \return int 1=ok, 0=ko + \param facid id de la facture à générer + \return int 1=ok, 0=ko \remarks Variables utilisées \remarks FAC_OUTPUTDIR \remarks FAC_PDF_LOGO @@ -76,6 +76,11 @@ class pdf_crabe extends ModelePDFFactures function write_pdf_file($facid) { global $user; + global $langs; + $langs->load("main"); + $langs->load("bills"); + $langs->load("products"); + $fac = new Facture($this->db,"",$facid); $fac->fetch($facid); if (defined("FAC_OUTPUTDIR")) @@ -89,7 +94,7 @@ class pdf_crabe extends ModelePDFFactures umask(0); if (! mkdir($dir, 0755)) { - $this->error="Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer."; + $this->error=$langs->trans("ErrorCanNotCreateDir",$dir); return 0; } } @@ -104,10 +109,9 @@ class pdf_crabe extends ModelePDFFactures $this->_pagehead($pdf, $fac); $pdf->SetTitle($fac->ref); - $pdf->SetSubject("Facture"); + $pdf->SetSubject($langs->trans("Bill")); $pdf->SetCreator("Dolibarr ".DOL_VERSION); $pdf->SetAuthor($user->fullname); - //$pdf->Keywords("Facture"); $pdf->SetMargins(10, 10, 10); $pdf->SetAutoPageBreak(1,0); @@ -139,14 +143,14 @@ class pdf_crabe extends ModelePDFFactures $prodser->fetch($fac->lignes[$i]->produit_id); if ($prodser->ref) { - $codeproduitservice=" - Code produit ".$prodser->ref; + $codeproduitservice=" - ".$langs->trans("ProductCode")." ".$prodser->ref; } } if ($fac->lignes[$i]->date_start && $fac->lignes[$i]->date_end) { // Affichage durée si il y en a une - $codeproduitservice.=" (Du ".dolibarr_print_date($fac->lignes[$i]->date_start)." au ".dolibarr_print_date($fac->lignes[$i]->date_end).")"; + $codeproduitservice.=" (".$langs->trans("From")." ".dolibarr_print_date($fac->lignes[$i]->date_start)." ".$langs->trans("to")." ".dolibarr_print_date($fac->lignes[$i]->date_end).")"; } - $pdf->MultiCell(118, 5, $fac->lignes[$i]->desc."$codeproduitservice", 0, 'J'); + $pdf->MultiCell(108, 5, $fac->lignes[$i]->desc."$codeproduitservice", 0, 'J'); $nexY = $pdf->GetY(); @@ -202,8 +206,8 @@ class pdf_crabe extends ModelePDFFactures $pdf->SetXY (10, 228); $pdf->SetTextColor(200,0,0); $pdf->SetFont('Arial','B',8); - $pdf->MultiCell(90, 3, "Aucun mode de règlement défini.",0,'L',0); - $pdf->MultiCell(90, 3, "Créer un compte bancaire puis aller dans la Configuration du module facture pour définir les modes de règlement.",0,'L',0); + $pdf->MultiCell(90, 3, $langs->trans("ErrorNoPaiementModeConfigured"),0,'L',0); + $pdf->MultiCell(90, 3, $langs->trans("ErrorCreateBankAccount"),0,'L',0); $pdf->SetTextColor(0,0,0); } @@ -275,27 +279,31 @@ class pdf_crabe extends ModelePDFFactures } else { - $this->error="Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer."; + $this->error=$langs->trans("ErrorCanNotCreateDir",$dir); return 0; } } else { - $this->error="Erreur: FAC_OUTPUTDIR non défini !"; + $this->error=$langs->trans("ErrorConstantNotDefined","FAC_OUTPUTDIR"); return 0; } - $this->error="Erreur: Erreur inconnue"; + $this->error=$langs->trans("ErrorUnknown"); return 0; // Erreur par defaut } /* - * - * - * + * \brief Affiche tableau des versement + * \param pdf objet PDF + * \param fac objet facture */ function _tableau_versements(&$pdf, $fac) { + global $langs; + $langs->load("main"); + $langs->load("bills"); + $tab3_posx = 120; $tab3_top = 240; $tab3_width = 80; @@ -308,13 +316,13 @@ class pdf_crabe extends ModelePDFFactures $pdf->Rect($tab3_posx, $tab3_top-1, $tab3_width, $tab3_height); $pdf->SetXY ($tab3_posx, $tab3_top-1 ); - $pdf->MultiCell(20, 4, "Paiement", 0, 'L', 0); + $pdf->MultiCell(20, 4, $langs->trans("Payment"), 0, 'L', 0); $pdf->SetXY ($tab3_posx+21, $tab3_top-1 ); - $pdf->MultiCell(20, 4, "Montant", 0, 'L', 0); + $pdf->MultiCell(20, 4, $langs->trans("Amount"), 0, 'L', 0); $pdf->SetXY ($tab3_posx+41, $tab3_top-1 ); - $pdf->MultiCell(20, 4, "Type", 0, 'L', 0); + $pdf->MultiCell(20, 4, $langs->trans("Type"), 0, 'L', 0); $pdf->SetXY ($tab3_posx+60, $tab3_top-1 ); - $pdf->MultiCell(20, 4, "Num", 0, 'L', 0); + $pdf->MultiCell(20, 4, $langs->trans("Ref"), 0, 'L', 0); $sql = "SELECT ".$this->db->pdate("p.datep")."as date, p.amount as amount, p.fk_paiement as type, p.num_paiement as num "; $sql.= "FROM ".MAIN_DB_PREFIX."paiement as p, ".MAIN_DB_PREFIX."paiement_facture as pf "; @@ -369,15 +377,24 @@ class pdf_crabe extends ModelePDFFactures } else { - $this->error="Echec requete SQL"; + $this->error=$langs->trans("ErrorSQL")." $sql"; return 0; } } - + /* + * \brief Affiche le total à payer + * \param pdf objet PDF + * \param fac objet facture + * \param deja_regle montant deja regle + */ function _tableau_tot(&$pdf, $fac, $deja_regle) { + global $langs; + $langs->load("main"); + $langs->load("bills"); + $tab2_top = 207; $tab2_hl = 5; $tab2_height = $tab2_hl * 4; @@ -392,7 +409,7 @@ class pdf_crabe extends ModelePDFFactures // Tableau total $col1x=120; $col2x=174; $pdf->SetXY ($col1x, $tab2_top + 0); - $pdf->MultiCell($col2x-$col1x, $tab2_hl, "Total HT", 0, 'L', 0); + $pdf->MultiCell($col2x-$col1x, $tab2_hl, $langs->trans("TotalHT"), 0, 'L', 0); $pdf->SetXY ($col2x, $tab2_top + 0); $pdf->MultiCell(26, $tab2_hl, price($fac->total_ht + $fac->remise), 0, 'R', 0); @@ -419,13 +436,13 @@ class pdf_crabe extends ModelePDFFactures } $pdf->SetXY ($col1x, $tab2_top + $tab2_hl * $index); - $pdf->MultiCell($col2x-$col1x, $tab2_hl, "Total TVA", 0, 'L', 0); + $pdf->MultiCell($col2x-$col1x, $tab2_hl, $langs->trans("TotalVAT"), 0, 'L', 0); $pdf->SetXY ($col2x, $tab2_top + $tab2_hl * $index); $pdf->MultiCell(26, $tab2_hl, price($fac->total_tva), 0, 'R', 0); $pdf->SetXY ($col1x, $tab2_top + $tab2_hl * ($index+1)); - $pdf->MultiCell($col2x-$col1x, $tab2_hl, "Total TTC", 0, 'L', 1); + $pdf->MultiCell($col2x-$col1x, $tab2_hl, $langs->trans("TotalTTC"), 0, 'L', 1); $pdf->SetXY ($col2x, $tab2_top + $tab2_hl * ($index+1)); $pdf->MultiCell(26, $tab2_hl, price($fac->total_ttc), 0, 'R', 1); @@ -447,40 +464,51 @@ class pdf_crabe extends ModelePDFFactures } /* - * Grille des lignes de factures + * \brief Affiche la grille des lignes de factures + * \param pdf objet PDF */ function _tableau(&$pdf, $tab_top, $tab_height, $nexY) { + global $langs; + $langs->load("main"); + $langs->load("bills"); + $pdf->Rect( 10, $tab_top, 190, $tab_height); $pdf->line( 10, $tab_top+8, 200, $tab_top+8 ); $pdf->SetFont('Arial','',10); - $pdf->Text(11,$tab_top + 5,'Désignation'); + $pdf->Text(12,$tab_top + 5, $langs->trans("Label")); $pdf->line(120, $tab_top, 120, $tab_top + $tab_height); - $pdf->Text(122, $tab_top + 5,'TVA'); + $pdf->Text(122, $tab_top + 5, $langs->trans("VAT")); $pdf->line(132, $tab_top, 132, $tab_top + $tab_height); $pdf->Text(135, $tab_top + 5,'P.U. HT'); $pdf->line(150, $tab_top, 150, $tab_top + $tab_height); - $pdf->Text(153, $tab_top + 5,'Qté'); + $pdf->Text(153, $tab_top + 5, $langs->trans("Qty")); $pdf->line(162, $tab_top, 162, $tab_top + $tab_height); $pdf->Text(163, $tab_top + 5,'Remise'); $pdf->line(177, $tab_top, 177, $tab_top + $tab_height); - $pdf->Text(185, $tab_top + 5,'Total HT'); + $pdf->Text(185, $tab_top + 5, $langs->trans("TotalHT")); } /* - * - * + * \brief Affiche en-tête facture + * \param pdf objet PDF + * \param fac objet facture */ function _pagehead(&$pdf, $fac) { + global $conf; + global $langs; + $langs->load("main"); + $langs->load("bills"); + $pdf->SetTextColor(0,0,60); $pdf->SetFont('Arial','B',13); @@ -494,8 +522,8 @@ class pdf_crabe extends ModelePDFFactures else { $pdf->SetTextColor(200,0,0); $pdf->SetFont('Arial','B',8); - $pdf->MultiCell(80, 3, "Logo file '".FAC_PDF_LOGO."' was not found", 0, 'L'); - $pdf->MultiCell(80, 3, "Go to setup to change path to logo file.", 0, 'L'); + $pdf->MultiCell(80, 3, $langs->trans("ErrorLogoFileNotFound",FAC_PDF_LOGO), 0, 'L'); + $pdf->MultiCell(80, 3, $langs->trans("ErrorGoToModuleSetup"), 0, 'L'); } } else if (defined("FAC_PDF_INTITULE")) @@ -506,11 +534,11 @@ class pdf_crabe extends ModelePDFFactures $pdf->SetFont('Arial','B',13); $pdf->SetXY(100,5); $pdf->SetTextColor(0,0,60); - $pdf->MultiCell(100, 10, "Facture no ".$fac->ref, '' , 'R'); + $pdf->MultiCell(100, 10, $langs->trans("Bill")." ".$fac->ref, '' , 'R'); $pdf->SetFont('Arial','',12); $pdf->SetXY(100,11); $pdf->SetTextColor(0,0,60); - $pdf->MultiCell(100, 10, "Date : " . strftime("%d %b %Y", mktime()), '', 'R'); + $pdf->MultiCell(100, 10, $langs->trans("Date")." : " . dolibarr_print_date(mktime(),"%d %b %Y"), '', 'R'); /* * Emetteur @@ -519,7 +547,7 @@ class pdf_crabe extends ModelePDFFactures $pdf->SetTextColor(0,0,0); $pdf->SetFont('Arial','',8); $pdf->SetXY(10,$posy-5); - $pdf->MultiCell(66,5, "Emetteur:"); + $pdf->MultiCell(66,5, $langs->trans("BillFrom").":"); $pdf->SetXY(10,$posy); @@ -564,7 +592,7 @@ class pdf_crabe extends ModelePDFFactures $pdf->SetTextColor(0,0,0); $pdf->SetFont('Arial','',8); $pdf->SetXY(102,$posy-5); - $pdf->MultiCell(80,5, "Adressé à:"); + $pdf->MultiCell(80,5, $langs->trans("BillTo").":"); $pdf->SetFont('Arial','B',11); $fac->fetch_client(); $pdf->SetXY(102,$posy+4); @@ -579,7 +607,7 @@ class pdf_crabe extends ModelePDFFactures */ $pdf->SetTextColor(0,0,0); $pdf->SetFont('Arial','',10); - $titre = "Montants exprimés en euros"; + $titre = $langs->trans("AmountInCurrency")." ".$conf->monnaie; $pdf->Text(200 - $pdf->GetStringWidth($titre), 94, $titre); /* */ @@ -587,11 +615,17 @@ class pdf_crabe extends ModelePDFFactures } /* - * - * + * \brief Affiche le pied de page de la facture + * \param pdf objet PDF + * \param fac objet facture */ function _pagefoot(&$pdf, $fac) { + global $langs; + $langs->load("main"); + $langs->load("bills"); + $langs->load("companies"); + $footy=13; $pdf->SetFont('Arial','',8); @@ -606,13 +640,13 @@ class pdf_crabe extends ModelePDFFactures $pdf->SetY(-$footy); $pdf->SetTextColor(200,0,0); $pdf->SetFont('Arial','B',8); - $pdf->MultiCell(190, 3, "Numéro de TVA intracommunautaire pas encore configuré.",0,'L',0); - $pdf->MultiCell(190, 3, "Aller dans la Configuration générale pour le définir ou l'effacer.",0,'L',0); + $pdf->MultiCell(190, 3, $langs->trans("ErrorVATIntraNotConfigured"),0,'L',0); + $pdf->MultiCell(190, 3, $langs->trans("ErrorGoToGlobalSetup"),0,'L',0); $pdf->SetTextColor(0,0,0); } elseif (MAIN_INFO_TVAINTRA != '') { $pdf->SetY(-$footy); - $pdf->MultiCell(190, 3, "Numéro de TVA intracommunautaire : ".MAIN_INFO_TVAINTRA, 0, 'C'); + $pdf->MultiCell(190, 3, $langs->trans("TVAIntra")." : ".MAIN_INFO_TVAINTRA, 0, 'C'); } $pdf->SetXY(-10,-10); diff --git a/htdocs/langs/en_US/bills.lang b/htdocs/langs/en_US/bills.lang index cdadc443b29..6c4f2c0838f 100644 --- a/htdocs/langs/en_US/bills.lang +++ b/htdocs/langs/en_US/bills.lang @@ -19,4 +19,10 @@ BillStatusPayed=Payed BillStatusCanceled=Abandonned BillStatusValidated=Validated (need to be payed) BillStatusStarted=Started -BillStatusNotPayed=Not payed \ No newline at end of file +BillStatusNotPayed=Not payed +ErrorVATIntraNotConfigured=Intracommunautary VAT number not yet defined +ErrorNoPaiementModeConfigured=No paiment mode yet defined +ErrorCreateBankAccount=Creat a bank account then go to Setup panel of Bill module to define paiement modes +BillFrom=From +BillTo=To +AmountInCurrency=Amount in \ No newline at end of file diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index e8a234290e4..5d5957c4ff7 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -1,9 +1,15 @@ # Dolibarr language file - en_US - main charset="iso-8859-1" -Error=Fout +Error=Error ErrorForbidden=Access forbidden ErrorFileDoesNotExists=File %s does not exists ErrorCanNotCreateDir=Can not create dir %s +ErrorConstantNotDefined=Parameter %s not defined +ErrorUnknown=Unkown error +ErrorSQL=SQL Error +ErrorLogoFileNotFound=Logo file '%s' was not found +ErrorGoToGlobalSetup=Go to Global setup to fix this +ErrorGoToModuleSetup=Go to Module setup to fix this yes=yes Yes=Yes no=no @@ -56,6 +62,7 @@ Action=Action About=About WelcomeString=We are %s, and you are connected with name %s Number=Number +Numero=Numero DevelopmentTeam=Development Team Logout=Logout Setup=Setup @@ -79,9 +86,11 @@ Price=Price Amount=Amount AmountHT=Amount HT AmountTTC=Amount TTC +AmountVAT=Amount VAT Total=Total TotalHT=Total HT TotalTTC=Total TTC +TotalVAT=Total VAT Average=Average Sum=Sum Delta=Delta @@ -104,3 +113,7 @@ NotYetAvailable=Not yet available Popularity=Popularity Categories=Categories Category=Categorie +From=From +to=to +Quantity=Quantity +Qty=Qty \ No newline at end of file diff --git a/htdocs/langs/en_US/products.lang b/htdocs/langs/en_US/products.lang index 7db3b8311ef..4d0d4b6b9d3 100644 --- a/htdocs/langs/en_US/products.lang +++ b/htdocs/langs/en_US/products.lang @@ -5,6 +5,8 @@ Product=Product Service=Service NewProduct=New product NewService=New service +ProductCode=Product code +ServiceCode=Service code ProductsAndServices=Products and Services ProductsAndServicesOnSell=Products and Services on sell ProductsAndServicesNotOnSell=Products and Services out of sell diff --git a/htdocs/langs/fr_BE/bills.lang b/htdocs/langs/fr_BE/bills.lang index e2cc9143e0e..621f9d32f23 100644 --- a/htdocs/langs/fr_BE/bills.lang +++ b/htdocs/langs/fr_BE/bills.lang @@ -17,4 +17,10 @@ BillStatusPayed=Pay BillStatusCanceled=Abandonnée BillStatusValidated=Validée (à payer) BillStatusStarted=Commencé -BillStatusNotPayed=Impayé \ No newline at end of file +BillStatusNotPayed=Impayé +ErrorVATIntraNotConfigured=Numéro de TVA intracommunautaire pas encore configuré +ErrorNoPaiementModeConfigured=Aucun mode de règlement défini +ErrorCreateBankAccount=Créer un compte bancaire puis aller dans la Configuration du module facture pour définir les modes de règlement +BillFrom=Emetteur +BillTo=Adressé à +AmountInCurrency=Montants exprimés en \ No newline at end of file diff --git a/htdocs/langs/fr_BE/main.lang b/htdocs/langs/fr_BE/main.lang index fe9904b3f62..cd597f901e3 100644 --- a/htdocs/langs/fr_BE/main.lang +++ b/htdocs/langs/fr_BE/main.lang @@ -4,6 +4,12 @@ Error=Erreur ErrorForbidden=L'accès est interdit ErrorFileDoesNotExists=Le fichier %s n'existe pas ErrorCanNotCreateDir=Impossible de créer le répertoire %s +ErrorConstantNotDefined=Paramètre %s non défini +ErrorUnknown=Erreur inconnue +ErrorSQL=Erreur SQL +ErrorLogoFileNotFound=Le fichier logo '%s' n'a pas été trouvé +ErrorGoToGlobalSetup=Aller dans la Configuration générale pour corriger +ErrorGoToModuleSetup=Aller dans la Configuration du module pour corriger yes=oui Yes=Oui no=non @@ -55,6 +61,7 @@ Action=Action About=A propos WelcomeString=Nous sommes le %s, et vous êtes connectés comme %s Number=Nombre +Numero=Numéro DevelopmentTeam=Equipe de développement Logout=Deconnexion Setup=Configuration @@ -78,9 +85,11 @@ Price=Prix Amount=Montant AmountHT=Montant HT AmountTTC=Montant TTC +AmountVAT=Montant TVA Total=Total TotalHT=Total HT TotalTTC=Total TTC +TotalVAT=Total TVA Average=Moyenne Sum=Somme Delta=Ecart @@ -102,4 +111,8 @@ Summary=R NotYetAvailable=Pas encore disponible Popularity=Popularité Categories=Categories -Category=Categorie \ No newline at end of file +Category=Categorie +From=Du +to=au +Quantity=Quantité +Qty=Qté \ No newline at end of file diff --git a/htdocs/langs/fr_BE/products.lang b/htdocs/langs/fr_BE/products.lang index 2c01542c81b..85f129a8ebe 100644 --- a/htdocs/langs/fr_BE/products.lang +++ b/htdocs/langs/fr_BE/products.lang @@ -5,6 +5,8 @@ Product=Produit Service=Service NewProduct=Nouveau produit NewService=Nouveau service +ProductCode=Code produit +ServiceCode=Code service ProductsAndServices=Produits et Services ProductsAndServicesOnSell=Produits et Services en vente ProductsAndServicesNotOnSell=Produits et Services hors vente diff --git a/htdocs/langs/fr_FR/bills.lang b/htdocs/langs/fr_FR/bills.lang index c441344c49b..6ee28b06af4 100644 --- a/htdocs/langs/fr_FR/bills.lang +++ b/htdocs/langs/fr_FR/bills.lang @@ -19,4 +19,10 @@ BillStatusPayed=Pay BillStatusCanceled=Abandonnée BillStatusValidated=Validée (à payer) BillStatusStarted=Commencé -BillStatusNotPayed=Impayé \ No newline at end of file +BillStatusNotPayed=Impayé +ErrorVATIntraNotConfigured=Numéro de TVA intracommunautaire pas encore configuré +ErrorNoPaiementModeConfigured=Aucun mode de règlement défini +ErrorCreateBankAccount=Créer un compte bancaire puis aller dans la Configuration du module facture pour définir les modes de règlement +BillFrom=Emetteur +BillTo=Adressé à +AmountInCurrency=Montants exprimés en \ No newline at end of file diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang index 1d543493767..6a921faf2b5 100644 --- a/htdocs/langs/fr_FR/main.lang +++ b/htdocs/langs/fr_FR/main.lang @@ -4,6 +4,12 @@ Error=Erreur ErrorForbidden=Accès non autorisé ErrorFileDoesNotExists=Le fichier %s n'existe pas ErrorCanNotCreateDir=Impossible de créer le répertoire %s +ErrorConstantNotDefined=Paramètre %s non défini +ErrorUnknown=Erreur inconnue +ErrorSQL=Erreur SQL +ErrorLogoFileNotFound=Le fichier logo '%s' n'a pas été trouvé +ErrorGoToGlobalSetup=Aller dans la Configuration générale pour corriger +ErrorGoToModuleSetup=Aller dans la Configuration du module pour corriger yes=oui Yes=Oui no=non @@ -56,6 +62,7 @@ Action=Action About=A propos WelcomeString=Nous sommes le %s, et vous êtes connectés sous le user %s Number=Nombre +Numero=Numéro DevelopmentTeam=Equipe de développement Logout=Deconnexion Setup=Configuration @@ -79,9 +86,11 @@ Price=Prix Amount=Montant AmountHT=Montant HT AmountTTC=Montant TTC +AmountVAT=Montant TVA Total=Total TotalHT=Total HT TotalTTC=Total TTC +TotalVAT=Total TVA Average=Moyenne Sum=Somme Delta=Ecart @@ -103,4 +112,8 @@ Summary=R NotYetAvailable=Pas encore disponible Popularity=Popularité Categories=Categories -Category=Categorie \ No newline at end of file +Category=Categorie +From=Du +to=au +Quantity=Quantité +Qty=Qté \ No newline at end of file diff --git a/htdocs/langs/fr_FR/products.lang b/htdocs/langs/fr_FR/products.lang index 4ac41f07530..b93dce69bb0 100644 --- a/htdocs/langs/fr_FR/products.lang +++ b/htdocs/langs/fr_FR/products.lang @@ -5,6 +5,8 @@ Product=Produit Service=Service NewProduct=Nouveau produit NewService=Nouveau service +ProductCode=Code produit +ServiceCode=Code service ProductsAndServices=Produits et Services ProductsAndServicesOnSell=Produits et Services en vente ProductsAndServicesNotOnSell=Produits et Services hors vente