From 568d5cb5ba8f2eddc729a4b6d362f24fe6fcf1eb Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 23 Jan 2015 18:47:47 +0100 Subject: [PATCH 001/137] Fixed: Tracking number restored on PDF shipments Fixed: Translation Conflicts: htdocs/langs/en_US/agenda.lang --- ChangeLog | 1 + .../modules/expedition/doc/pdf_merou.modules.php | 16 ++++++++-------- .../expedition/doc/pdf_rouget.modules.php | 14 ++++++++++---- htdocs/expedition/class/expedition.class.php | 2 +- htdocs/langs/en_US/admin.lang | 4 ++-- htdocs/langs/en_US/agenda.lang | 4 ++-- htdocs/langs/en_US/sendings.lang | 8 ++++---- htdocs/langs/en_US/stocks.lang | 2 +- 8 files changed, 29 insertions(+), 22 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2643b444876..ace6a13363d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -17,6 +17,7 @@ English Dolibarr ChangeLog - Fix: [ bug #1783 ] SQL error when enabling 3rd party module with PostgreSQL and MySQL strict mode ON - Fix: [ bug #1717 ] Sorting unpaid invoices by amount received brings due amount - Fix: [ bug #1784 ] MOTD doesn't show up in Amarok theme +- Fix: Tracking number not visible on shipment pdf ***** ChangeLog for 3.6.2 compared to 3.6.1 ***** - Fix: fix ErrorBadValueForParamNotAString error message in price customer multiprice. diff --git a/htdocs/core/modules/expedition/doc/pdf_merou.modules.php b/htdocs/core/modules/expedition/doc/pdf_merou.modules.php index cc9d884a831..8fab26f211c 100644 --- a/htdocs/core/modules/expedition/doc/pdf_merou.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_merou.modules.php @@ -534,13 +534,18 @@ class pdf_merou extends ModelePdfExpedition // Date Expedition $Yoff = $Yoff+7; - $pdf->SetXY($blSocX-80,$blSocY+20); + $pdf->SetXY($blSocX-80,$blSocY+17); $pdf->SetFont('','B', $default_font_size - 2); $pdf->SetTextColor(0,0,0); $pdf->MultiCell(50, 8, $outputlangs->transnoentities("Date")." : " . dol_print_date($object->date_delivery,'day',false,$outputlangs,true), '', 'L'); + $pdf->SetXY($blSocX-80,$blSocY+20); + $pdf->SetFont('','B', $default_font_size - 2); + $pdf->SetTextColor(0,0,0); + $pdf->MultiCell(50, 8, $outputlangs->transnoentities("TrackingNumber")." : " . $object->tracking_number, '', 'L'); + // Deliverer - $pdf->SetXY($blSocX-80,$blSocY+23); + $pdf->SetXY($blSocX-80,$blSocY+24); $pdf->SetFont('','', $default_font_size - 2); $pdf->SetTextColor(0,0,0); @@ -554,13 +559,8 @@ class pdf_merou extends ModelePdfExpedition // Get code using getLabelFromKey $code=$outputlangs->getLabelFromKey($this->db,$object->shipping_method_id,'c_shipment_mode','rowid','code'); $label=$outputlangs->trans("SendingMethod".strtoupper($code))." :"; + $pdf->writeHTMLCell(50, 8, '', '', $label." ".$object->tracking_url, '', 'L'); } - else - { - $label=$outputlangs->transnoentities("Deliverer"); - } - - $pdf->writeHTMLCell(50, 8, '', '', $label." ".$object->tracking_url, '', 'L'); } } else diff --git a/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php b/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php index eedc4b91827..12fd723bf9b 100644 --- a/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php @@ -180,11 +180,17 @@ class pdf_rouget extends ModelePdfExpedition $tab_height = 130; $tab_height_newpage = 150; - if (! empty($object->note_public) || (! empty($object->tracking_number) && ! empty($object->shipping_method_id))) + if (! empty($object->note_public) || ! empty($object->tracking_number)) { $tab_top = 88; $tab_top_alt = $tab_top; + $pdf->SetFont('','B', $default_font_size - 2); + $pdf->writeHTMLCell(60, 4, $this->posxdesc-1, $tab_top-1, $outputlangs->transnoentities("TrackingNumber")." : " . $object->tracking_number, 0, 1, false, true, 'L'); + + $tab_top_alt = $pdf->GetY(); + //$tab_top_alt += 1; + // Tracking number if (! empty($object->tracking_number)) { @@ -198,14 +204,14 @@ class pdf_rouget extends ModelePdfExpedition $label=$outputlangs->trans("LinkToTrackYourPackage")."
"; $label.=$outputlangs->trans("SendingMethod".strtoupper($code))." :"; $pdf->SetFont('','B', $default_font_size - 2); - $pdf->writeHTMLCell(60, 7, $this->posxdesc-1, $tab_top-1, $label." ".$object->tracking_url, 0, 1, false, true, 'L'); + $pdf->writeHTMLCell(60, 4, $this->posxdesc-1, $tab_top+6, $label." ".$object->tracking_url, 0, 1, false, true, 'L'); - $tab_top_alt += 7; + $tab_top_alt = $pdf->GetY(); } } } - // Affiche notes + // Notes if (! empty($object->note_public)) { $pdf->SetFont('','', $default_font_size - 1); // Dans boucle pour gerer multi-page diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php index 1045bed42be..e120ce24a40 100644 --- a/htdocs/expedition/class/expedition.class.php +++ b/htdocs/expedition/class/expedition.class.php @@ -1494,7 +1494,7 @@ class Expedition extends CommonObject } /** - * Get tracking url status + * Forge an set tracking url * * @param string $value Value * @return void diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 2aa09fd867d..57d496bd0f4 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1374,9 +1374,9 @@ ListOfAvailableNotifications=List of available notifications (This list depends SendingsSetup=Sending module setup SendingsReceiptModel=Sending receipt model SendingsNumberingModules=Sendings numbering modules -SendingsAbility=Support sendings sheets for customer deliveries +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. -FreeLegalTextOnShippings=Free text on shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Products deliveries receipt numbering module DeliveryOrderModel=Products deliveries receipt model diff --git a/htdocs/langs/en_US/agenda.lang b/htdocs/langs/en_US/agenda.lang index 687e3cae146..52b2e8128fd 100644 --- a/htdocs/langs/en_US/agenda.lang +++ b/htdocs/langs/en_US/agenda.lang @@ -52,8 +52,8 @@ OrderSentByEMail=Customer order %s sent by EMail InvoiceSentByEMail=Customer invoice %s sent by EMail SupplierOrderSentByEMail=Supplier order %s sent by EMail SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail -ShippingSentByEMail=Shipping %s sent by EMail -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Third party created DateActionPlannedStart= Planned start date diff --git a/htdocs/langs/en_US/sendings.lang b/htdocs/langs/en_US/sendings.lang index 039d47f6aa9..861feeaf8d0 100644 --- a/htdocs/langs/en_US/sendings.lang +++ b/htdocs/langs/en_US/sendings.lang @@ -4,7 +4,7 @@ Sending=Shipment Sendings=Shipments Shipment=Shipment Shipments=Shipments -Receivings=Receivings +Receivings=Receipts SendingsArea=Shipments area ListOfSendings=List of shipments SendingMethod=Shipping method @@ -14,7 +14,7 @@ SearchASending=Search for shipment StatisticsOfSendings=Statistics for shipments NbOfSendings=Number of shipments NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Shipping card +SendingCard=Shipment card NewSending=New shipment CreateASending=Create a shipment CreateSending=Create shipment @@ -37,7 +37,7 @@ StatusSendingCanceledShort=Canceled StatusSendingDraftShort=Draft StatusSendingValidatedShort=Validated StatusSendingProcessedShort=Processed -SendingSheet=Sending sheet +SendingSheet=Shipment sheet Carriers=Carriers Carrier=Carrier CarriersArea=Carriers area @@ -58,7 +58,7 @@ SendShippingRef=Send shipment %s ActionsOnShipping=Events on shipment LinkToTrackYourPackage=Link to track your package ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is done from the order card. -RelatedShippings=Related shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters diff --git a/htdocs/langs/en_US/stocks.lang b/htdocs/langs/en_US/stocks.lang index 7a08148c9ce..63c118dd6e2 100644 --- a/htdocs/langs/en_US/stocks.lang +++ b/htdocs/langs/en_US/stocks.lang @@ -116,7 +116,7 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice From 11dd32a8fd7d7d29061145203e7a329762d8d051 Mon Sep 17 00:00:00 2001 From: Maxime Kohlhaas Date: Mon, 26 Jan 2015 23:37:25 +0100 Subject: [PATCH 002/137] FIXED Import module was not working with multi-company and importing everything in entity 1 --- htdocs/core/modules/import/import_csv.modules.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/import/import_csv.modules.php b/htdocs/core/modules/import/import_csv.modules.php index e83f812e8c4..da8d57395bc 100644 --- a/htdocs/core/modules/import/import_csv.modules.php +++ b/htdocs/core/modules/import/import_csv.modules.php @@ -607,7 +607,7 @@ class ImportCsv extends ModeleImports //var_dump($objimport->array_import_convertvalue); exit; // Build SQL request - if (empty($tablewithentity[$tablename])) + if (empty($tablewithentity_cache[$tablename])) { $sql ='INSERT INTO '.$tablename.'('.$listfields.', import_key'; if (! empty($objimport->array_import_tables_creator[0][$alias])) $sql.=', '.$objimport->array_import_tables_creator[0][$alias]; From 04f83ae4ff9feddbf567dc1c94f41b083ee03cb7 Mon Sep 17 00:00:00 2001 From: Christophe Battarel Date: Wed, 28 Jan 2015 16:19:56 +0100 Subject: [PATCH 003/137] FIX: always show fournprice select --- htdocs/core/tpl/objectline_edit.tpl.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/tpl/objectline_edit.tpl.php b/htdocs/core/tpl/objectline_edit.tpl.php index d48abbc0aa1..3f9bd972122 100644 --- a/htdocs/core/tpl/objectline_edit.tpl.php +++ b/htdocs/core/tpl/objectline_edit.tpl.php @@ -128,7 +128,7 @@ $coldisplay=-1; // We remove first td margin->enabled)) { ?> - + rights->margins->creer) { From 87b75126aa2cbc5bbe5704bd926557aceeac3a7c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 31 Jan 2015 16:52:34 +0100 Subject: [PATCH 004/137] Fix missing set into specimen --- htdocs/comm/action/class/actioncomm.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index 360f38c3f45..96135cd3569 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -1060,6 +1060,7 @@ class ActionComm extends CommonObject $this->datef=$now; $this->author=$user; $this->usermod=$user; + $this->usertodo=$user; $this->fulldayevent=0; $this->punctual=0; $this->percentage=0; From ef354834943a7af57c792a3e7d84cedca88ee8dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Sun, 1 Feb 2015 12:58:54 +0100 Subject: [PATCH 005/137] Fix: [ bug #1819 ] SQL error when searching for an invoice payment --- ChangeLog | 1 + htdocs/compta/paiement/liste.php | 17 +++++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index ace6a13363d..ab0f89efd60 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18,6 +18,7 @@ English Dolibarr ChangeLog - Fix: [ bug #1717 ] Sorting unpaid invoices by amount received brings due amount - Fix: [ bug #1784 ] MOTD doesn't show up in Amarok theme - Fix: Tracking number not visible on shipment pdf +- Fix: [ bug #1819 ] SQL error when searching for an invoice payment ***** ChangeLog for 3.6.2 compared to 3.6.1 ***** - Fix: fix ErrorBadValueForParamNotAString error message in price customer multiprice. diff --git a/htdocs/compta/paiement/liste.php b/htdocs/compta/paiement/liste.php index 6e3e1bc54ff..26f5c6eb5da 100644 --- a/htdocs/compta/paiement/liste.php +++ b/htdocs/compta/paiement/liste.php @@ -3,6 +3,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2013 Cédric Salvador + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -53,6 +54,8 @@ $limit = $conf->liste_limit; if (! $sortorder) $sortorder="DESC"; if (! $sortfield) $sortfield="p.rowid"; +$search_ref = GETPOST("search_ref",'int'); +$search_account = GETPOST("search_account",'int'); @@ -109,11 +112,13 @@ else if ($userid == -1) $sql.= " AND f.fk_user_author IS NULL"; else $sql.= " AND f.fk_user_author = ".$userid; } + + // Search criteria - if (GETPOST("search_ref")) $sql .=" AND p.rowid=".GETPOST("search_ref",'int'); - if (GETPOST("search_account") > 0) $sql .=" AND b.fk_account=".GETPOST("search_account",'int'); - if (GETPOST("search_paymenttype") != "") $sql .=" AND c.code='".GETPOST("search_paymenttype")."'"; - if (GETPOST("search_amount")) $sql .=" AND p.amount=".price2num(GETPOST("search_amount")); + if ($search_ref) $sql .=" AND p.rowid=".$search_ref; + if ($search_account > 0) $sql .=" AND b.fk_account=".$search_account; + if (GETPOST("search_paymenttype") != "") $sql .=" AND c.code='".$db->escape(GETPOST("search_paymenttype"))."'"; + if (GETPOST("search_amount")) $sql .=" AND p.amount='".$db->escape(price2num(GETPOST("search_amount")))."'"; if (GETPOST("search_company")) $sql .= natural_search('s.nom', GETPOST('search_company')); } $sql.= $db->order($sortfield,$sortorder); @@ -129,7 +134,7 @@ if ($resql) $paramlist=''; $paramlist.=(GETPOST("orphelins")?"&orphelins=1":""); - $paramlist.=($_REQUEST["search_ref"]?"&search_ref=".$_REQUEST["search_ref"]:""); + $paramlist.=($search_ref?"&search_ref=".$search_ref:""); $paramlist.=($_REQUEST["search_company"]?"&search_company=".$_REQUEST["search_company"]:""); $paramlist.=($_REQUEST["search_amount"]?"&search_amount=".$_REQUEST["search_amount"]:""); @@ -154,7 +159,7 @@ if ($resql) // Lines for filters fields print ''; print ''; - print ''; + print ''; print ''; print ' '; print ''; From 0c6364403850cb293ed92b9e1906a58b2f70862e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Sun, 1 Feb 2015 13:26:30 +0100 Subject: [PATCH 006/137] Fix: [ bug #1819 ] SQL error when searching for an invoice payment --- ChangeLog | 1 + htdocs/comm/mailing/fiche.php | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index ace6a13363d..a3b356e2436 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18,6 +18,7 @@ English Dolibarr ChangeLog - Fix: [ bug #1717 ] Sorting unpaid invoices by amount received brings due amount - Fix: [ bug #1784 ] MOTD doesn't show up in Amarok theme - Fix: Tracking number not visible on shipment pdf +- Fix: [ bug #1812 ] SQL Error message while sending emailing with PostgreSQL datatabase ***** ChangeLog for 3.6.2 compared to 3.6.1 ***** - Fix: fix ErrorBadValueForParamNotAString error message in price customer multiprice. diff --git a/htdocs/comm/mailing/fiche.php b/htdocs/comm/mailing/fiche.php index 6e7546fb70d..97f06b3d9ba 100644 --- a/htdocs/comm/mailing/fiche.php +++ b/htdocs/comm/mailing/fiche.php @@ -188,7 +188,7 @@ if (empty($reshook)) { $now=dol_now(); // Positionne date debut envoi - $sql="UPDATE ".MAIN_DB_PREFIX."mailing SET date_envoi=".$db->idate($now)." WHERE rowid=".$object->id; + $sql="UPDATE ".MAIN_DB_PREFIX."mailing SET date_envoi='".$db->idate($now)."' WHERE rowid=".$object->id; $resql2=$db->query($sql); if (! $resql2) { @@ -284,7 +284,7 @@ if (empty($reshook)) { dol_syslog("comm/mailing/fiche.php: ok for #".$i.($mail->error?' - '.$mail->error:''), LOG_DEBUG); $sql="UPDATE ".MAIN_DB_PREFIX."mailing_cibles"; - $sql.=" SET statut=1, date_envoi=".$db->idate($now)." WHERE rowid=".$obj->rowid; + $sql.=" SET statut=1, date_envoi='".$db->idate($now)."' WHERE rowid=".$obj->rowid; $resql2=$db->query($sql); if (! $resql2) { From a9ba2f317986ca4542dbdcdda07504ad0691d98d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Mon, 2 Feb 2015 11:48:57 +0100 Subject: [PATCH 007/137] Fix: [ bug #1810 ] [pgsql] Error while upgrading from 3.6 to 3.7 --- htdocs/core/db/pgsql.class.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/core/db/pgsql.class.php b/htdocs/core/db/pgsql.class.php index 7381fd77b93..58e79da87b9 100644 --- a/htdocs/core/db/pgsql.class.php +++ b/htdocs/core/db/pgsql.class.php @@ -7,6 +7,7 @@ * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Yann Droneaud * Copyright (C) 2012 Florian Henry + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -255,7 +256,7 @@ class DoliDBPgsql extends DoliDB $newreg3=preg_replace('/ NOT NULL/i','',$newreg3); $newreg3=preg_replace('/ NULL/i','',$newreg3); $newreg3=preg_replace('/ DEFAULT 0/i','',$newreg3); - $newreg3=preg_replace('/ DEFAULT \'[0-9a-zA-Z_@]*\'/i','',$newreg3); + $newreg3=preg_replace('/ DEFAULT \'?[0-9a-zA-Z_@]*\'?/i','',$newreg3); $line.= "ALTER TABLE ".$reg[1]." ALTER COLUMN ".$reg[2]." TYPE ".$newreg3; // TODO Add alter to set default value or null/not null if there is this in $reg[3] } From fb865e818490ba2008d2d44fc1a4a5737e4e5478 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Doursenaud?= Date: Mon, 2 Feb 2015 17:08:59 +0100 Subject: [PATCH 008/137] FIXED Removed deprecated forcing SSLv3 for CURL Since the Poodle vulnerability, SSLv3 has been supersedded by TLS. Many services do not offer SSLv3 anymore. CURL has also been patched in PHP so it now auto-negociates the most appropriate protocol. This prevented most API calls from working. --- htdocs/core/lib/geturl.lib.php | 1 - 1 file changed, 1 deletion(-) diff --git a/htdocs/core/lib/geturl.lib.php b/htdocs/core/lib/geturl.lib.php index 8a9ac1385be..e4c3625257d 100644 --- a/htdocs/core/lib/geturl.lib.php +++ b/htdocs/core/lib/geturl.lib.php @@ -52,7 +52,6 @@ function getURLContent($url,$postorget='GET',$param='',$followlocation=1,$addhea exit;*/ curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_VERBOSE, 1); - curl_setopt($ch, CURLOPT_SSLVERSION, 3); // Force SSLv3 curl_setopt($ch, CURLOPT_USERAGENT, 'Dolibarr geturl function'); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, ($followlocation?true:false)); From 79818e8693cff90c4c27f1c58702259d30bc10bc Mon Sep 17 00:00:00 2001 From: BENKE Charles Date: Wed, 4 Feb 2015 00:45:52 +0100 Subject: [PATCH 009/137] Update 3.6.0-3.7.0.sql update url in llx_bank_url for remplacement of fiche.php by card.php Need to made it on 3.7 branch urgently --- htdocs/install/mysql/migration/3.6.0-3.7.0.sql | 2 ++ 1 file changed, 2 insertions(+) diff --git a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql index 4421ad032eb..f278adb298f 100755 --- a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql +++ b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql @@ -1155,3 +1155,5 @@ ALTER TABLE llx_resource MODIFY COLUMN entity integer DEFAULT 1 NOT NULL; -- This request make mysql drop (mysql bug, so we add it at end): ALTER TABLE llx_product ADD CONSTRAINT fk_product_barcode_type FOREIGN KEY (fk_barcode_type) REFERENCES llx_c_barcode_type(rowid); +-- this update change the old formated url on llx_bank_url +UPDATE llx_bank_url set url = replace( url, 'fiche.php', 'card.php'); From 50ff9d2d0cb85f9bec2219c668cbcde51fca28bd Mon Sep 17 00:00:00 2001 From: BENKE Charles Date: Wed, 4 Feb 2015 02:17:37 +0100 Subject: [PATCH 010/137] Update paiement.class.php in case of sql query add error message in log instead of the screen --- htdocs/compta/paiement/class/paiement.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/compta/paiement/class/paiement.class.php b/htdocs/compta/paiement/class/paiement.class.php index b73eb490296..e3ec12af6b5 100644 --- a/htdocs/compta/paiement/class/paiement.class.php +++ b/htdocs/compta/paiement/class/paiement.class.php @@ -488,7 +488,7 @@ class Paiement extends CommonObject $fac->thirdparty->name, 'company' ); - if ($result <= 0) dol_print_error($this->db); + if ($result <= 0) dol_syslog(get_class($this).'::addPaymentToBank '.$this->db->lasterror()); $linkaddedforthirdparty[$fac->thirdparty->id]=$fac->thirdparty->id; // Mark as done for this thirdparty } } @@ -506,7 +506,7 @@ class Paiement extends CommonObject $fac->thirdparty->name, 'company' ); - if ($result <= 0) dol_print_error($this->db); + if ($result <= 0) dol_syslog(get_class($this).'::addPaymentToBank '.$this->db->lasterror()); $linkaddedforthirdparty[$fac->thirdparty->id]=$fac->thirdparty->id; // Mark as done for this thirdparty } } From eb2c5c29b787b8aa9c2a9669006ae83ab0f1f83c Mon Sep 17 00:00:00 2001 From: Arnaud Aujon Chevallier Date: Thu, 5 Feb 2015 13:33:58 +0100 Subject: [PATCH 011/137] FIXES Webservice : fk_delivery_address not saved --- htdocs/webservices/server_order.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/webservices/server_order.php b/htdocs/webservices/server_order.php index d70725b468f..8cd69b352a7 100644 --- a/htdocs/webservices/server_order.php +++ b/htdocs/webservices/server_order.php @@ -640,6 +640,7 @@ function createOrder($authentication,$order) $newobject->statut=0; // We start with status draft $newobject->facturee=$order['facturee']; $newobject->fk_project=$order['project_id']; + $newObject->fk_delivery_address=$order['fk_delivery_address']; $newobject->cond_reglement_id=$order['cond_reglement_id']; $newobject->demand_reason_id=$order['demand_reason_id']; $newobject->date_creation=$now; From 65efa7ddf76d442264c9aff8c995fecd78a6df00 Mon Sep 17 00:00:00 2001 From: Arnaud Aujon Date: Thu, 5 Feb 2015 12:05:34 +0100 Subject: [PATCH 012/137] FIXED #1824 Add ref_ext for Contact webservices Add possibility to use ref_ext to reference contact using webservice, field was present but not saved and not used to fetch object --- htdocs/contact/class/contact.class.php | 9 +++++++-- htdocs/webservices/server_contact.php | 22 ++++++++++++---------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php index 4187de7136c..a5c3764fd28 100644 --- a/htdocs/contact/class/contact.class.php +++ b/htdocs/contact/class/contact.class.php @@ -140,6 +140,7 @@ class Contact extends CommonObject $sql.= ", statut"; $sql.= ", canvas"; $sql.= ", entity"; + $sql.= ",ref_ext"; $sql.= ", import_key"; $sql.= ") VALUES ("; $sql.= "'".$this->db->idate($now)."',"; @@ -152,6 +153,7 @@ class Contact extends CommonObject $sql.= " ".$this->statut.","; $sql.= " ".(! empty($this->canvas)?"'".$this->canvas."'":"null").","; $sql.= " ".$conf->entity.","; + $sql.= "'".$this->db->escape($this->ref_ext)."',"; $sql.= " ".(! empty($this->import_key)?"'".$this->import_key."'":"null"); $sql.= ")"; @@ -496,10 +498,12 @@ class Contact extends CommonObject * * @param int $id id du contact * @param User $user Utilisateur (abonnes aux alertes) qui veut les alertes de ce contact + * @param string $ref_ext External reference, not given by Dolibarr * @return int -1 if KO, 0 if OK but not found, 1 if OK */ - function fetch($id, $user=0) + function fetch($id, $user=0, $ref_ext='') { + dol_syslog(get_class($this)."::fetch ".$this->error, LOG_ERR); global $langs; $langs->load("companies"); @@ -521,7 +525,8 @@ class Contact extends CommonObject $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_departements as d ON c.fk_departement = d.rowid"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as u ON c.rowid = u.fk_socpeople"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON c.fk_soc = s.rowid"; - $sql.= " WHERE c.rowid = ". $id; + if ($id) $sql.= " WHERE c.rowid = ". $id; + elseif ($ref_ext) $sql .= " WHERE c.ref_ext = '".$this->db->escape($ref_ext)."'"; dol_syslog(get_class($this)."::fetch sql=".$sql); $resql=$this->db->query($sql); diff --git a/htdocs/webservices/server_contact.php b/htdocs/webservices/server_contact.php index eb05665ea04..edd95566287 100644 --- a/htdocs/webservices/server_contact.php +++ b/htdocs/webservices/server_contact.php @@ -83,6 +83,7 @@ $server->wsdl->addComplexType( $contact_fields = array( 'id' => array('name'=>'id','type'=>'xsd:string'), + 'ref_ext' => array('name'=>'ref_ext','type'=>'xsd:string'), 'lastname' => array('name'=>'lastname','type'=>'xsd:string'), 'firstname' => array('name'=>'firstname','type'=>'xsd:string'), 'address' => array('name'=>'address','type'=>'xsd:string'), @@ -176,14 +177,14 @@ $styleuse='encoded'; // encoded/literal/literal wrapped $server->register( 'getContact', // Entry values - array('authentication'=>'tns:authentication','id'=>'xsd:string','ref'=>'xsd:string','ref_ext'=>'xsd:string'), + array('authentication'=>'tns:authentication','id'=>'xsd:string','ref_ext'=>'xsd:string'), // Exit values array('result'=>'tns:result','contact'=>'tns:contact'), $ns, $ns.'#getContact', $styledoc, $styleuse, - 'WS to get contact' + 'WS to get a contact' ); // Register WSDL @@ -232,16 +233,15 @@ $server->register( * Get Contact * * @param array $authentication Array of authentication information - * @param int $id Id of object - * @param string $ref Ref of object - * @param ref_ext $ref_ext Ref external of object + * @param int $id Id of object + * @param string $ref_ext Ref external of object * @return mixed */ -function getContact($authentication,$id,$ref='',$ref_ext='') +function getContact($authentication,$id,$ref_ext) { global $db,$conf,$langs; - dol_syslog("Function: getContact login=".$authentication['login']." id=".$id." ref=".$ref." ref_ext=".$ref_ext); + dol_syslog("Function: getContact login=".$authentication['login']." id=".$id." ref_ext=".$ref_ext); if ($authentication['entity']) $conf->entity=$authentication['entity']; @@ -251,10 +251,10 @@ function getContact($authentication,$id,$ref='',$ref_ext='') $error=0; $fuser=check_authentication($authentication,$error,$errorcode,$errorlabel); // Check parameters - if (! $error && (($id && $ref) || ($id && $ref_ext) || ($ref && $ref_ext))) + if (! $error && ($id && $ref_ext)) { $error++; - $errorcode='BAD_PARAMETERS'; $errorlabel="Parameter id, ref and ref_ext can't be both provided. You must choose one or other but not both."; + $errorcode='BAD_PARAMETERS'; $errorlabel="Parameter id and ref_ext can't be both provided. You must choose one or other but not both."; } if (! $error) @@ -262,7 +262,7 @@ function getContact($authentication,$id,$ref='',$ref_ext='') $fuser->getrights(); $contact=new Contact($db); - $result=$contact->fetch($id,$ref,$ref_ext); + $result=$contact->fetch($id,0,$ref_ext); if ($result > 0) { // Only internal user who have contact read permission @@ -273,6 +273,7 @@ function getContact($authentication,$id,$ref='',$ref_ext='') ){ $contact_result_fields =array( 'id' => $contact->id, + 'ref_ext' => $contact->ref_ext, 'lastname' => $contact->lastname, 'firstname' => $contact->firstname, 'address' => $contact->address, @@ -383,6 +384,7 @@ function createContact($authentication,$contact) $newobject=new Contact($db); $newobject->id=$contact['id']; + $newobject->ref_ext=$contact['ref_ext']; $newobject->civility_id=$contact['civility_id']; $newobject->lastname=$contact['lastname']; $newobject->firstname=$contact['firstname']; From b8b9df7b953e6e8ba5226cd7096433c3e57a1813 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Fri, 6 Feb 2015 12:36:09 +0100 Subject: [PATCH 013/137] Fix: [ bug #1827 ] Tax reports gives incorrect amounts when using external modules that create lines with special codes --- ChangeLog | 1 + htdocs/core/lib/tax.lib.php | 26 +++++++++----------------- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/ChangeLog b/ChangeLog index ace6a13363d..f5faea819fe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18,6 +18,7 @@ English Dolibarr ChangeLog - Fix: [ bug #1717 ] Sorting unpaid invoices by amount received brings due amount - Fix: [ bug #1784 ] MOTD doesn't show up in Amarok theme - Fix: Tracking number not visible on shipment pdf +- Fix: [ bug #1827 ] Tax reports gives incorrect amounts when using external modules that create lines with special codes ***** ChangeLog for 3.6.2 compared to 3.6.1 ***** - Fix: fix ErrorBadValueForParamNotAString error message in price customer multiprice. diff --git a/htdocs/core/lib/tax.lib.php b/htdocs/core/lib/tax.lib.php index a52aeb37345..3b7e4044227 100644 --- a/htdocs/core/lib/tax.lib.php +++ b/htdocs/core/lib/tax.lib.php @@ -3,6 +3,7 @@ * Copyright (C) 2006-2007 Yannick Warnier * Copyright (C) 2011 Regis Houssin * Copyright (C) 2012 Juanjo Menent + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -86,26 +87,18 @@ function vat_by_thirdparty($db, $y, $date_start, $date_end, $modetax, $direction global $conf; $list=array(); - //print "xx".$conf->global->MAIN_MODULE_ACCOUNTING; - //print "xx".$conf->global->MAIN_MODULE_COMPTABILITE; if ($direction == 'sell') { $invoicetable='facture'; - $invoicedettable='facturedet'; - $fk_facture='fk_facture'; - $total_tva='total_tva'; - $total_localtax1='total_localtax1'; - $total_localtax2='total_localtax2'; + $total_ht='total'; + $total_tva='tva'; } if ($direction == 'buy') { $invoicetable='facture_fourn'; - $invoicedettable='facture_fourn_det'; - $fk_facture='fk_facture_fourn'; - $total_tva='tva'; - $total_localtax1='total_localtax1'; - $total_localtax2='total_localtax2'; + $total_ht='total_ht'; + $total_tva='total_tva'; } // Define sql request @@ -125,11 +118,10 @@ function vat_by_thirdparty($db, $y, $date_start, $date_end, $modetax, $direction if (! empty($conf->global->MAIN_MODULE_COMPTABILITE)) { $sql = "SELECT s.rowid as socid, s.nom as nom, s.siren as tva_intra, s.tva_assuj as assuj,"; - $sql.= " sum(fd.total_ht) as amount, sum(fd.".$total_tva.") as tva,"; - $sql.= " sum(fd.".$total_localtax1.") as localtax1,"; - $sql.= " sum(fd.".$total_localtax2.") as localtax2"; + $sql.= " sum(f.$total_ht) as amount, sum(f.".$total_tva.") as tva,"; + $sql.= " sum(f.localtax1) as localtax1,"; + $sql.= " sum(f.localtax2) as localtax2"; $sql.= " FROM ".MAIN_DB_PREFIX.$invoicetable." as f,"; - $sql.= " ".MAIN_DB_PREFIX.$invoicedettable." as fd,"; $sql.= " ".MAIN_DB_PREFIX."societe as s"; $sql.= " WHERE f.entity = " . $conf->entity; $sql.= " AND f.fk_statut in (1,2)"; // Validated or paid (partially or completely) @@ -146,7 +138,7 @@ function vat_by_thirdparty($db, $y, $date_start, $date_end, $modetax, $direction $sql.= " AND f.datef <= '".$db->idate(dol_get_last_day($y,12,false))."'"; } if ($date_start && $date_end) $sql.= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'"; - $sql.= " AND s.rowid = f.fk_soc AND f.rowid = fd.".$fk_facture; + $sql.= " AND s.rowid = f.fk_soc"; $sql.= " GROUP BY s.rowid, s.nom, s.tva_intra, s.tva_assuj"; } } From 35d41d6f7c3780ac09a31ac1071249292d773736 Mon Sep 17 00:00:00 2001 From: phf Date: Fri, 6 Feb 2015 16:07:22 +0100 Subject: [PATCH 014/137] =?UTF-8?q?[CORE]=20Ajout=20d'un=20attribut=20(del?= =?UTF-8?q?ai=5Flivraison=5Fjours)=20=C3=A0=20l'objet=20ProductFournisseur?= =?UTF-8?q?,=20param=C3=A9trable=20lors=20d'un=20ajout/modification=20d'un?= =?UTF-8?q?=20prix=20fournisseur=20et=20s'affiche=20sur=20une=20commande?= =?UTF-8?q?=20fournisseur=20avec=20le=20plus=20grand=20d=C3=A9lai=20parmis?= =?UTF-8?q?=20la=20liste=20des=20produits=20dans=20la=20commande=20(#deliv?= =?UTF-8?q?erytime).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../class/fournisseur.commande.class.php | 28 ++++++++++++++++++- .../fourn/class/fournisseur.product.class.php | 26 +++++++++++------ htdocs/fourn/commande/card.php | 7 +++++ htdocs/langs/en_US/suppliers.lang | 4 ++- htdocs/langs/fr_FR/suppliers.lang | 2 ++ htdocs/product/fournisseurs.php | 15 +++++++--- 6 files changed, 67 insertions(+), 15 deletions(-) diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index 7f2237859ea..035386ad9f0 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -2106,7 +2106,33 @@ class CommandeFournisseur extends CommonOrder return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref); } - + /** + * Return the max number delivery delay in day + * + * @return string + */ + function getMaxDelaiLivraisonJours($langs) + { + if (empty($this->lines)) + return $langs->trans('Undefined'); + + $nb = 0; + foreach ($this->lines as $line) { + $obj = new ProductFournisseur($this->db); + $idp = $obj->find_min_price_product_fournisseur($line->fk_product, $line->qty); + if ($idp) { + $obj->fetch($idp); + if ($obj->delai_livraison_jours > $nb) + $nb = $obj->delai_livraison_jours; + } + + } + + if ($nb === 0) + return $langs->trans('Undefined'); + else + return $nb.' '.$langs->trans('Days'); + } } diff --git a/htdocs/fourn/class/fournisseur.product.class.php b/htdocs/fourn/class/fournisseur.product.class.php index cdfee4c2398..4ca15b5ade1 100755 --- a/htdocs/fourn/class/fournisseur.product.class.php +++ b/htdocs/fourn/class/fournisseur.product.class.php @@ -42,6 +42,7 @@ class ProductFournisseur extends Product var $id; // product id var $fourn_ref; // deprecated + var $delai_livraison_jours; var $ref_supplier; // ref supplier (can be set by get_buyprice) var $vatrate_supplier; // default vat rate for this supplier/qty/product (can be set by get_buyprice) @@ -155,7 +156,7 @@ class ProductFournisseur extends Product * @param int $newnpr Set NPR or not * @return int <0 if KO, >=0 if OK */ - function update_buyprice($qty, $buyprice, $user, $price_base_type, $fourn, $availability, $ref_fourn, $tva_tx, $charges=0, $remise_percent=0, $remise=0, $newnpr=0) + function update_buyprice($qty, $buyprice, $user, $price_base_type, $fourn, $availability, $ref_fourn, $tva_tx, $charges=0, $remise_percent=0, $remise=0, $newnpr=0, $delai_livraison_jours=0) { global $conf; @@ -165,6 +166,7 @@ class ProductFournisseur extends Product if (empty($charges)) $charges=0; if (empty($availability)) $availability=0; if (empty($remise_percent)) $remise_percent=0; + if (empty($delai_livraison_jours)) $delai_livraison_jours=0; if ($price_base_type == 'TTC') { //$ttx = get_default_tva($fourn,$mysoc,$this->id); // We must use the VAT rate defined by user and not calculate it @@ -198,7 +200,8 @@ class ProductFournisseur extends Product $sql.= " fk_availability = ".$availability.","; $sql.= " entity = ".$conf->entity.","; $sql.= " info_bits = ".$newnpr.","; - $sql.= " charges = ".$charges; + $sql.= " charges = ".$charges.","; + $sql.= " delai_livraison_jours = ".$delai_livraison_jours; $sql.= " WHERE rowid = ".$this->product_fourn_price_id; // TODO Add price_base_type and price_ttc @@ -241,7 +244,7 @@ class ProductFournisseur extends Product { // Add price for this quantity to supplier $sql = "INSERT INTO ".MAIN_DB_PREFIX."product_fournisseur_price("; - $sql.= "datec, fk_product, fk_soc, ref_fourn, fk_user, price, quantity, remise_percent, remise, unitprice, tva_tx, charges, unitcharges, fk_availability, info_bits, entity)"; + $sql.= "datec, fk_product, fk_soc, ref_fourn, fk_user, price, quantity, remise_percent, remise, unitprice, tva_tx, charges, unitcharges, fk_availability, info_bits, entity, delai_livraison_jours)"; $sql.= " values('".$this->db->idate($now)."',"; $sql.= " ".$this->id.","; $sql.= " ".$fourn->id.","; @@ -257,7 +260,8 @@ class ProductFournisseur extends Product $sql.= " ".$unitCharges.","; $sql.= " ".$availability.","; $sql.= " ".$newnpr.","; - $sql.= $conf->entity; + $sql.= $conf->entity.","; + $sql.= $this->delai_livraison_jours; $sql.=")"; dol_syslog(get_class($this)."::update_buyprice", LOG_DEBUG); @@ -330,7 +334,7 @@ class ProductFournisseur extends Product function fetch_product_fournisseur_price($rowid, $ignore_expression = 0) { $sql = "SELECT pfp.rowid, pfp.price, pfp.quantity, pfp.unitprice, pfp.remise_percent, pfp.remise, pfp.tva_tx, pfp.fk_availability,"; - $sql.= " pfp.fk_soc, pfp.ref_fourn, pfp.fk_product, pfp.charges, pfp.unitcharges, pfp.fk_supplier_price_expression"; // , pfp.recuperableonly as fourn_tva_npr"; FIXME this field not exist in llx_product_fournisseur_price + $sql.= " pfp.fk_soc, pfp.ref_fourn, pfp.fk_product, pfp.charges, pfp.unitcharges, pfp.fk_supplier_price_expression, pfp.delai_livraison_jours"; // , pfp.recuperableonly as fourn_tva_npr"; FIXME this field not exist in llx_product_fournisseur_price $sql.= " FROM ".MAIN_DB_PREFIX."product_fournisseur_price as pfp"; $sql.= " WHERE pfp.rowid = ".$rowid; @@ -354,6 +358,7 @@ class ProductFournisseur extends Product $this->product_id = $obj->fk_product; // deprecated $this->fk_product = $obj->fk_product; $this->fk_availability = $obj->fk_availability; + $this->delai_livraison_jours = $obj->delai_livraison_jours; //$this->fourn_tva_npr = $obj->fourn_tva_npr; // FIXME this field not exist in llx_product_fournisseur_price $this->fk_supplier_price_expression = $obj->fk_supplier_price_expression; @@ -403,7 +408,7 @@ class ProductFournisseur extends Product $sql = "SELECT s.nom as supplier_name, s.rowid as fourn_id,"; $sql.= " pfp.rowid as product_fourn_pri_id, pfp.ref_fourn, pfp.fk_product as product_fourn_id, pfp.fk_supplier_price_expression,"; - $sql.= " pfp.price, pfp.quantity, pfp.unitprice, pfp.remise_percent, pfp.remise, pfp.tva_tx, pfp.fk_availability, pfp.charges, pfp.unitcharges, pfp.info_bits"; + $sql.= " pfp.price, pfp.quantity, pfp.unitprice, pfp.remise_percent, pfp.remise, pfp.tva_tx, pfp.fk_availability, pfp.charges, pfp.unitcharges, pfp.info_bits, pfp.delai_livraison_jours"; $sql.= " FROM ".MAIN_DB_PREFIX."product_fournisseur_price as pfp"; $sql.= ", ".MAIN_DB_PREFIX."societe as s"; $sql.= " WHERE pfp.entity IN (".getEntity('product', 1).")"; @@ -431,12 +436,13 @@ class ProductFournisseur extends Product $prodfourn->fourn_remise_percent = $record["remise_percent"]; $prodfourn->fourn_remise = $record["remise"]; $prodfourn->fourn_unitprice = $record["unitprice"]; - $prodfourn->fourn_charges = $record["charges"]; - $prodfourn->fourn_unitcharges = $record["unitcharges"]; + $prodfourn->fourn_charges = $record["charges"]; + $prodfourn->fourn_unitcharges = $record["unitcharges"]; $prodfourn->fourn_tva_tx = $record["tva_tx"]; $prodfourn->fourn_id = $record["fourn_id"]; $prodfourn->fourn_name = $record["supplier_name"]; $prodfourn->fk_availability = $record["fk_availability"]; + $prodfourn->delai_livraison_jours = $record["delai_livraison_jours"]; $prodfourn->id = $prodid; $prodfourn->fourn_tva_npr = $record["info_bits"]; $prodfourn->fk_supplier_price_expression = $record["fk_supplier_price_expression"]; @@ -496,12 +502,13 @@ class ProductFournisseur extends Product $this->fourn_unitprice = ''; $this->fourn_id = ''; $this->fourn_name = ''; + $this->delai_livraison_jours = ''; $this->id = ''; $sql = "SELECT s.nom as supplier_name, s.rowid as fourn_id,"; $sql.= " pfp.rowid as product_fourn_price_id, pfp.ref_fourn,"; $sql.= " pfp.price, pfp.quantity, pfp.unitprice, pfp.tva_tx, pfp.charges, pfp.unitcharges, "; - $sql.= " pfp.remise, pfp.remise_percent, pfp.fk_supplier_price_expression"; + $sql.= " pfp.remise, pfp.remise_percent, pfp.fk_supplier_price_expression, pfp.delai_livraison_jours"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."product_fournisseur_price as pfp"; $sql.= " WHERE s.entity IN (".getEntity('societe', 1).")"; $sql.= " AND pfp.fk_product = ".$prodid; @@ -562,6 +569,7 @@ class ProductFournisseur extends Product $this->fourn_tva_tx = $record["tva_tx"]; $this->fourn_id = $record["fourn_id"]; $this->fourn_name = $record["supplier_name"]; + $this->delai_livraison_jours = $record["delai_livraison_jours"]; $this->fk_supplier_price_expression = $record["fk_supplier_price_expression"]; $this->id = $prodid; $min = $this->fourn_unitprice; diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php index fe22a154251..abdf90c60d0 100644 --- a/htdocs/fourn/commande/card.php +++ b/htdocs/fourn/commande/card.php @@ -1601,6 +1601,13 @@ elseif (! empty($object->id)) } print ''; + + // Delai livraison jours + print ''; + print ''.$langs->trans('NbDaysToDelivery').' '.img_picto($langs->trans('DescNbDaysToDelivery'), 'info', 'style="cursor:help"').''; + print ''.$object->getMaxDelaiLivraisonJours($langs).''; + print ''; + // Project if (! empty($conf->projet->enabled)) { diff --git a/htdocs/langs/en_US/suppliers.lang b/htdocs/langs/en_US/suppliers.lang index ca3a81639bf..5919ffea61e 100644 --- a/htdocs/langs/en_US/suppliers.lang +++ b/htdocs/langs/en_US/suppliers.lang @@ -41,4 +41,6 @@ ListOfSupplierProductForSupplier=List of products and prices for supplier %s< NoneOrBatchFileNeverRan=None or batch %s not ran recently SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders -MenuOrdersSupplierToBill=Supplier orders to invoice \ No newline at end of file +MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list \ No newline at end of file diff --git a/htdocs/langs/fr_FR/suppliers.lang b/htdocs/langs/fr_FR/suppliers.lang index dab237aeb2d..5ff72bb8d83 100644 --- a/htdocs/langs/fr_FR/suppliers.lang +++ b/htdocs/langs/fr_FR/suppliers.lang @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Aucun ou traitement par lot %s non exécuté réc SentToSuppliers=Envoyés aux fournisseurs ListOfSupplierOrders=Liste des commandes fournisseurs MenuOrdersSupplierToBill=Commandes fournisseurs en facture +NbDaysToDelivery=Delai de livraison en jours +DescNbDaysToDelivery=Le délai le plus long est affiché parmis la liste des produits de la commande \ No newline at end of file diff --git a/htdocs/product/fournisseurs.php b/htdocs/product/fournisseurs.php index 85e323cca51..05c5d1b652b 100644 --- a/htdocs/product/fournisseurs.php +++ b/htdocs/product/fournisseurs.php @@ -109,6 +109,7 @@ if ($action == 'updateprice' && GETPOST('cancel') <> $langs->trans("Cancel")) $tva_tx = str_replace('*','', GETPOST('tva_tx','alpha')); $tva_tx = price2num($tva_tx); $price_expression = GETPOST('eid', 'int') ? GETPOST('eid', 'int') : ''; // Discard expression if not in expression mode + $delai_livraison_jours = GETPOST('delai_livraison_jours', 'int') ? GETPOST('delai_livraison_jours', 'int') : ''; if ($tva_tx == '') { @@ -181,7 +182,7 @@ if ($action == 'updateprice' && GETPOST('cancel') <> $langs->trans("Cancel")) if (isset($_POST['ref_fourn_price_id'])) $product->fetch_product_fournisseur_price($_POST['ref_fourn_price_id']); - $ret=$product->update_buyprice($quantity, $_POST["price"], $user, $_POST["price_base_type"], $supplier, $_POST["oselDispo"], $ref_fourn, $tva_tx, $_POST["charges"], $remise_percent, $npr); + $ret=$product->update_buyprice($quantity, $_POST["price"], $user, $_POST["price_base_type"], $supplier, $_POST["oselDispo"], $ref_fourn, $tva_tx, $_POST["charges"], $remise_percent, 0, $npr, $delai_livraison_jours); if ($ret < 0) { @@ -322,7 +323,7 @@ if ($id || $ref) $supplier->fetch($socid); print $supplier->getNomUrl(1); print ''; - print ''; + print ''; print ''; } else @@ -379,8 +380,7 @@ if ($id || $ref) { print ''; } - print ''; - + print ''; // Vat rate $default_vat=''; @@ -450,6 +450,13 @@ if ($id || $ref) print ''; print ''; + + // Delai livraison jours + print ''; + print ''.$langs->trans('NbDaysToDelivery').''; + print ' '.$langs->trans('days').''; + print ''; + // Charges ???? if ($conf->global->PRODUCT_CHARGES) { From 12c7e52b7e0f016150c5e9d32b054380832b08f9 Mon Sep 17 00:00:00 2001 From: phf Date: Fri, 6 Feb 2015 16:33:58 +0100 Subject: [PATCH 015/137] [CORE] Fix : rename de la variable "delai_livraison_jours" en "delivery_time_days" (#deliverytime). --- .../class/fournisseur.commande.class.php | 12 +++------ .../fourn/class/fournisseur.product.class.php | 26 +++++++++---------- htdocs/product/fournisseurs.php | 6 ++--- 3 files changed, 20 insertions(+), 24 deletions(-) diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index 035386ad9f0..b04e258311f 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -2113,8 +2113,7 @@ class CommandeFournisseur extends CommonOrder */ function getMaxDelaiLivraisonJours($langs) { - if (empty($this->lines)) - return $langs->trans('Undefined'); + if (empty($this->lines)) return $langs->trans('Undefined'); $nb = 0; foreach ($this->lines as $line) { @@ -2122,16 +2121,13 @@ class CommandeFournisseur extends CommonOrder $idp = $obj->find_min_price_product_fournisseur($line->fk_product, $line->qty); if ($idp) { $obj->fetch($idp); - if ($obj->delai_livraison_jours > $nb) - $nb = $obj->delai_livraison_jours; + if ($obj->delivery_time_days > $nb) $nb = $obj->delivery_time_days; } } - if ($nb === 0) - return $langs->trans('Undefined'); - else - return $nb.' '.$langs->trans('Days'); + if ($nb === 0) return $langs->trans('Undefined'); + else return $nb.' '.$langs->trans('Days'); } } diff --git a/htdocs/fourn/class/fournisseur.product.class.php b/htdocs/fourn/class/fournisseur.product.class.php index 4ca15b5ade1..b78d7f2db60 100755 --- a/htdocs/fourn/class/fournisseur.product.class.php +++ b/htdocs/fourn/class/fournisseur.product.class.php @@ -42,7 +42,7 @@ class ProductFournisseur extends Product var $id; // product id var $fourn_ref; // deprecated - var $delai_livraison_jours; + var $delivery_time_days; var $ref_supplier; // ref supplier (can be set by get_buyprice) var $vatrate_supplier; // default vat rate for this supplier/qty/product (can be set by get_buyprice) @@ -156,7 +156,7 @@ class ProductFournisseur extends Product * @param int $newnpr Set NPR or not * @return int <0 if KO, >=0 if OK */ - function update_buyprice($qty, $buyprice, $user, $price_base_type, $fourn, $availability, $ref_fourn, $tva_tx, $charges=0, $remise_percent=0, $remise=0, $newnpr=0, $delai_livraison_jours=0) + function update_buyprice($qty, $buyprice, $user, $price_base_type, $fourn, $availability, $ref_fourn, $tva_tx, $charges=0, $remise_percent=0, $remise=0, $newnpr=0, $delivery_time_days=0) { global $conf; @@ -166,7 +166,7 @@ class ProductFournisseur extends Product if (empty($charges)) $charges=0; if (empty($availability)) $availability=0; if (empty($remise_percent)) $remise_percent=0; - if (empty($delai_livraison_jours)) $delai_livraison_jours=0; + if (empty($delivery_time_days)) $delivery_time_days=0; if ($price_base_type == 'TTC') { //$ttx = get_default_tva($fourn,$mysoc,$this->id); // We must use the VAT rate defined by user and not calculate it @@ -201,7 +201,7 @@ class ProductFournisseur extends Product $sql.= " entity = ".$conf->entity.","; $sql.= " info_bits = ".$newnpr.","; $sql.= " charges = ".$charges.","; - $sql.= " delai_livraison_jours = ".$delai_livraison_jours; + $sql.= " delivery_time_days = ".$delivery_time_days; $sql.= " WHERE rowid = ".$this->product_fourn_price_id; // TODO Add price_base_type and price_ttc @@ -244,7 +244,7 @@ class ProductFournisseur extends Product { // Add price for this quantity to supplier $sql = "INSERT INTO ".MAIN_DB_PREFIX."product_fournisseur_price("; - $sql.= "datec, fk_product, fk_soc, ref_fourn, fk_user, price, quantity, remise_percent, remise, unitprice, tva_tx, charges, unitcharges, fk_availability, info_bits, entity, delai_livraison_jours)"; + $sql.= "datec, fk_product, fk_soc, ref_fourn, fk_user, price, quantity, remise_percent, remise, unitprice, tva_tx, charges, unitcharges, fk_availability, info_bits, entity, delivery_time_days)"; $sql.= " values('".$this->db->idate($now)."',"; $sql.= " ".$this->id.","; $sql.= " ".$fourn->id.","; @@ -261,7 +261,7 @@ class ProductFournisseur extends Product $sql.= " ".$availability.","; $sql.= " ".$newnpr.","; $sql.= $conf->entity.","; - $sql.= $this->delai_livraison_jours; + $sql.= $this->delivery_time_days; $sql.=")"; dol_syslog(get_class($this)."::update_buyprice", LOG_DEBUG); @@ -334,7 +334,7 @@ class ProductFournisseur extends Product function fetch_product_fournisseur_price($rowid, $ignore_expression = 0) { $sql = "SELECT pfp.rowid, pfp.price, pfp.quantity, pfp.unitprice, pfp.remise_percent, pfp.remise, pfp.tva_tx, pfp.fk_availability,"; - $sql.= " pfp.fk_soc, pfp.ref_fourn, pfp.fk_product, pfp.charges, pfp.unitcharges, pfp.fk_supplier_price_expression, pfp.delai_livraison_jours"; // , pfp.recuperableonly as fourn_tva_npr"; FIXME this field not exist in llx_product_fournisseur_price + $sql.= " pfp.fk_soc, pfp.ref_fourn, pfp.fk_product, pfp.charges, pfp.unitcharges, pfp.fk_supplier_price_expression, pfp.delivery_time_days"; // , pfp.recuperableonly as fourn_tva_npr"; FIXME this field not exist in llx_product_fournisseur_price $sql.= " FROM ".MAIN_DB_PREFIX."product_fournisseur_price as pfp"; $sql.= " WHERE pfp.rowid = ".$rowid; @@ -358,7 +358,7 @@ class ProductFournisseur extends Product $this->product_id = $obj->fk_product; // deprecated $this->fk_product = $obj->fk_product; $this->fk_availability = $obj->fk_availability; - $this->delai_livraison_jours = $obj->delai_livraison_jours; + $this->delivery_time_days = $obj->delivery_time_days; //$this->fourn_tva_npr = $obj->fourn_tva_npr; // FIXME this field not exist in llx_product_fournisseur_price $this->fk_supplier_price_expression = $obj->fk_supplier_price_expression; @@ -408,7 +408,7 @@ class ProductFournisseur extends Product $sql = "SELECT s.nom as supplier_name, s.rowid as fourn_id,"; $sql.= " pfp.rowid as product_fourn_pri_id, pfp.ref_fourn, pfp.fk_product as product_fourn_id, pfp.fk_supplier_price_expression,"; - $sql.= " pfp.price, pfp.quantity, pfp.unitprice, pfp.remise_percent, pfp.remise, pfp.tva_tx, pfp.fk_availability, pfp.charges, pfp.unitcharges, pfp.info_bits, pfp.delai_livraison_jours"; + $sql.= " pfp.price, pfp.quantity, pfp.unitprice, pfp.remise_percent, pfp.remise, pfp.tva_tx, pfp.fk_availability, pfp.charges, pfp.unitcharges, pfp.info_bits, pfp.delivery_time_days"; $sql.= " FROM ".MAIN_DB_PREFIX."product_fournisseur_price as pfp"; $sql.= ", ".MAIN_DB_PREFIX."societe as s"; $sql.= " WHERE pfp.entity IN (".getEntity('product', 1).")"; @@ -442,7 +442,7 @@ class ProductFournisseur extends Product $prodfourn->fourn_id = $record["fourn_id"]; $prodfourn->fourn_name = $record["supplier_name"]; $prodfourn->fk_availability = $record["fk_availability"]; - $prodfourn->delai_livraison_jours = $record["delai_livraison_jours"]; + $prodfourn->delivery_time_days = $record["delivery_time_days"]; $prodfourn->id = $prodid; $prodfourn->fourn_tva_npr = $record["info_bits"]; $prodfourn->fk_supplier_price_expression = $record["fk_supplier_price_expression"]; @@ -502,13 +502,13 @@ class ProductFournisseur extends Product $this->fourn_unitprice = ''; $this->fourn_id = ''; $this->fourn_name = ''; - $this->delai_livraison_jours = ''; + $this->delivery_time_days = ''; $this->id = ''; $sql = "SELECT s.nom as supplier_name, s.rowid as fourn_id,"; $sql.= " pfp.rowid as product_fourn_price_id, pfp.ref_fourn,"; $sql.= " pfp.price, pfp.quantity, pfp.unitprice, pfp.tva_tx, pfp.charges, pfp.unitcharges, "; - $sql.= " pfp.remise, pfp.remise_percent, pfp.fk_supplier_price_expression, pfp.delai_livraison_jours"; + $sql.= " pfp.remise, pfp.remise_percent, pfp.fk_supplier_price_expression, pfp.delivery_time_days"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."product_fournisseur_price as pfp"; $sql.= " WHERE s.entity IN (".getEntity('societe', 1).")"; $sql.= " AND pfp.fk_product = ".$prodid; @@ -569,7 +569,7 @@ class ProductFournisseur extends Product $this->fourn_tva_tx = $record["tva_tx"]; $this->fourn_id = $record["fourn_id"]; $this->fourn_name = $record["supplier_name"]; - $this->delai_livraison_jours = $record["delai_livraison_jours"]; + $this->delivery_time_days = $record["delivery_time_days"]; $this->fk_supplier_price_expression = $record["fk_supplier_price_expression"]; $this->id = $prodid; $min = $this->fourn_unitprice; diff --git a/htdocs/product/fournisseurs.php b/htdocs/product/fournisseurs.php index 05c5d1b652b..97ee64092a2 100644 --- a/htdocs/product/fournisseurs.php +++ b/htdocs/product/fournisseurs.php @@ -109,7 +109,7 @@ if ($action == 'updateprice' && GETPOST('cancel') <> $langs->trans("Cancel")) $tva_tx = str_replace('*','', GETPOST('tva_tx','alpha')); $tva_tx = price2num($tva_tx); $price_expression = GETPOST('eid', 'int') ? GETPOST('eid', 'int') : ''; // Discard expression if not in expression mode - $delai_livraison_jours = GETPOST('delai_livraison_jours', 'int') ? GETPOST('delai_livraison_jours', 'int') : ''; + $delivery_time_days = GETPOST('delivery_time_days', 'int') ? GETPOST('delivery_time_days', 'int') : ''; if ($tva_tx == '') { @@ -182,7 +182,7 @@ if ($action == 'updateprice' && GETPOST('cancel') <> $langs->trans("Cancel")) if (isset($_POST['ref_fourn_price_id'])) $product->fetch_product_fournisseur_price($_POST['ref_fourn_price_id']); - $ret=$product->update_buyprice($quantity, $_POST["price"], $user, $_POST["price_base_type"], $supplier, $_POST["oselDispo"], $ref_fourn, $tva_tx, $_POST["charges"], $remise_percent, 0, $npr, $delai_livraison_jours); + $ret=$product->update_buyprice($quantity, $_POST["price"], $user, $_POST["price_base_type"], $supplier, $_POST["oselDispo"], $ref_fourn, $tva_tx, $_POST["charges"], $remise_percent, 0, $npr, $delivery_time_days); if ($ret < 0) { @@ -454,7 +454,7 @@ if ($id || $ref) // Delai livraison jours print ''; print ''.$langs->trans('NbDaysToDelivery').''; - print ' '.$langs->trans('days').''; + print ' '.$langs->trans('days').''; print ''; // Charges ???? From 0e74dd4b95c662f621f978487b547d9f3a7916e3 Mon Sep 17 00:00:00 2001 From: phf Date: Fri, 6 Feb 2015 16:35:19 +0100 Subject: [PATCH 016/137] [CORE] ajout de la colonne "delivery_time_days" en bdd (#deliverytime). --- htdocs/install/mysql/migration/3.7.0-3.8.0.sql | 2 ++ 1 file changed, 2 insertions(+) diff --git a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql index 60d0e0660da..3c58af858a4 100755 --- a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql +++ b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql @@ -96,3 +96,5 @@ create table llx_contratdet_extrafields )ENGINE=innodb; ALTER TABLE llx_contratdet_extrafields ADD INDEX idx_contratdet_extrafields (fk_object); + +ALTER TABLE llx_product_fournisseur_price ADD COLUMN delivery_time_days integer; From 1d9a3e0ce2c7b009a622768669aa7d59bfa52f96 Mon Sep 17 00:00:00 2001 From: phf Date: Fri, 6 Feb 2015 16:39:54 +0100 Subject: [PATCH 017/137] [CORE] Fix : renommage d'une fonction (#deliverytime). --- htdocs/fourn/class/fournisseur.commande.class.php | 4 ++-- htdocs/fourn/commande/card.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index b04e258311f..d33c20189b0 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -2110,8 +2110,8 @@ class CommandeFournisseur extends CommonOrder * Return the max number delivery delay in day * * @return string - */ - function getMaxDelaiLivraisonJours($langs) + */ + function getMaxDeliveryTimeDay($langs) { if (empty($this->lines)) return $langs->trans('Undefined'); diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php index abdf90c60d0..ed276d7b328 100644 --- a/htdocs/fourn/commande/card.php +++ b/htdocs/fourn/commande/card.php @@ -1605,7 +1605,7 @@ elseif (! empty($object->id)) // Delai livraison jours print ''; print ''.$langs->trans('NbDaysToDelivery').' '.img_picto($langs->trans('DescNbDaysToDelivery'), 'info', 'style="cursor:help"').''; - print ''.$object->getMaxDelaiLivraisonJours($langs).''; + print ''.$object->getMaxDeliveryTimeDay($langs).''; print ''; // Project From 7cc9a09f99fcd673bb0ba830bd89b1b014585382 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 7 Feb 2015 03:29:33 +0100 Subject: [PATCH 018/137] Fix bad order --- htdocs/projet/class/project.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index 796aa1fa89d..5c54cae4174 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -770,7 +770,7 @@ class Project extends CommonObject if ($statut == 1) return $langs->trans($this->statuts_short[$statut]) . ' ' . img_picto($langs->trans($this->statuts_short[$statut]), 'statut4'); if ($statut == 2) - return img_picto($langs->trans($this->statuts_short[$statut]), 'statut6') . ' ' . $langs->trans($this->statuts_short[$statut]); + return $langs->trans($this->statuts_short[$statut]) . ' ' . img_picto($langs->trans($this->statuts_short[$statut]), 'statut6'); } } From c5269eb0a55e06e131fe99656de7ed1334222dff Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 7 Feb 2015 04:04:56 +0100 Subject: [PATCH 019/137] Fix: back to project page --- htdocs/projet/tasks.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/htdocs/projet/tasks.php b/htdocs/projet/tasks.php index 850b76bd3b3..1b69fd5757e 100644 --- a/htdocs/projet/tasks.php +++ b/htdocs/projet/tasks.php @@ -133,8 +133,7 @@ if ($action == 'createtask' && $user->rights->projet->creer) } else { - setEventMessage($task->error,'errors'); - setEventMessage($task->errors,'errors'); + setEventMessages($task->error,$task->errors,'errors'); } } @@ -150,6 +149,7 @@ if ($action == 'createtask' && $user->rights->projet->creer) header("Location: ".DOL_URL_ROOT.'/projet/tasks/index.php'.(empty($mode)?'':'?mode='.$mode)); exit; } + $id = $projectid; } } else @@ -168,9 +168,10 @@ if ($action == 'createtask' && $user->rights->projet->creer) } } + /* * View -*/ + */ $form=new Form($db); $formother=new FormOther($db); From 71b9098a44c96017c50f28e003697e6bb1a403d3 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Sat, 7 Feb 2015 06:42:36 +0100 Subject: [PATCH 020/137] Fix : Typo on merge --- htdocs/core/datepicker.php | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/htdocs/core/datepicker.php b/htdocs/core/datepicker.php index efa7b753101..c1918ed6247 100644 --- a/htdocs/core/datepicker.php +++ b/htdocs/core/datepicker.php @@ -194,10 +194,6 @@ function displayBox($selectedDate,$month,$year) echo '', $langs->trans($day_names[($i + $startday) % 7]), '', "\n"; } ?> -<<<<<<< HEAD -======= - ->>>>>>> refs/remotes/origin/3.7 Date: Sat, 7 Feb 2015 10:48:03 +0100 Subject: [PATCH 021/137] FIX: select DISTINCT for natural search on proposal list (in the same way it's done in invoices list) --- htdocs/comm/propal/list.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php index d45718b5daf..33748025edc 100644 --- a/htdocs/comm/propal/list.php +++ b/htdocs/comm/propal/list.php @@ -141,7 +141,9 @@ if (! $sortorder) $sortorder='DESC'; $limit = $conf->liste_limit; -$sql = 'SELECT s.rowid, s.nom, s.town, s.client, s.code_client,'; +if (! $sall) $sql = 'SELECT'; +else $sql = 'SELECT DISTINCT'; +$sql.= ' s.rowid, s.nom, s.town, s.client, s.code_client,'; $sql.= ' p.rowid as propalid, p.note_private, p.total_ht, p.ref, p.ref_client, p.fk_statut, p.fk_user_author, p.datep as dp, p.fin_validite as dfv,'; if (! $user->rights->societe->client->voir && ! $socid) $sql .= " sc.fk_soc, sc.fk_user,"; $sql.= ' u.login'; From ba78b4c5e95cfd5b815ec479d33d4068b2a3a4fa Mon Sep 17 00:00:00 2001 From: aspangaro Date: Sat, 7 Feb 2015 14:18:02 +0100 Subject: [PATCH 022/137] FIXED Missing language file --- htdocs/compta/tva/clients.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/compta/tva/clients.php b/htdocs/compta/tva/clients.php index c2620fd34df..5d8dce0fd73 100644 --- a/htdocs/compta/tva/clients.php +++ b/htdocs/compta/tva/clients.php @@ -35,6 +35,7 @@ $langs->load("bills"); $langs->load("compta"); $langs->load("companies"); $langs->load("products"); +$langs->load("other"); // Date range $year=GETPOST("year"); From ace524056e221372d198b3a975eea7a01bb75889 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Sat, 7 Feb 2015 14:34:04 +0100 Subject: [PATCH 023/137] Same problem --- htdocs/compta/tva/quadri_detail.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/compta/tva/quadri_detail.php b/htdocs/compta/tva/quadri_detail.php index 681448e901e..f551e92cb9d 100644 --- a/htdocs/compta/tva/quadri_detail.php +++ b/htdocs/compta/tva/quadri_detail.php @@ -41,6 +41,7 @@ $langs->load("bills"); $langs->load("compta"); $langs->load("companies"); $langs->load("products"); +$langs->load("other"); // Date range $year=GETPOST("year"); From f23212eb22082b7e8ce933d4ba4ee0ed35b6e9bb Mon Sep 17 00:00:00 2001 From: aspangaro Date: Sat, 7 Feb 2015 14:55:56 +0100 Subject: [PATCH 024/137] Center title column & modify language key --- htdocs/compta/resultat/index.php | 8 ++++---- htdocs/langs/en_US/compta.lang | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/htdocs/compta/resultat/index.php b/htdocs/compta/resultat/index.php index b586241c11e..83ad1495a9f 100644 --- a/htdocs/compta/resultat/index.php +++ b/htdocs/compta/resultat/index.php @@ -22,7 +22,7 @@ /** * \file htdocs/compta/resultat/index.php - * \brief Page reporting resultat + * \brief Page reporting result */ require '../../main.inc.php'; @@ -570,8 +570,8 @@ print ''; print ''.$langs->trans("Month").''; for ($annee = $year_start ; $annee <= $year_end ; $annee++) { - print ''.$langs->trans("Outcome").''; - print ''.$langs->trans("Income").''; + print ''.$langs->trans("Outcome").''; + print ''.$langs->trans("Income").''; } print ''; @@ -634,7 +634,7 @@ print "\n"; // Balance $var=!$var; -print ''.$langs->trans("Profit").''; +print ''.$langs->trans("AccountingResult").''; for ($annee = $year_start ; $annee <= $year_end ; $annee++) { print ' '; diff --git a/htdocs/langs/en_US/compta.lang b/htdocs/langs/en_US/compta.lang index 89a32876dc3..65b5c1c1bb9 100644 --- a/htdocs/langs/en_US/compta.lang +++ b/htdocs/langs/en_US/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Turnover PaymentsNotLinkedToInvoice=Payments not linked to any invoice, so not linked to any third party PaymentsNotLinkedToUser=Payments not linked to any user Profit=Profit +AccountingResult=Accounting Result Balance=Balance Debit=Debit Credit=Credit From 63dd237b850001c10eee5abaf3cd062832d33fab Mon Sep 17 00:00:00 2001 From: aspangaro Date: Sat, 7 Feb 2015 15:21:30 +0100 Subject: [PATCH 025/137] Typo --- htdocs/langs/en_US/compta.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/langs/en_US/compta.lang b/htdocs/langs/en_US/compta.lang index 65b5c1c1bb9..116b2c52fa8 100644 --- a/htdocs/langs/en_US/compta.lang +++ b/htdocs/langs/en_US/compta.lang @@ -29,7 +29,7 @@ ReportTurnover=Turnover PaymentsNotLinkedToInvoice=Payments not linked to any invoice, so not linked to any third party PaymentsNotLinkedToUser=Payments not linked to any user Profit=Profit -AccountingResult=Accounting Result +AccountingResult=Accounting result Balance=Balance Debit=Debit Credit=Credit From 90fdc29d5ecea60c8070577ae4316bde83018417 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 7 Feb 2015 17:41:20 +0100 Subject: [PATCH 026/137] Fix restore compatibility --- htdocs/core/class/extrafields.class.php | 32 ++++++++++++++++++------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index 30c97e9f1ef..1c7c3ffb634 100644 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -100,7 +100,7 @@ class ExtraFields * @param int $type Type of attribute ('int', 'text', 'varchar', 'date', 'datehour') * @param int $pos Position of attribute * @param int $size Size/length of attribute - * @param string $elementtype Element type ('member', 'product', 'company', ...) + * @param string $elementtype Element type ('member', 'product', 'thirdparty', ...) * @param int $unique Is field unique or not * @param int $required Is field required or not * @param string $default_value Defaulted value @@ -113,6 +113,8 @@ class ExtraFields if (empty($attrname)) return -1; if (empty($label)) return -1; + if ($elementtype == 'thirdparty') $elementtype='societe'; + // Create field into database except for separator type which is not stored in database if ($type != 'separate') { @@ -145,7 +147,7 @@ class ExtraFields * @param string $attrname code of attribute * @param int $type Type of attribute ('int', 'text', 'varchar', 'date', 'datehour') * @param int $length Size/length of attribute - * @param string $elementtype Element type ('member', 'product', 'company', 'contact', ...) + * @param string $elementtype Element type ('member', 'product', 'thirdparty', 'contact', ...) * @param int $unique Is field unique or not * @param int $required Is field required or not * @param string $default_value Default value for field @@ -155,6 +157,8 @@ class ExtraFields */ private function create($attrname, $type='varchar', $length=255, $elementtype='member', $unique=0, $required=0, $default_value='',$param='') { + if ($elementtype == 'thirdparty') $elementtype='societe'; + $table=$elementtype.'_extrafields'; if (! empty($attrname) && preg_match("/^\w[a-zA-Z0-9_]*$/",$attrname) && ! is_numeric($attrname)) @@ -216,7 +220,7 @@ class ExtraFields * @param int $type Type of attribute ('int', 'text', 'varchar', 'date', 'datehour', 'float') * @param int $pos Position of attribute * @param int $size Size/length of attribute - * @param string $elementtype Element type ('member', 'product', 'company', ...) + * @param string $elementtype Element type ('member', 'product', 'thirdparty', ...) * @param int $unique Is field unique or not * @param int $required Is field required or not * @param array||string $param Params for field (ex for select list : array('options' => array(value'=>'label of option')) ) @@ -227,6 +231,8 @@ class ExtraFields { global $conf; + if ($elementtype == 'thirdparty') $elementtype='societe'; + // Clean parameters if (empty($pos)) $pos=0; @@ -277,11 +283,13 @@ class ExtraFields * Delete an optional attribute * * @param string $attrname Code of attribute to delete - * @param string $elementtype Element type ('member', 'product', 'company', 'contact', ...) + * @param string $elementtype Element type ('member', 'product', 'thirdparty', 'contact', ...) * @return int < 0 if KO, 0 if nothing is done, 1 if OK */ function delete($attrname, $elementtype='member') { + if ($elementtype == 'thirdparty') $elementtype='societe'; + $table=$elementtype.'_extrafields'; if (! empty($attrname) && preg_match("/^\w[a-zA-Z0-9-_]*$/",$attrname)) @@ -307,13 +315,15 @@ class ExtraFields * Delete description of an optional attribute * * @param string $attrname Code of attribute to delete - * @param string $elementtype Element type ('member', 'product', 'company', ...) + * @param string $elementtype Element type ('member', 'product', 'thirdparty', ...) * @return int < 0 if KO, 0 if nothing is done, 1 if OK */ private function delete_label($attrname, $elementtype='member') { global $conf; + if ($elementtype == 'thirdparty') $elementtype='societe'; + if (isset($attrname) && $attrname != '' && preg_match("/^\w[a-zA-Z0-9-_]*$/",$attrname)) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."extrafields"; @@ -347,7 +357,7 @@ class ExtraFields * @param string $label Label of attribute * @param string $type Type of attribute * @param int $length Length of attribute - * @param string $elementtype Element type ('member', 'product', 'company', 'contact', ...) + * @param string $elementtype Element type ('member', 'product', 'thirdparty', 'contact', ...) * @param int $unique Is field unique or not * @param int $required Is field required or not * @param int $pos Position of attribute @@ -357,6 +367,8 @@ class ExtraFields */ function update($attrname,$label,$type,$length,$elementtype,$unique=0,$required=0,$pos=0,$param='',$alwayseditable=0) { + if ($elementtype == 'thirdparty') $elementtype='societe'; + $table=$elementtype.'_extrafields'; if (isset($attrname) && $attrname != '' && preg_match("/^\w[a-zA-Z0-9-_]*$/",$attrname)) @@ -433,7 +445,7 @@ class ExtraFields * @param string $label Label of attribute * @param string $type Type of attribute * @param int $size Length of attribute - * @param string $elementtype Element type ('member', 'product', 'company', ...) + * @param string $elementtype Element type ('member', 'product', 'thirdparty', ...) * @param int $unique Is field unique or not * @param int $required Is field required or not * @param int $pos Position of attribute @@ -446,6 +458,8 @@ class ExtraFields global $conf; dol_syslog(get_class($this)."::update_label ".$attrname.", ".$label.", ".$type.", ".$size.", ".$elementtype.", ".$unique.", ".$required); + if ($elementtype == 'thirdparty') $elementtype='societe'; + if (isset($attrname) && $attrname != '' && preg_match("/^\w[a-zA-Z0-9-_]*$/",$attrname)) { $this->db->begin(); @@ -513,7 +527,7 @@ class ExtraFields /** * Load array this->attribute_xxx like attribute_label, attribute_type, ... * - * @param string $elementtype Type of element ('adherent', 'commande', societe', 'facture', 'propal', 'product', ...) + * @param string $elementtype Type of element ('adherent', 'commande', thirdparty', 'facture', 'propal', 'product', ...) * @param boolean $forceload Force load of extra fields whatever is option MAIN_EXTRAFIELDS_DISABLED * @return array Array of attributes for all extra fields */ @@ -521,6 +535,8 @@ class ExtraFields { global $conf; + if ($elementtype == 'thirdparty') $elementtype='societe'; + $array_name_label=array(); // For avoid conflicts with external modules From 64963ef9bde0e0babb56e9fe91b71335487089b1 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 7 Feb 2015 19:12:22 +0100 Subject: [PATCH 027/137] Fix: the syslog handler for chromphp an fiefoxphp was not visible when they should not. --- htdocs/admin/syslog.php | 29 +- .../modules/syslog/mod_syslog_chromephp.php | 21 +- .../core/modules/syslog/mod_syslog_file.php | 4 +- .../modules/syslog/mod_syslog_firephp.php | 6 +- .../core/modules/syslog/mod_syslog_syslog.php | 6 +- htdocs/includes/chromephp/ChromePhp.php | 446 ++++++++++++++++++ htdocs/includes/chromephp/README.md | 23 + htdocs/includes/chromephp/composer.json | 24 + htdocs/langs/en_US/admin.lang | 1 + 9 files changed, 532 insertions(+), 28 deletions(-) create mode 100644 htdocs/includes/chromephp/ChromePhp.php create mode 100644 htdocs/includes/chromephp/README.md create mode 100644 htdocs/includes/chromephp/composer.json diff --git a/htdocs/admin/syslog.php b/htdocs/admin/syslog.php index 18de8bf6bfc..c1fc11add9b 100644 --- a/htdocs/admin/syslog.php +++ b/htdocs/admin/syslog.php @@ -81,33 +81,32 @@ if ($action == 'set') { $db->begin(); - $activeModules = array(); + $newActiveModules = array(); $selectedModules = (isset($_POST['SYSLOG_HANDLERS']) ? $_POST['SYSLOG_HANDLERS'] : array()); - - foreach ($selectedModules as $syslogHandler) + //var_dump($selectedModules); + foreach ($syslogModules as $syslogHandler) { if (in_array($syslogHandler, $syslogModules)) { $module = new $syslogHandler; - if ($module->isActive()) + if (in_array($syslogHandler, $selectedModules)) $newActiveModules[] = $syslogHandler; + foreach ($module->configure() as $option) { - $activeModules[] = $syslogHandler; - - foreach ($module->configure() as $option) + if (isset($_POST[$option['constant']])) { - if ($_POST[$option['constant']]) - { - dolibarr_del_const($db, $option['constant'], 0); - dolibarr_set_const($db, $option['constant'], $_POST[$option['constant']], 'chaine',0, '', 0); - } + $_POST[$option['constant']] = trim($_POST[$option['constant']]); + dolibarr_del_const($db, $option['constant'], 0); + dolibarr_set_const($db, $option['constant'], $_POST[$option['constant']], 'chaine',0, '', 0); } } } } + $activeModules = $newActiveModules; dolibarr_set_const($db, 'SYSLOG_HANDLERS', json_encode($activeModules), 'chaine',0,'',0); + if (! $error) { $db->commit(); @@ -165,6 +164,9 @@ if ($conf->global->MAIN_MODULE_MULTICOMPANY && $user->entity) $option = 'disabled="disabled"'; } + +//print "conf->global->MAIN_FEATURES_LEVEL = ".$conf->global->MAIN_FEATURES_LEVEL."

\n"; + // Output mode print_titre($langs->trans("SyslogOutput")); @@ -190,7 +192,7 @@ foreach ($syslogModules as $moduleName) $var=!$var; print ''; print ''; - print ' '; + print ' '; print $module->getName(); print ''; @@ -205,6 +207,7 @@ foreach ($syslogModules as $moduleName) else $value = (isset($option['default']) ? $option['default'] : ''); print $option['name'].': '; + if (! empty($option['example'])) print '
'.$langs->trans("Example").': '.$option['example']; } } print ''; diff --git a/htdocs/core/modules/syslog/mod_syslog_chromephp.php b/htdocs/core/modules/syslog/mod_syslog_chromephp.php index 06d37dfa431..ca257e6b0f6 100644 --- a/htdocs/core/modules/syslog/mod_syslog_chromephp.php +++ b/htdocs/core/modules/syslog/mod_syslog_chromephp.php @@ -42,7 +42,7 @@ class mod_syslog_chromephp extends LogHandler implements LogHandlerInterface /** * Is the module active ? * - * @return boolean + * @return int */ public function isActive() { @@ -51,8 +51,13 @@ class mod_syslog_chromephp extends LogHandler implements LogHandlerInterface { if (empty($conf->global->SYSLOG_CHROMEPHP_INCLUDEPATH)) $conf->global->SYSLOG_CHROMEPHP_INCLUDEPATH='/usr/share/php'; set_include_path($conf->global->SYSLOG_CHROMEPHP_INCLUDEPATH); - $res = @include_once 'ChromePhp.class.php'; + + //print 'rrrrr'.get_include_path(); + $res = include_once('ChromePhp.php'); + if (! $res) $res=@include_once('ChromePhp.class.php'); + restore_include_path(); + if ($res) { return 1; @@ -77,10 +82,11 @@ class mod_syslog_chromephp extends LogHandler implements LogHandlerInterface return array( array( - 'name' => $langs->trans('IncludePath'), + 'name' => $langs->trans('IncludePath','SYSLOG_CHROMEPHP_INCLUDEPATH'), 'constant' => 'SYSLOG_CHROMEPHP_INCLUDEPATH', 'default' => '/usr/share/php', - 'attr' => 'size="40"' + 'attr' => 'size="60"', + 'example' => DOL_DOCUMENT_ROOT.'/includes/chromephp' ) ); } @@ -92,16 +98,17 @@ class mod_syslog_chromephp extends LogHandler implements LogHandlerInterface */ public function checkConfiguration() { - global $langs; + global $langs,$conf; $errors = array(); $oldinclude = get_include_path(); - set_include_path(SYSLOG_CHROMEPHP_INCLUDEPATH); + set_include_path($conf->global->SYSLOG_CHROMEPHP_INCLUDEPATH); if (!file_exists('ChromePhp.class.php')) { $errors[] = $langs->trans("ErrorFailedToOpenFile", 'ChromePhp.class.php'); + $errors[] = $langs->trans("IncludePath").' : '.get_include_path(); } set_include_path($oldinclude); @@ -129,7 +136,7 @@ class mod_syslog_chromephp extends LogHandler implements LogHandlerInterface // Warning ChromePHP must be into PHP include path. It is not possible to use into require_once() a constant from // database or config file because we must be able to log data before database or config file read. $oldinclude=get_include_path(); - set_include_path(SYSLOG_CHROMEPHP_INCLUDEPATH); + set_include_path($conf->global->SYSLOG_CHROMEPHP_INCLUDEPATH); include_once 'ChromePhp.class.php'; set_include_path($oldinclude); ob_start(); // To be sure headers are not flushed until all page is completely processed diff --git a/htdocs/core/modules/syslog/mod_syslog_file.php b/htdocs/core/modules/syslog/mod_syslog_file.php index 331b7331194..318fe30d4f0 100644 --- a/htdocs/core/modules/syslog/mod_syslog_file.php +++ b/htdocs/core/modules/syslog/mod_syslog_file.php @@ -45,11 +45,11 @@ class mod_syslog_file extends LogHandler implements LogHandlerInterface /** * Is the module active ? * - * @return boolean + * @return int */ public function isActive() { - return true; + return 1; } /** diff --git a/htdocs/core/modules/syslog/mod_syslog_firephp.php b/htdocs/core/modules/syslog/mod_syslog_firephp.php index 31a3fb13431..013b5de85a7 100644 --- a/htdocs/core/modules/syslog/mod_syslog_firephp.php +++ b/htdocs/core/modules/syslog/mod_syslog_firephp.php @@ -42,7 +42,7 @@ class mod_syslog_firephp extends LogHandler implements LogHandlerInterface /** * Is the module active ? * - * @return boolean + * @return int */ public function isActive() { @@ -53,7 +53,7 @@ class mod_syslog_firephp extends LogHandler implements LogHandlerInterface restore_include_path(); if ($res) { - return true; + return 1; } } catch(Exception $e) @@ -61,7 +61,7 @@ class mod_syslog_firephp extends LogHandler implements LogHandlerInterface print ''."\n"; } - return false; + return -1; } ///** diff --git a/htdocs/core/modules/syslog/mod_syslog_syslog.php b/htdocs/core/modules/syslog/mod_syslog_syslog.php index 58ac241695c..a342114a33f 100644 --- a/htdocs/core/modules/syslog/mod_syslog_syslog.php +++ b/htdocs/core/modules/syslog/mod_syslog_syslog.php @@ -42,14 +42,14 @@ class mod_syslog_syslog extends LogHandler implements LogHandlerInterface /** * Is the module active ? * - * @return boolean + * @return int */ public function isActive() { // This function does not exists on some ISP (Ex: Free in France) - if (!function_exists('openlog')) return false; + if (!function_exists('openlog')) return 0; - return true; + return 1; } /** diff --git a/htdocs/includes/chromephp/ChromePhp.php b/htdocs/includes/chromephp/ChromePhp.php new file mode 100644 index 00000000000..577b1cecb9d --- /dev/null +++ b/htdocs/includes/chromephp/ChromePhp.php @@ -0,0 +1,446 @@ + + */ +class ChromePhp +{ + /** + * @var string + */ + const VERSION = '4.1.0'; + + /** + * @var string + */ + const HEADER_NAME = 'X-ChromeLogger-Data'; + + /** + * @var string + */ + const BACKTRACE_LEVEL = 'backtrace_level'; + + /** + * @var string + */ + const LOG = 'log'; + + /** + * @var string + */ + const WARN = 'warn'; + + /** + * @var string + */ + const ERROR = 'error'; + + /** + * @var string + */ + const GROUP = 'group'; + + /** + * @var string + */ + const INFO = 'info'; + + /** + * @var string + */ + const GROUP_END = 'groupEnd'; + + /** + * @var string + */ + const GROUP_COLLAPSED = 'groupCollapsed'; + + /** + * @var string + */ + const TABLE = 'table'; + + /** + * @var string + */ + protected $_php_version; + + /** + * @var int + */ + protected $_timestamp; + + /** + * @var array + */ + protected $_json = array( + 'version' => self::VERSION, + 'columns' => array('log', 'backtrace', 'type'), + 'rows' => array() + ); + + /** + * @var array + */ + protected $_backtraces = array(); + + /** + * @var bool + */ + protected $_error_triggered = false; + + /** + * @var array + */ + protected $_settings = array( + self::BACKTRACE_LEVEL => 1 + ); + + /** + * @var ChromePhp + */ + protected static $_instance; + + /** + * Prevent recursion when working with objects referring to each other + * + * @var array + */ + protected $_processed = array(); + + /** + * constructor + */ + private function __construct() + { + $this->_php_version = phpversion(); + $this->_timestamp = $this->_php_version >= 5.1 ? $_SERVER['REQUEST_TIME'] : time(); + $this->_json['request_uri'] = $_SERVER['REQUEST_URI']; + } + + /** + * gets instance of this class + * + * @return ChromePhp + */ + public static function getInstance() + { + if (self::$_instance === null) { + self::$_instance = new self(); + } + return self::$_instance; + } + + /** + * logs a variable to the console + * + * @param mixed $data,... unlimited OPTIONAL number of additional logs [...] + * @return void + */ + public static function log() + { + $args = func_get_args(); + return self::_log('', $args); + } + + /** + * logs a warning to the console + * + * @param mixed $data,... unlimited OPTIONAL number of additional logs [...] + * @return void + */ + public static function warn() + { + $args = func_get_args(); + return self::_log(self::WARN, $args); + } + + /** + * logs an error to the console + * + * @param mixed $data,... unlimited OPTIONAL number of additional logs [...] + * @return void + */ + public static function error() + { + $args = func_get_args(); + return self::_log(self::ERROR, $args); + } + + /** + * sends a group log + * + * @param string value + */ + public static function group() + { + $args = func_get_args(); + return self::_log(self::GROUP, $args); + } + + /** + * sends an info log + * + * @param mixed $data,... unlimited OPTIONAL number of additional logs [...] + * @return void + */ + public static function info() + { + $args = func_get_args(); + return self::_log(self::INFO, $args); + } + + /** + * sends a collapsed group log + * + * @param string value + */ + public static function groupCollapsed() + { + $args = func_get_args(); + return self::_log(self::GROUP_COLLAPSED, $args); + } + + /** + * ends a group log + * + * @param string value + */ + public static function groupEnd() + { + $args = func_get_args(); + return self::_log(self::GROUP_END, $args); + } + + /** + * sends a table log + * + * @param string value + */ + public static function table() + { + $args = func_get_args(); + return self::_log(self::TABLE, $args); + } + + /** + * internal logging call + * + * @param string $type + * @return void + */ + protected static function _log($type, array $args) + { + // nothing passed in, don't do anything + if (count($args) == 0 && $type != self::GROUP_END) { + return; + } + + $logger = self::getInstance(); + + $logger->_processed = array(); + + $logs = array(); + foreach ($args as $arg) { + $logs[] = $logger->_convert($arg); + } + + $backtrace = debug_backtrace(false); + $level = $logger->getSetting(self::BACKTRACE_LEVEL); + + $backtrace_message = 'unknown'; + if (isset($backtrace[$level]['file']) && isset($backtrace[$level]['line'])) { + $backtrace_message = $backtrace[$level]['file'] . ' : ' . $backtrace[$level]['line']; + } + + $logger->_addRow($logs, $backtrace_message, $type); + } + + /** + * converts an object to a better format for logging + * + * @param Object + * @return array + */ + protected function _convert($object) + { + // if this isn't an object then just return it + if (!is_object($object)) { + return $object; + } + + //Mark this object as processed so we don't convert it twice and it + //Also avoid recursion when objects refer to each other + $this->_processed[] = $object; + + $object_as_array = array(); + + // first add the class name + $object_as_array['___class_name'] = get_class($object); + + // loop through object vars + $object_vars = get_object_vars($object); + foreach ($object_vars as $key => $value) { + + // same instance as parent object + if ($value === $object || in_array($value, $this->_processed, true)) { + $value = 'recursion - parent object [' . get_class($value) . ']'; + } + $object_as_array[$key] = $this->_convert($value); + } + + $reflection = new ReflectionClass($object); + + // loop through the properties and add those + foreach ($reflection->getProperties() as $property) { + + // if one of these properties was already added above then ignore it + if (array_key_exists($property->getName(), $object_vars)) { + continue; + } + $type = $this->_getPropertyKey($property); + + if ($this->_php_version >= 5.3) { + $property->setAccessible(true); + } + + try { + $value = $property->getValue($object); + } catch (ReflectionException $e) { + $value = 'only PHP 5.3 can access private/protected properties'; + } + + // same instance as parent object + if ($value === $object || in_array($value, $this->_processed, true)) { + $value = 'recursion - parent object [' . get_class($value) . ']'; + } + + $object_as_array[$type] = $this->_convert($value); + } + return $object_as_array; + } + + /** + * takes a reflection property and returns a nicely formatted key of the property name + * + * @param ReflectionProperty + * @return string + */ + protected function _getPropertyKey(ReflectionProperty $property) + { + $static = $property->isStatic() ? ' static' : ''; + if ($property->isPublic()) { + return 'public' . $static . ' ' . $property->getName(); + } + + if ($property->isProtected()) { + return 'protected' . $static . ' ' . $property->getName(); + } + + if ($property->isPrivate()) { + return 'private' . $static . ' ' . $property->getName(); + } + } + + /** + * adds a value to the data array + * + * @var mixed + * @return void + */ + protected function _addRow(array $logs, $backtrace, $type) + { + // if this is logged on the same line for example in a loop, set it to null to save space + if (in_array($backtrace, $this->_backtraces)) { + $backtrace = null; + } + + // for group, groupEnd, and groupCollapsed + // take out the backtrace since it is not useful + if ($type == self::GROUP || $type == self::GROUP_END || $type == self::GROUP_COLLAPSED) { + $backtrace = null; + } + + if ($backtrace !== null) { + $this->_backtraces[] = $backtrace; + } + + $row = array($logs, $backtrace, $type); + + $this->_json['rows'][] = $row; + $this->_writeHeader($this->_json); + } + + protected function _writeHeader($data) + { + header(self::HEADER_NAME . ': ' . $this->_encode($data)); + } + + /** + * encodes the data to be sent along with the request + * + * @param array $data + * @return string + */ + protected function _encode($data) + { + return base64_encode(utf8_encode(json_encode($data))); + } + + /** + * adds a setting + * + * @param string key + * @param mixed value + * @return void + */ + public function addSetting($key, $value) + { + $this->_settings[$key] = $value; + } + + /** + * add ability to set multiple settings in one call + * + * @param array $settings + * @return void + */ + public function addSettings(array $settings) + { + foreach ($settings as $key => $value) { + $this->addSetting($key, $value); + } + } + + /** + * gets a setting + * + * @param string key + * @return mixed + */ + public function getSetting($key) + { + if (!isset($this->_settings[$key])) { + return null; + } + return $this->_settings[$key]; + } +} diff --git a/htdocs/includes/chromephp/README.md b/htdocs/includes/chromephp/README.md new file mode 100644 index 00000000000..3dd7dbe19dd --- /dev/null +++ b/htdocs/includes/chromephp/README.md @@ -0,0 +1,23 @@ +## Overview +ChromePhp is a PHP library for the Chrome Logger Google Chrome extension. + +This library allows you to log variables to the Chrome console. + +## Requirements +- PHP 5 or later + +## Installation +1. Install the Chrome extension from: https://chrome.google.com/extensions/detail/noaneddfkdjfnfdakjjmocngnfkfehhd +2. Click the extension icon in the browser to enable it for the current tab's domain +3. Put ChromePhp.php somewhere in your PHP include path +4. Log some data + + ```php + include 'ChromePhp.php'; + ChromePhp::log('Hello console!'); + ChromePhp::log($_SERVER); + ChromePhp::warn('something went wrong!'); + ``` + +More information can be found here: +http://www.chromelogger.com diff --git a/htdocs/includes/chromephp/composer.json b/htdocs/includes/chromephp/composer.json new file mode 100644 index 00000000000..dc16853d3ec --- /dev/null +++ b/htdocs/includes/chromephp/composer.json @@ -0,0 +1,24 @@ +{ + "name": "ccampbell/chromephp", + "type": "library", + "description": "Log variables to the Chrome console (via Chrome Logger Google Chrome extension).", + "keywords": ["log","logging"], + "homepage": "http://github.com/ccampbell/chromephp", + "license": "Apache-2.0", + "authors": [ + { + "name": "Craig Campbell", + "email": "iamcraigcampbell@gmail.com", + "homepage": "http://craig.is", + "role": "Developer" + } + ], + "require": { + "php": ">=5.0.0" + }, + "autoload": { + "psr-0": { + "ChromePhp": "" + } + } +} diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index d262b835794..59579237d33 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1558,3 +1558,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) \ No newline at end of file From 1d1b3da182c27f09cb818fa26659eba40a9e98b9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 7 Feb 2015 19:30:28 +0100 Subject: [PATCH 028/137] Fix: the syslog handler for chromphp an fiefoxphp was not visible when they should not. --- .../modules/syslog/mod_syslog_chromephp.php | 18 +++++++----------- htdocs/core/modules/syslog/mod_syslog_file.php | 2 +- .../core/modules/syslog/mod_syslog_firephp.php | 2 +- .../core/modules/syslog/mod_syslog_syslog.php | 2 +- 4 files changed, 10 insertions(+), 14 deletions(-) diff --git a/htdocs/core/modules/syslog/mod_syslog_chromephp.php b/htdocs/core/modules/syslog/mod_syslog_chromephp.php index ca257e6b0f6..b2520d27d7b 100644 --- a/htdocs/core/modules/syslog/mod_syslog_chromephp.php +++ b/htdocs/core/modules/syslog/mod_syslog_chromephp.php @@ -94,7 +94,7 @@ class mod_syslog_chromephp extends LogHandler implements LogHandlerInterface /** * Return if configuration is valid * - * @return boolean True if configuration ok + * @return array Array of errors. Empty array if ok. */ public function checkConfiguration() { @@ -102,17 +102,11 @@ class mod_syslog_chromephp extends LogHandler implements LogHandlerInterface $errors = array(); - $oldinclude = get_include_path(); - set_include_path($conf->global->SYSLOG_CHROMEPHP_INCLUDEPATH); - - if (!file_exists('ChromePhp.class.php')) + if (! file_exists($conf->global->SYSLOG_CHROMEPHP_INCLUDEPATH.'/ChromePhp.php') && ! file_exists($conf->global->SYSLOG_CHROMEPHP_INCLUDEPATH.'/ChromePhp.class.php')) { - $errors[] = $langs->trans("ErrorFailedToOpenFile", 'ChromePhp.class.php'); - $errors[] = $langs->trans("IncludePath").' : '.get_include_path(); + $errors[] = $langs->trans("ErrorFailedToOpenFile", 'ChromePhp.class.php or ChromePhp.php'); } - set_include_path($oldinclude); - return $errors; } @@ -129,7 +123,7 @@ class mod_syslog_chromephp extends LogHandler implements LogHandlerInterface if (! empty($conf->global->MAIN_SYSLOG_DISABLE_CHROMEPHP)) return; // Global option to disable output of this handler //We check the configuration to avoid showing PHP warnings - if (count($this->checkConfiguration())) return false; + if (count($this->checkConfiguration()) > 0) return false; try { @@ -137,8 +131,10 @@ class mod_syslog_chromephp extends LogHandler implements LogHandlerInterface // database or config file because we must be able to log data before database or config file read. $oldinclude=get_include_path(); set_include_path($conf->global->SYSLOG_CHROMEPHP_INCLUDEPATH); - include_once 'ChromePhp.class.php'; + $res = @include_once('ChromePhp.php'); + if (! $res) $res=@include_once('ChromePhp.class.php'); set_include_path($oldinclude); + ob_start(); // To be sure headers are not flushed until all page is completely processed if ($content['level'] == LOG_ERR) ChromePhp::error($content['message']); elseif ($content['level'] == LOG_WARNING) ChromePhp::warn($content['message']); diff --git a/htdocs/core/modules/syslog/mod_syslog_file.php b/htdocs/core/modules/syslog/mod_syslog_file.php index 318fe30d4f0..92d2302bea7 100644 --- a/htdocs/core/modules/syslog/mod_syslog_file.php +++ b/htdocs/core/modules/syslog/mod_syslog_file.php @@ -74,7 +74,7 @@ class mod_syslog_file extends LogHandler implements LogHandlerInterface /** * Return if configuration is valid * - * @return boolean True if configuration ok + * @return array Array of errors. Empty array if ok. */ public function checkConfiguration() { diff --git a/htdocs/core/modules/syslog/mod_syslog_firephp.php b/htdocs/core/modules/syslog/mod_syslog_firephp.php index 013b5de85a7..31addd8b17a 100644 --- a/htdocs/core/modules/syslog/mod_syslog_firephp.php +++ b/htdocs/core/modules/syslog/mod_syslog_firephp.php @@ -86,7 +86,7 @@ class mod_syslog_firephp extends LogHandler implements LogHandlerInterface /** * Return if configuration is valid * - * @return boolean True if configuration ok + * @return array Array of errors. Empty array if ok. */ public function checkConfiguration() { diff --git a/htdocs/core/modules/syslog/mod_syslog_syslog.php b/htdocs/core/modules/syslog/mod_syslog_syslog.php index a342114a33f..2043225857b 100644 --- a/htdocs/core/modules/syslog/mod_syslog_syslog.php +++ b/htdocs/core/modules/syslog/mod_syslog_syslog.php @@ -73,7 +73,7 @@ class mod_syslog_syslog extends LogHandler implements LogHandlerInterface /** * Return if configuration is valid * - * @return boolean True if configuration ok + * @return array Array of errors. Empty array if ok. */ public function checkConfiguration() { From e42290cb8858348e1eba7dc1dbcb4e4f8eeb2d50 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 7 Feb 2015 19:35:00 +0100 Subject: [PATCH 029/137] Update doc --- COPYRIGHT | 1 + 1 file changed, 1 insertion(+) diff --git a/COPYRIGHT b/COPYRIGHT index c6a629c5c7a..1631f85d321 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -13,6 +13,7 @@ Component Version License GPL Compatible ------------------------------------------------------------------------------------- PHP libraries: AdoDb-Date 0.32 Modified BSD License Yes Date convertion (not into rpm package) +ChromePHP 4.3.3 Apache Software License 2.0 Yes Return server log to chrome browser console CKEditor 4.3.3 LGPL-2.1+ Yes Editor WYSIWYG FPDI 1.4.2 Apache Software License 2.0 Yes PDF templates management FPDF_TPL 1.2 Apache Software License 2.0 Yes PDF templates management From 9a7a5b9b20c96a15a23c4a631b98279cdbd5c4a0 Mon Sep 17 00:00:00 2001 From: Florian HENRY Date: Sat, 7 Feb 2015 20:36:16 +0100 Subject: [PATCH 030/137] review product stats list --- htdocs/product/stats/commande.php | 210 +++++++---- htdocs/product/stats/commande_fournisseur.php | 325 +++++++++++------- htdocs/product/stats/facture.php | 109 ++++-- htdocs/product/stats/facture_fournisseur.php | 325 +++++++++++------- htdocs/product/stats/propal.php | 295 ++++++++++------ 5 files changed, 801 insertions(+), 463 deletions(-) diff --git a/htdocs/product/stats/commande.php b/htdocs/product/stats/commande.php index 472b9ce4a45..68170bd19df 100644 --- a/htdocs/product/stats/commande.php +++ b/htdocs/product/stats/commande.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2014 Florian Henry * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -27,6 +28,7 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; $langs->load("orders"); $langs->load("products"); @@ -38,7 +40,8 @@ $ref = GETPOST('ref', 'alpha'); // Security check $fieldvalue = (! empty($id) ? $id : (! empty($ref) ? $ref : '')); $fieldtype = (! empty($ref) ? 'ref' : 'rowid'); -if ($user->societe_id) $socid=$user->societe_id; +$socid=''; +if (! empty($user->societe_id)) $socid=$user->societe_id; $result=restrictedArea($user,'produit|service',$fieldvalue,'product&product','','',$fieldtype); // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array @@ -55,13 +58,23 @@ $pageprev = $page - 1; $pagenext = $page + 1; if (! $sortorder) $sortorder="DESC"; if (! $sortfield) $sortfield="c.date_commande"; +$search_month = GETPOST('search_month', 'aplha'); +$search_year = GETPOST('search_year', 'int'); +if (GETPOST("button_removefilter_x")) { + $search_month=''; + $search_year=''; +} /* * View */ +$orderstatic=new Commande($db); +$societestatic=new Societe($db); + $form = new Form($db); +$formother= new FormOther($db); if ($id > 0 || ! empty($ref)) { @@ -76,9 +89,6 @@ if ($id > 0 || ! empty($ref)) if ($result > 0) { - /* - * En mode visu - */ $head=product_prepare_head($product, $user); $titre=$langs->trans("CardProduct".$product->type); $picto=($product->type==1?'service':'product'); @@ -87,7 +97,6 @@ if ($id > 0 || ! empty($ref)) $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$product,$action); // Note that $action and $object may have been modified by hook if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); - print ''; // Reference @@ -117,83 +126,138 @@ if ($id > 0 || ! empty($ref)) print ''; - - $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client, c.rowid, c.total_ht as total_ht, c.ref,"; - $sql.= " c.date_commande, c.fk_statut as statut, c.facture, c.rowid as commandeid, d.qty"; - if (!$user->rights->societe->client->voir && !$socid) $sql.= ", sc.fk_soc, sc.fk_user "; - $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; - $sql.= ", ".MAIN_DB_PREFIX."commande as c"; - $sql.= ", ".MAIN_DB_PREFIX."commandedet as d"; - if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; - $sql.= " WHERE c.fk_soc = s.rowid"; - $sql.= " AND c.entity = ".$conf->entity; - $sql.= " AND d.fk_commande = c.rowid"; - $sql.= " AND d.fk_product =".$product->id; - if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - if ($socid) $sql.= " AND c.fk_soc = ".$socid; - $sql.= " ORDER BY $sortfield $sortorder "; - $sql.= $db->plimit($conf->liste_limit +1, $offset); - - $result = $db->query($sql); - if ($result) + if ($user->rights->commande->lire) { - $num = $db->num_rows($result); - - print_barre_liste($langs->trans("CustomersOrders"),$page,$_SERVER["PHP_SELF"],"&id=$product->id",$sortfield,$sortorder,'',$num,0,''); - - $i = 0; - print "
"; - - print ''; - print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"c.rowid","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("CustomerCode"),$_SERVER["PHP_SELF"],"s.code_client","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("OrderDate"),$_SERVER["PHP_SELF"],"c.date_commande","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Qty"),$_SERVER["PHP_SELF"],"d.qty","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"c.total_ht","","&id=".$product->id,'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"c.fk_statut","","&id=".$product->id,'align="right"',$sortfield,$sortorder); - print "\n"; - - $commandestatic=new Commande($db); - - if ($num > 0) + $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client, c.rowid, c.total_ht as total_ht, c.ref,"; + $sql .= " c.ref_client,"; + $sql.= " c.date_commande, c.fk_statut as statut, c.facture, c.rowid as commandeid, d.qty"; + if (!$user->rights->societe->client->voir && !$socid) $sql.= ", sc.fk_soc, sc.fk_user "; + $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; + $sql.= ", ".MAIN_DB_PREFIX."commande as c"; + $sql.= ", ".MAIN_DB_PREFIX."commandedet as d"; + if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql.= " WHERE c.fk_soc = s.rowid"; + $sql.= " AND c.entity = ".$conf->entity; + $sql.= " AND d.fk_commande = c.rowid"; + $sql.= " AND d.fk_product =".$product->id; + if (! empty($search_month)) + $sql.= ' AND MONTH(f.datef) IN (' . $search_month . ')'; + if (! empty($search_year)) + $sql.= ' AND YEAR(f.datef) IN (' . $search_year . ')'; + if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + if ($socid) $sql.= " AND c.fk_soc = ".$socid; + $sql.= " ORDER BY $sortfield $sortorder "; + + //Calcul total qty and amount for global if full scan list + $total_ht=0; + $total_qty=0; + $totalrecords=0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $result = $db->query($sql); + if ($result) { + $totalrecords = $db->num_rows($result); + while ($objp = $db->fetch_object($result)) { + $total_ht+=$objp->total_ht; + $total_qty+=$objp->qty; + } + } + } + + $sql.= $db->plimit($conf->liste_limit +1, $offset); + + $result = $db->query($sql); + if ($result) { - $var=True; - while ($i < $num && $i < $conf->liste_limit) + $num = $db->num_rows($result); + + if (! empty($id)) + $option .= '&id='.$product->id; + if (! empty($search_month)) + $option .= '&search_month='.$search_month; + if (! empty($search_year)) + $option .= '&search_year='.$search_year; + + print '' . "\n"; + if (! empty($sortfield)) + print ''; + if (! empty($sortorder)) + print ''; + if (! empty($page)) { + print ''; + $option .= '&page=' . $page; + } + + print_barre_liste($langs->trans("CustomersOrders"),$page,$_SERVER["PHP_SELF"],"&id=$product->id",$sortfield,$sortorder,'',$num,$totalrecords,''); + print '
'; + print $langs->trans('Period').'('.$langs->trans("DateInvoice") .') '; + print $langs->trans('Month') . ': '; + print $langs->trans('Year') . ':' . $formother->selectyear($search_year ? $search_year : - 1, 'search_year', 1, 20, 5); + print ''; + print ''; + print '
'; + + $i = 0; + print '
'; + print ''; + print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"c.rowid","",$option,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","",$option,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("CustomerCode"),$_SERVER["PHP_SELF"],"s.code_client","",$option,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("OrderDate"),$_SERVER["PHP_SELF"],"c.date_commande","",$option,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Qty"),$_SERVER["PHP_SELF"],"d.qty","",$option,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"c.total_ht","",$option,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"c.fk_statut","",$option,'align="right"',$sortfield,$sortorder); + print "\n"; + + if ($num > 0) { - $objp = $db->fetch_object($result); - $var=!$var; - - print ""; - print '\n"; - print ''; - print "\n"; - print ""; - print "\n"; - print "\n"; - print ''; - print "\n"; - $i++; + $var=True; + while ($i < $num && $i < $conf->liste_limit) + { + $objp = $db->fetch_object($result); + $var=!$var; + + print ''; + print '\n"; + $societestatic->fetch($objp->socid); + print ''; + print "\n"; + print '"; + print '\n"; + print '\n"; + print ''; + print "\n"; + $i++; + + if (!empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $total_ht+=$objp->total_ht; + $total_qty+=$objp->qty; + } + } } + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print "
'.img_object($langs->trans("ShowOrder"),"order").' '; - print $objp->ref; - print "'.img_object($langs->trans("ShowCompany"),"company").' '.dol_trunc($objp->name,44).'".$objp->code_client.""; - print dol_print_date($db->jdate($objp->date_commande))."".$objp->qty."".price($objp->total_ht)."'.$commandestatic->LibStatut($objp->statut,$objp->facture,5).'
'; + $orderstatic->id=$objp->commandeid; + $orderstatic->ref=$objp->ref; + $orderstatic->ref_client=$objp->ref_client; + print $orderstatic->getNomUrl(1); + print "'.$societestatic->getNomUrl(1).'".$objp->code_client."'; + print dol_print_date($db->jdate($objp->date_commande))."'.$objp->qty."'.price($objp->total_ht)."'.$commandestatic->LibStatut($objp->statut,$objp->facture,5).'
' . $langs->trans('Total') . ''.$total_qty.''.price($total_ht).'
"; + print ''; + print '
'; + } else { + dol_print_error($db); } + $db->free($result); } - else - { - dol_print_error($db); - } - print ""; - print '
'; - $db->free($result); } -} -else -{ +} else { dol_print_error(); } - llxFooter(); $db->close(); diff --git a/htdocs/product/stats/commande_fournisseur.php b/htdocs/product/stats/commande_fournisseur.php index 73de0374ebe..f5b362d5423 100644 --- a/htdocs/product/stats/commande_fournisseur.php +++ b/htdocs/product/stats/commande_fournisseur.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2014 Florian Henry * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,15 +19,15 @@ */ /** - * \file htdocs/product/stats/commande_fournisseur.php - * \ingroup product service commande - * \brief Page des stats des commandes fournisseurs pour un produit + * \file htdocs/product/stats/commande_fournisseur.php + * \ingroup product service commande + * \brief Page des stats des commandes fournisseurs pour un produit */ - require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php'; -require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/product.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/fourn/class/fournisseur.commande.class.php'; +require_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php'; $langs->load("orders"); $langs->load("products"); @@ -38,157 +39,233 @@ $ref = GETPOST('ref', 'alpha'); // Security check $fieldvalue = (! empty($id) ? $id : (! empty($ref) ? $ref : '')); $fieldtype = (! empty($ref) ? 'ref' : 'rowid'); -if ($user->societe_id) $socid=$user->societe_id; -$result=restrictedArea($user,'produit|service',$fieldvalue,'product&product','','',$fieldtype); +$socid = ''; +if (! empty($user->societe_id)) + $socid = $user->societe_id; +$result = restrictedArea($user, 'produit|service', $fieldvalue, 'product&product', '', '', $fieldtype); // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array -$hookmanager->initHooks(array('productstatssupplyorder')); +$hookmanager->initHooks(array ( + 'productstatssupplyorder' +)); $mesg = ''; -$sortfield = GETPOST("sortfield",'alpha'); -$sortorder = GETPOST("sortorder",'alpha'); -$page = GETPOST("page",'int'); -if ($page == -1) { $page = 0; } +$sortfield = GETPOST("sortfield", 'alpha'); +$sortorder = GETPOST("sortorder", 'alpha'); +$page = GETPOST("page", 'int'); +if ($page == - 1) { + $page = 0; +} $offset = $conf->liste_limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; -if (! $sortorder) $sortorder="DESC"; -if (! $sortfield) $sortfield="c.date_commande"; +if (! $sortorder) + $sortorder = "DESC"; +if (! $sortfield) + $sortfield = "c.date_commande"; +$search_month = GETPOST('search_month', 'aplha'); +$search_year = GETPOST('search_year', 'int'); +if (GETPOST("button_removefilter_x")) { + $search_month = ''; + $search_year = ''; +} /* * View */ -$form = new Form($db); +$commandefournstatic = new CommandeFournisseur($db); +$societestatic = new Societe($db); -if ($id > 0 || ! empty($ref)) -{ +$form = new Form($db); +$formother = new FormOther($db); + +if ($id > 0 || ! empty($ref)) { $product = new Product($db); $result = $product->fetch($id, $ref); - - $parameters=array('id'=>$id); - $reshook=$hookmanager->executeHooks('doActions',$parameters,$product,$action); // Note that $action and $object may have been modified by some hooks - if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); - - llxHeader("","",$langs->trans("CardProduct".$product->type)); - - if ($result > 0) - { - $head=product_prepare_head($product, $user); - $titre=$langs->trans("CardProduct".$product->type); - $picto=($product->type==1?'service':'product'); + + $parameters = array ( + 'id' => $id + ); + $reshook = $hookmanager->executeHooks('doActions', $parameters, $product, $action); // Note that $action and $object may have been modified by some hooks + if ($reshook < 0) + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); + + llxHeader("", "", $langs->trans("CardProduct" . $product->type)); + + if ($result > 0) { + $head = product_prepare_head($product, $user); + $titre = $langs->trans("CardProduct" . $product->type); + $picto = ($product->type == 1 ? 'service' : 'product'); dol_fiche_head($head, 'referers', $titre, 0, $picto); - - $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$product,$action); // Note that $action and $object may have been modified by hook - if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); - + + $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $product, $action); // Note that $action and $object may have been modified by hook + if ($reshook < 0) + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); + print ''; - + // Reference print ''; - print ''; - + print ''; + print ''; + // Libelle - print ''; - + print ''; + print ''; + // Status (to sell) - print ''; - + // Status (to buy) - print ''; - - show_stats_for_company($product,$socid); - + + show_stats_for_company($product, $socid); + print "
'.$langs->trans("Ref").''; - print $form->showrefnav($product,'ref','',1,'ref'); - print '
' . $langs->trans("Ref") . ''; + print $form->showrefnav($product, 'ref', '', 1, 'ref'); + print '
'.$langs->trans("Label").''.$product->libelle.'
' . $langs->trans("Label") . '' . $product->libelle . '
'.$langs->trans("Status").' ('.$langs->trans("Sell").')'; - print $product->getLibStatut(2,0); + print '
' . $langs->trans("Status") . ' (' . $langs->trans("Sell") . ')'; + print $product->getLibStatut(2, 0); print '
'.$langs->trans("Status").' ('.$langs->trans("Buy").')'; - print $product->getLibStatut(2,1); + print '
' . $langs->trans("Status") . ' (' . $langs->trans("Buy") . ')'; + print $product->getLibStatut(2, 1); print '
"; + print ''; - - $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client,"; - $sql.= " c.rowid, c.total_ht as total_ht, c.ref,"; - $sql.= " c.date_commande, c.fk_statut as statut, c.rowid as commandeid, d.qty"; - if (!$user->rights->societe->client->voir && !$socid) $sql .= ", sc.fk_soc, sc.fk_user "; - $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; - $sql.= ", ".MAIN_DB_PREFIX."commande_fournisseur as c"; - $sql.= ", ".MAIN_DB_PREFIX."commande_fournisseurdet as d"; - if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; - $sql.= " WHERE c.fk_soc = s.rowid"; - $sql.= " AND c.entity = ".$conf->entity; - $sql.= " AND d.fk_commande = c.rowid"; - $sql.= " AND d.fk_product =".$product->id; - if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - if ($socid) $sql.= " AND c.fk_soc = ".$socid; - $sql.= " ORDER BY $sortfield $sortorder "; - $sql.= $db->plimit($conf->liste_limit +1, $offset); - - $result = $db->query($sql); - if ($result) - { - $num = $db->num_rows($result); - - print_barre_liste($langs->trans("SuppliersOrders"),$page,$_SERVER["PHP_SELF"],"&id=$product->id",$sortfield,$sortorder,'',$num,0,''); - - $i = 0; - print ""; - - print ''; - print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"c.rowid","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("SupplierCode"),$_SERVER["PHP_SELF"],"s.code_client","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("OrderDate"),$_SERVER["PHP_SELF"],"c.date_commande","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Qty"),$_SERVER["PHP_SELF"],"d.qty","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"c.total_ht","","&id=".$product->id,'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"c.fk_statut","","&id=".$product->id,'align="right"',$sortfield,$sortorder); - print "\n"; - - $commandestatic=new CommandeFournisseur($db); - - if ($num > 0) - { - $var=True; - while ($i < $num && $i < $conf->liste_limit) - { - $objp = $db->fetch_object($result); - $var=!$var; - - $commandestatic->id=$objp->commandeid; - $commandestatic->ref=$objp->ref; - $commandestatic->statut=$objp->statut; - - print ""; - print '\n"; - print "\n"; - print ''; - print "\n"; - print '"; - print "\n"; - print '\n"; - print ''; - print "\n"; - $i++; + + if ($user->rights->fournisseur->commande->lire) { + $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client,"; + $sql .= " c.rowid, c.total_ht as total_ht, c.ref,"; + $sql .= " c.date_commande, c.fk_statut as statut, c.rowid as commandeid, d.qty"; + if (! $user->rights->societe->client->voir && ! $socid) + $sql .= ", sc.fk_soc, sc.fk_user "; + $sql .= " FROM " . MAIN_DB_PREFIX . "societe as s"; + $sql .= ", " . MAIN_DB_PREFIX . "commande_fournisseur as c"; + $sql .= ", " . MAIN_DB_PREFIX . "commande_fournisseurdet as d"; + if (! $user->rights->societe->client->voir && ! $socid) + $sql .= ", " . MAIN_DB_PREFIX . "societe_commerciaux as sc"; + $sql .= " WHERE c.fk_soc = s.rowid"; + $sql .= " AND c.entity = " . $conf->entity; + $sql .= " AND d.fk_commande = c.rowid"; + $sql .= " AND d.fk_product =" . $product->id; + if (! empty($search_month)) + $sql .= ' AND MONTH(f.datef) IN (' . $search_month . ')'; + if (! empty($search_year)) + $sql .= ' AND YEAR(f.datef) IN (' . $search_year . ')'; + if (! $user->rights->societe->client->voir && ! $socid) + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = " . $user->id; + if ($socid) + $sql .= " AND c.fk_soc = " . $socid; + $sql .= " ORDER BY $sortfield $sortorder "; + + // Calcul total qty and amount for global if full scan list + $total_ht = 0; + $total_qty = 0; + $totalrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $result = $db->query($sql); + if ($result) { + $totalrecords = $db->num_rows($result); + while ( $objp = $db->fetch_object($result) ) { + $total_ht += $objp->total_ht; + $total_qty += $objp->qty; + } } } + + $sql .= $db->plimit($conf->liste_limit + 1, $offset); + + $result = $db->query($sql); + if ($result) { + $num = $db->num_rows($result); + + if (! empty($id)) + $option .= '&id=' . $product->id; + if (! empty($search_month)) + $option .= '&search_month=' . $search_month; + if (! empty($search_year)) + $option .= '&search_year=' . $search_year; + + print '' . "\n"; + if (! empty($sortfield)) + print ''; + if (! empty($sortorder)) + print ''; + if (! empty($page)) { + print ''; + $option .= '&page=' . $page; + } + + print_barre_liste($langs->trans("SuppliersOrders"), $page, $_SERVER["PHP_SELF"], "&id=$product->id", $sortfield, $sortorder, '', $num, $totalrecords, ''); + print '
'; + print $langs->trans('Period') . '(' . $langs->trans("DateInvoice") . ') '; + print $langs->trans('Month') . ': '; + print $langs->trans('Year') . ':' . $formother->selectyear($search_year ? $search_year : - 1, 'search_year', 1, 20, 5); + print ''; + print ''; + print '
'; + + $i = 0; + print '
'.$commandestatic->getNomUrl(1)."'.img_object($langs->trans("ShowCompany"),"company").' '.dol_trunc($objp->name,44).'".$objp->code_client."'.dol_print_date($db->jdate($objp->date_commande))."".$objp->qty."'.price($objp->total_ht)."'.$commandestatic->getLibStatut(4).'
'; + print ''; + print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "c.rowid", "", $option, '', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("Company"), $_SERVER["PHP_SELF"], "s.nom", "", $option, '', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("SupplierCode"), $_SERVER["PHP_SELF"], "s.code_client", "", $option, '', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("OrderDate"), $_SERVER["PHP_SELF"], "c.date_commande", "", $option, 'align="center"', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("Qty"), $_SERVER["PHP_SELF"], "d.qty", "", $option, 'align="center"', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("AmountHT"), $_SERVER["PHP_SELF"], "c.total_ht", "", $option, 'align="right"', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("Status"), $_SERVER["PHP_SELF"], "c.fk_statut", "", $option, 'align="right"', $sortfield, $sortorder); + print "\n"; + + if ($num > 0) { + $var = True; + while ( $i < $num && $i < $conf->liste_limit ) { + $objp = $db->fetch_object($result); + $var = ! $var; + + print ''; + print '\n"; + $societestatic->fetch($objp->socid); + print ''; + print "\n"; + print '"; + print '\n"; + print '\n"; + print ''; + print "\n"; + $i ++; + + if (! empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $total_ht += $objp->total_ht; + $total_qty += $objp->qty; + } + } + } + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print "
'; + $commandestatic->id = $objp->commandeid; + $commandestatic->ref = $objp->ref; + $commandestatic->statut = $objp->statut; + print $commandestatic->getNomUrl(1); + print "' . $societestatic->getNomUrl(1) . '" . $objp->code_client . "'; + print dol_print_date($db->jdate($objp->date_commande)) . "' . $objp->qty . "' . price($objp->total_ht) . "' . $commandestatic->getLibStatut(4) . '
' . $langs->trans('Total') . '' . $total_qty . '' . price($total_ht) . '
"; + print ''; + print '
'; + } else { + dol_print_error($db); + } + $db->free($result); } - else - { - dol_print_error($db); - } - print ""; - print '
'; - $db->free($result); } -} -else -{ +} else { dol_print_error(); } - llxFooter(); $db->close(); diff --git a/htdocs/product/stats/facture.php b/htdocs/product/stats/facture.php index 49e5651b065..8269a7f57da 100644 --- a/htdocs/product/stats/facture.php +++ b/htdocs/product/stats/facture.php @@ -3,6 +3,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Juanjo Menent + * Copyright (C) 2014 Florian Henry * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,6 +29,7 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; $langs->load("companies"); $langs->load("bills"); @@ -36,12 +38,11 @@ $langs->load("products"); $id = GETPOST('id', 'int'); $ref = GETPOST('ref', 'alpha'); -$socid=''; -if (! empty($user->societe_id)) $socid=$user->societe_id; - // Security check $fieldvalue = (! empty($id) ? $id : (! empty($ref) ? $ref : '')); $fieldtype = (! empty($ref) ? 'ref' : 'rowid'); +$socid=''; +if (! empty($user->societe_id)) $socid=$user->societe_id; $result=restrictedArea($user,'produit|service',$fieldvalue,'product&product','','',$fieldtype); // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array @@ -58,16 +59,23 @@ $pageprev = $page - 1; $pagenext = $page + 1; if (! $sortorder) $sortorder="DESC"; if (! $sortfield) $sortfield="f.datef"; +$search_month = GETPOST('search_month', 'aplha'); +$search_year = GETPOST('search_year', 'int'); +if (GETPOST("button_removefilter_x")) { + $search_month=''; + $search_year=''; +} /* * View */ $invoicestatic=new Facture($db); +$societestatic=new Societe($db); $form = new Form($db); - +$formother= new FormOther($db); if ($id > 0 || ! empty($ref)) { @@ -80,9 +88,6 @@ if ($id > 0 || ! empty($ref)) llxHeader("","",$langs->trans("CardProduct".$product->type)); - /* - * En mode visu - */ if ($result > 0) { $head=product_prepare_head($product, $user); @@ -136,33 +141,79 @@ if ($id > 0 || ! empty($ref)) $sql.= " AND f.entity = ".$conf->entity; $sql.= " AND d.fk_facture = f.rowid"; $sql.= " AND d.fk_product =".$product->id; + if (! empty($search_month)) + $sql.= ' AND MONTH(f.datef) IN (' . $search_month . ')'; + if (! empty($search_year)) + $sql.= ' AND YEAR(f.datef) IN (' . $search_year . ')'; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - if ($socid) $sql.= " AND f.fk_soc = $socid"; + if ($socid) $sql.= " AND f.fk_soc = ".$socid; $sql.= " ORDER BY $sortfield $sortorder "; + + //Calcul total qty and amount for global if full scan list + $total_ht=0; + $total_qty=0; + $totalrecords=0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $result = $db->query($sql); + if ($result) { + $totalrecords = $db->num_rows($result); + while ($objp = $db->fetch_object($result)) { + $total_ht+=$objp->total_ht; + $total_qty+=$objp->qty; + } + } + } + $sql.= $db->plimit($conf->liste_limit +1, $offset); $result = $db->query($sql); - if ($result) { + if ($result) + { $num = $db->num_rows($result); - - print_barre_liste($langs->trans("CustomersInvoices"),$page,$_SERVER["PHP_SELF"],"&id=$product->id",$sortfield,$sortorder,'',$num,0,''); + + if (! empty($id)) + $option .= '&id='.$product->id; + if (! empty($search_month)) + $option .= '&search_month='.$search_month; + if (! empty($search_year)) + $option .= '&search_year='.$search_year; + + print '
' . "\n"; + if (! empty($sortfield)) + print ''; + if (! empty($sortorder)) + print ''; + if (! empty($page)) { + print ''; + $option .= '&page=' . $page; + } + + print_barre_liste($langs->trans("CustomersInvoices"),$page,$_SERVER["PHP_SELF"],"&id=".$product->id,$sortfield,$sortorder,'',$num,$totalrecords,''); + print '
'; + print $langs->trans('Period').'('.$langs->trans("DateInvoice") .') '; + print $langs->trans('Month') . ': '; + print $langs->trans('Year') . ':' . $formother->selectyear($search_year ? $search_year : - 1, 'search_year', 1, 20, 5); + print ''; + print ''; + print '
'; $i = 0; print ''; - print ''; - print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"s.rowid","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("CustomerCode"),$_SERVER["PHP_SELF"],"s.code_client","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("DateInvoice"),$_SERVER["PHP_SELF"],"f.datef","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Qty"),$_SERVER["PHP_SELF"],"d.qty","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"f.total","","&id=".$product->id,'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"f.paye,f.fk_statut","","&id=".$product->id,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"s.rowid","",$option,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","",$option,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("CustomerCode"),$_SERVER["PHP_SELF"],"s.code_client","",$option,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("DateInvoice"),$_SERVER["PHP_SELF"],"f.datef","",$option,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Qty"),$_SERVER["PHP_SELF"],"d.qty","",$option,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"f.total","",$option,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"f.paye,f.fk_statut","",$option,'align="right"',$sortfield,$sortorder); print "\n"; - if ($num > 0) { + if ($num > 0) + { $var=True; - while ($i < $num && $i < $conf->liste_limit) { + while ($i < $num && $i < $conf->liste_limit) + { $objp = $db->fetch_object($result); $var=!$var; @@ -172,7 +223,8 @@ if ($id > 0 || ! empty($ref)) $invoicestatic->ref=$objp->facnumber; print $invoicestatic->getNomUrl(1); print "\n"; - print ''; + $societestatic->fetch($objp->socid); + print ''; print "\n"; print '"; @@ -181,9 +233,21 @@ if ($id > 0 || ! empty($ref)) print ''; print "\n"; $i++; + + if (!empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $total_ht+=$objp->total_ht; + $total_qty+=$objp->qty; + } } } + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; print "
'.img_object($langs->trans("ShowCompany"),"company").' '.dol_trunc($objp->name,44).''.$societestatic->getNomUrl(1).'".$objp->code_client."'; print dol_print_date($db->jdate($objp->datef),'day')."'.$invoicestatic->LibStatut($objp->paye,$objp->statut,5).'
' . $langs->trans('Total') . ''.$total_qty.''.price($total_ht).'
"; + print '
'; print '
'; } else { dol_print_error($db); @@ -195,6 +259,5 @@ if ($id > 0 || ! empty($ref)) dol_print_error(); } - llxFooter(); $db->close(); diff --git a/htdocs/product/stats/facture_fournisseur.php b/htdocs/product/stats/facture_fournisseur.php index d8e30bdae6a..362e3e1427e 100644 --- a/htdocs/product/stats/facture_fournisseur.php +++ b/htdocs/product/stats/facture_fournisseur.php @@ -3,6 +3,7 @@ * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2014 Florian Henry * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,15 +20,16 @@ */ /** - * \file htdocs/product/stats/facture_fournisseur.php - * \ingroup product service facture - * \brief Page des stats des factures fournisseurs pour un produit + * \file htdocs/product/stats/facture_fournisseur.php + * \ingroup product service facture + * \brief Page des stats des factures fournisseurs pour un produit */ require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; -require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/product.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/fourn/class/fournisseur.facture.class.php'; +require_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php'; $langs->load("companies"); $langs->load("bills"); @@ -40,164 +42,223 @@ $ref = GETPOST('ref', 'alpha'); // Security check $fieldvalue = (! empty($id) ? $id : (! empty($ref) ? $ref : '')); $fieldtype = (! empty($ref) ? 'ref' : 'rowid'); -if ($user->societe_id) $socid=$user->societe_id; -$result=restrictedArea($user,'produit|service',$fieldvalue,'product&product','','',$fieldtype); +$socid = ''; +if (! empty($user->societe_id)) $socid=$user->societe_id; +$result = restrictedArea($user, 'produit|service', $fieldvalue, 'product&product', '', '', $fieldtype); // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array $hookmanager->initHooks(array('productstatssupplyinvoice')); $mesg = ''; -$sortfield = GETPOST("sortfield",'alpha'); -$sortorder = GETPOST("sortorder",'alpha'); -$page = GETPOST("page",'int'); +$sortfield = GETPOST("sortfield", 'alpha'); +$sortorder = GETPOST("sortorder", 'alpha'); +$page = GETPOST("page", 'int'); if ($page == -1) { $page = 0; } $offset = $conf->liste_limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; -if (! $sortorder) $sortorder="DESC"; -if (! $sortfield) $sortfield="f.datef"; - +if (! $sortorder) $sortorder = "DESC"; +if (! $sortfield) $sortfield = "f.datef"; +$search_month = GETPOST('search_month', 'aplha'); +$search_year = GETPOST('search_year', 'int'); +if (GETPOST("button_removefilter_x")) { + $search_month = ''; + $search_year = ''; +} /* * View */ -$supplierinvoicestatic=new FactureFournisseur($db); +$supplierinvoicestatic = new FactureFournisseur($db); +$societestatic = new Societe($db); $form = new Form($db); +$formother = new FormOther($db); if ($id > 0 || ! empty($ref)) { $product = new Product($db); $result = $product->fetch($id, $ref); - - $parameters=array('id'=>$id); - $reshook=$hookmanager->executeHooks('doActions',$parameters,$product,$action); // Note that $action and $object may have been modified by some hooks + + $parameters = array('id' => $id); + $reshook = $hookmanager->executeHooks('doActions', $parameters, $product, $action); // Note that $action and $object may have been modified by some hooks if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); - - llxHeader("","",$langs->trans("CardProduct".$product->type)); - - if ($result > 0) - { - /* - * En mode visu - */ - $head=product_prepare_head($product, $user); - $titre=$langs->trans("CardProduct".$product->type); - $picto=($product->type==1?'service':'product'); + + llxHeader("", "", $langs->trans("CardProduct" . $product->type)); + + if ($result > 0) + { + $head = product_prepare_head($product, $user); + $titre = $langs->trans("CardProduct" . $product->type); + $picto = ($product->type == 1 ? 'service' : 'product'); dol_fiche_head($head, 'referers', $titre, 0, $picto); - - $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$product,$action); // Note that $action and $object may have been modified by hook + + $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $product, $action); // Note that $action and $object may have been modified by hook if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); - - print ''; - - // Reference - print ''; - print ''; - print ''; - - // Libelle - print ''; - print ''; - + + print '
'.$langs->trans("Ref").''; - print $form->showrefnav($product,'ref','',1,'ref'); - print '
'.$langs->trans("Label").''.$product->libelle.'
'; + + // Reference + print ''; + print ''; + print ''; + + // Libelle + print ''; + print ''; + // Status (to sell) - print ''; - + // Status (to buy) - print ''; + + show_stats_for_company($product, $socid); + + print "
' . $langs->trans("Ref") . ''; + print $form->showrefnav($product, 'ref', '', 1, 'ref'); + print '
' . $langs->trans("Label") . '' . $product->libelle . '
'.$langs->trans("Status").' ('.$langs->trans("Sell").')'; - print $product->getLibStatut(2,0); + print '
' . $langs->trans("Status") . ' (' . $langs->trans("Sell") . ')'; + print $product->getLibStatut(2, 0); print '
'.$langs->trans("Status").' ('.$langs->trans("Buy").')'; - print $product->getLibStatut(2,1); + print '
' . $langs->trans("Status") . ' (' . $langs->trans("Buy") . ')'; + print $product->getLibStatut(2, 1); print '
"; + + print ''; + + if ($user->rights->fournisseur->facture->lire) + { + $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client, f.ref, f.total_ht as total_ht,"; + $sql .= " f.datef, f.paye, f.fk_statut as statut, f.rowid as facid, d.qty"; + if (! $user->rights->societe->client->voir && ! $socid) + $sql .= ", sc.fk_soc, sc.fk_user "; + $sql .= " FROM " . MAIN_DB_PREFIX . "societe as s"; + $sql .= ", " . MAIN_DB_PREFIX . "facture_fourn as f"; + $sql .= ", " . MAIN_DB_PREFIX . "facture_fourn_det as d"; + if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", " . MAIN_DB_PREFIX . "societe_commerciaux as sc"; + $sql .= " WHERE f.fk_soc = s.rowid"; + $sql .= " AND f.entity = " . $conf->entity; + $sql .= " AND d.fk_facture_fourn = f.rowid"; + $sql .= " AND d.fk_product =" . $product->id; + if (! empty($search_month)) + $sql .= ' AND MONTH(f.datef) IN (' . $search_month . ')'; + if (! empty($search_year)) + $sql .= ' AND YEAR(f.datef) IN (' . $search_year . ')'; + if (! $user->rights->societe->client->voir && ! $socid) $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = " . $user->id; + if ($socid) $sql .= " AND f.fk_soc = " . $socid; + $sql .= " ORDER BY $sortfield $sortorder "; + + // Calcul total qty and amount for global if full scan list + $total_ht = 0; + $total_qty = 0; + $totalrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $result = $db->query($sql); + if ($result) { + $totalrecords = $db->num_rows($result); + while ( $objp = $db->fetch_object($result) ) { + $total_ht += $objp->total_ht; + $total_qty += $objp->qty; + } + } + } + + $sql .= $db->plimit($conf->liste_limit + 1, $offset); + + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + + if (! empty($id)) + $option .= '&id=' . $product->id; + if (! empty($search_month)) + $option .= '&search_month=' . $search_month; + if (! empty($search_year)) + $option .= '&search_year=' . $search_year; + + print '
' . "\n"; + if (! empty($sortfield)) + print ''; + if (! empty($sortorder)) + print ''; + if (! empty($page)) { + print ''; + $option .= '&page=' . $page; + } - show_stats_for_company($product,$socid); - - print ""; - - print ''; - - - $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client, f.ref, f.total_ht as total_ht,"; - $sql.= " f.datef, f.paye, f.fk_statut as statut, f.rowid as facid, d.qty"; - if (!$user->rights->societe->client->voir && !$socid) $sql.= ", sc.fk_soc, sc.fk_user "; - $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; - $sql.= ", ".MAIN_DB_PREFIX."facture_fourn as f"; - $sql.= ", ".MAIN_DB_PREFIX."facture_fourn_det as d"; - if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; - $sql.= " WHERE f.fk_soc = s.rowid"; - $sql.= " AND f.entity = ".$conf->entity; - $sql.= " AND d.fk_facture_fourn = f.rowid"; - $sql.= " AND d.fk_product =".$product->id; - if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - if ($socid) $sql.= " AND f.fk_soc = ".$socid; - $sql.= " ORDER BY $sortfield $sortorder "; - $sql.= $db->plimit($conf->liste_limit +1, $offset); - - $result = $db->query($sql); - if ($result) - { - $num = $db->num_rows($result); - - print_barre_liste($langs->trans("SuppliersInvoices"),$page,$_SERVER["PHP_SELF"],"&id=$product->id",$sortfield,$sortorder,'',$num,0,''); - - $i = 0; - print ""; - - print ''; - print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"s.rowid","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("SupplierCode"),$_SERVER["PHP_SELF"],"s.code_client","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("DateInvoice"),$_SERVER["PHP_SELF"],"f.datef","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Qty"),$_SERVER["PHP_SELF"],"d.qty","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"f.total_ht","","&id=".$product->id,'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"f.paye,f.fk_statut","","&id=".$product->id,'align="right"',$sortfield,$sortorder); - print "\n"; - - if ($num > 0) - { - $var=True; - while ($i < $num && $conf->liste_limit) - { - $objp = $db->fetch_object($result); - $var=!$var; - - print ""; - print '\n"; - print ''; - print "\n"; - print ""; - print "\n"; - print "\n"; - print ''; - print "\n"; - $i++; - } - } - } - else - { - dol_print_error($db); - } - print "
'; - $supplierinvoicestatic->id=$objp->facid; - $supplierinvoicestatic->ref=$objp->facnumber; - print $supplierinvoicestatic->getNomUrl(1); - print "'.img_object($langs->trans("ShowCompany"),"company").' '.dol_trunc($objp->name,44).'".$objp->code_client.""; - print dol_print_date($db->jdate($objp->datef))."".$objp->qty."".price($objp->total_ht)."'.$supplierinvoicestatic->LibStatut($objp->paye,$objp->statut,5).'
"; - print '
'; - $db->free($result); - } + print_barre_liste($langs->trans("SuppliersInvoices"), $page, $_SERVER["PHP_SELF"], "&id=$product->id", $sortfield, $sortorder, '', $num, $totalrecords, ''); + print '
'; + print $langs->trans('Period') . '(' . $langs->trans("DateInvoice") . ') '; + print $langs->trans('Month') . ': '; + print $langs->trans('Year') . ':' . $formother->selectyear($search_year ? $search_year : - 1, 'search_year', 1, 20, 5); + print ''; + print ''; + print '
'; + + $i = 0; + print ''; + print ''; + print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "s.rowid", "", $option, '', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("Company"), $_SERVER["PHP_SELF"], "s.nom", "", $option, '', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("SupplierCode"), $_SERVER["PHP_SELF"], "s.code_client", "", $option, '', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("DateInvoice"), $_SERVER["PHP_SELF"], "f.datef", "", $option, 'align="center"', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("Qty"), $_SERVER["PHP_SELF"], "d.qty", "", $option, 'align="center"', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("AmountHT"), $_SERVER["PHP_SELF"], "f.total_ht", "", $option, 'align="right"', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("Status"), $_SERVER["PHP_SELF"], "f.paye,f.fk_statut", "", $option, 'align="right"', $sortfield, $sortorder); + print "\n"; + + if ($num > 0) + { + $var = True; + while ($i < $num && $i < $conf->liste_limit) + { + $objp = $db->fetch_object($result); + $var = ! $var; + + print ''; + print '\n"; + $societestatic->fetch($objp->socid); + print ''; + print "\n"; + print '"; + print '\n"; + print '\n"; + print ''; + print "\n"; + $i ++; + + if (! empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $total_ht += $objp->total_ht; + $total_qty += $objp->qty; + } + } + } + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print "
'; + $supplierinvoicestatic->id = $objp->facid; + $supplierinvoicestatic->ref = $objp->facnumber; + print $supplierinvoicestatic->getNomUrl(1); + print "' . $societestatic->getNomUrl(1) . '" . $objp->code_client . "'; + print dol_print_date($db->jdate($objp->datef)) . "' . $objp->qty . "' . price($objp->total_ht) . "' . $supplierinvoicestatic->LibStatut($objp->paye, $objp->statut, 5) . '
' . $langs->trans('Total') . '' . $total_qty . '' . price($total_ht) . '
"; + print '
'; + print '
'; + } else { + dol_print_error($db); + } + $db->free($result); + } + } +} else { + dol_print_error(); } -else -{ - dol_print_error(); -} - llxFooter(); $db->close(); diff --git a/htdocs/product/stats/propal.php b/htdocs/product/stats/propal.php index 566961d9c5f..e8fc8e6ee27 100644 --- a/htdocs/product/stats/propal.php +++ b/htdocs/product/stats/propal.php @@ -2,6 +2,7 @@ /* Copyright (C) 2004-2007 Rodolphe Quiedeville * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2014 Florian Henry * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,16 +19,16 @@ */ /** - * \file htdocs/product/stats/propal.php - * \ingroup product service propal - * \brief Page des stats des propals pour un produit + * \file htdocs/product/stats/propal.php + * \ingroup product service propal + * \brief Page des stats des propals pour un produit */ - require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; -require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/product.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/comm/propal/class/propal.class.php'; +require_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php'; $langs->load("products"); $langs->load("companies"); @@ -38,154 +39,226 @@ $ref = GETPOST('ref', 'alpha'); // Security check $fieldvalue = (! empty($id) ? $id : (! empty($ref) ? $ref : '')); $fieldtype = (! empty($ref) ? 'ref' : 'rowid'); -if ($user->societe_id) $socid=$user->societe_id; -$result=restrictedArea($user,'produit|service',$fieldvalue,'product&product','','',$fieldtype); +$socid=''; +if (! empty($user->societe_id)) $socid=$user->societe_id; +$result = restrictedArea($user, 'produit|service', $fieldvalue, 'product&product', '', '', $fieldtype); // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array -$hookmanager->initHooks(array('productstatspropal')); +$hookmanager->initHooks(array ('productstatspropal')); $mesg = ''; -$sortfield = GETPOST("sortfield",'alpha'); -$sortorder = GETPOST("sortorder",'alpha'); -$page = GETPOST("page",'int'); -if ($page == -1) { $page = 0; } +$sortfield = GETPOST("sortfield", 'alpha'); +$sortorder = GETPOST("sortorder", 'alpha'); +$page = GETPOST("page", 'int'); +if ($page == - 1) { $page = 0;} $offset = $conf->liste_limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; -if (! $sortorder) $sortorder="DESC"; -if (! $sortfield) $sortfield="p.datep"; +if (! $sortorder) $sortorder = "DESC"; +if (! $sortfield) $sortfield = "p.datep"; +$search_month = GETPOST('search_month', 'aplha'); +$search_year = GETPOST('search_year', 'int'); + +if (GETPOST("button_removefilter_x")) { + $search_month = ''; + $search_year = ''; +} /* * View */ + +$propalstatic = new Propal($db); +$societestatic=new Societe($db); + $form = new Form($db); +$formother = new FormOther($db); if ($id > 0 || ! empty($ref)) { $product = new Product($db); $result = $product->fetch($id, $ref); - - $parameters=array('id'=>$id); - $reshook=$hookmanager->executeHooks('doActions',$parameters,$product,$action); // Note that $action and $object may have been modified by some hooks + + $parameters = array ('id' => $id); + $reshook = $hookmanager->executeHooks('doActions', $parameters, $product, $action); // Note that $action and $object may have been modified by some hooks if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); - - llxHeader("","",$langs->trans("CardProduct".$product->type)); - + + llxHeader("", "", $langs->trans("CardProduct" . $product->type)); + if ($result > 0) { - $head=product_prepare_head($product, $user); - $titre=$langs->trans("CardProduct".$product->type); - $picto=($product->type==1?'service':'product'); - dol_fiche_head($head, 'referers', $titre,0,$picto); - - $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$product,$action); // Note that $action and $object may have been modified by hook + $head = product_prepare_head($product, $user); + $titre = $langs->trans("CardProduct" . $product->type); + $picto = ($product->type == 1 ? 'service' : 'product'); + dol_fiche_head($head, 'referers', $titre, 0, $picto); + + $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $product, $action); // Note that $action and $object may have been modified by hook if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); - + print ''; - + // Reference print ''; - print ''; print ''; - + // Libelle - print ''; + print ''; print ''; - + // Status (to sell) - print ''; - + // Status (to buy) - print ''; - - show_stats_for_company($product,$socid); - + + show_stats_for_company($product, $socid); + print "
'.$langs->trans("Ref").''; - print $form->showrefnav($product,'ref','',1,'ref'); + print '' . $langs->trans("Ref") . ''; + print $form->showrefnav($product, 'ref', '', 1, 'ref'); print '
'.$langs->trans("Label").''.$product->libelle.'
' . $langs->trans("Label") . '' . $product->libelle . '
'.$langs->trans("Status").' ('.$langs->trans("Sell").')'; - print $product->getLibStatut(2,0); + print '
' . $langs->trans("Status") . ' (' . $langs->trans("Sell") . ')'; + print $product->getLibStatut(2, 0); print '
'.$langs->trans("Status").' ('.$langs->trans("Buy").')'; - print $product->getLibStatut(2,1); + print '
' . $langs->trans("Status") . ' (' . $langs->trans("Buy") . ')'; + print $product->getLibStatut(2, 1); print '
"; - + print ''; - - - $sql = "SELECT DISTINCT s.nom as name, s.rowid as socid, p.rowid as propalid, p.ref, p.total_ht as amount,"; - $sql.= "p.datep, p.fk_statut as statut, d.qty"; - if (!$user->rights->societe->client->voir && !$socid) $sql.= ", sc.fk_soc, sc.fk_user "; - $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; - $sql.= ",".MAIN_DB_PREFIX."propal as p"; - $sql.= ", ".MAIN_DB_PREFIX."propaldet as d"; - if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; - $sql.= " WHERE p.fk_soc = s.rowid"; - $sql.= " AND p.entity = ".$conf->entity; - $sql.= " AND d.fk_propal = p.rowid"; - $sql.= " AND d.fk_product =".$product->id; - if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - if ($socid) $sql.= " AND p.fk_soc = ".$socid; - $sql.= " ORDER BY $sortfield $sortorder "; - $sql.= $db->plimit($conf->liste_limit +1, $offset); - - $result = $db->query($sql); - if ($result) - { - $num = $db->num_rows($result); - - print_barre_liste($langs->trans("Proposals"),$page,$_SERVER["PHP_SELF"],"&id=$product->id",$sortfield,$sortorder,'',$num,0,''); - - $i = 0; - print ''; - print ''; - print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"p.rowid","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("DatePropal"),$_SERVER["PHP_SELF"],"p.datep","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Qty"),$_SERVER["PHP_SELF"],"d.qty","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"p.total","","&id=".$product->id,'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"p.fk_statut","","&id=".$product->id,'align="right"',$sortfield,$sortorder); - print "\n"; - - $propalstatic=new Propal($db); - - if ($num > 0) - { - $var=True; - while ($i < $num && $i < $conf->liste_limit) - { - $objp = $db->fetch_object($result); - $var=!$var; - - print ''; - print ''."\n"; - print ''; - print '"; - print "\n"; - print ''."\n"; - print ''; - print ''."\n"; - $i++; + + if ($user->rights->propale->lire) { + $sql = "SELECT DISTINCT s.nom as name, s.rowid as socid, p.rowid as propalid, p.ref, p.total_ht as amount,"; + $sql .= " p.ref_client,"; + $sql .= "p.datep, p.fk_statut as statut, d.qty"; + if (! $user->rights->societe->client->voir && ! $socid) + $sql .= ", sc.fk_soc, sc.fk_user "; + $sql .= " FROM " . MAIN_DB_PREFIX . "societe as s"; + $sql .= "," . MAIN_DB_PREFIX . "propal as p"; + $sql .= ", " . MAIN_DB_PREFIX . "propaldet as d"; + if (! $user->rights->societe->client->voir && ! $socid) + $sql .= ", " . MAIN_DB_PREFIX . "societe_commerciaux as sc"; + $sql .= " WHERE p.fk_soc = s.rowid"; + $sql .= " AND p.entity = " . $conf->entity; + $sql .= " AND d.fk_propal = p.rowid"; + $sql .= " AND d.fk_product =" . $product->id; + if (! empty($search_month)) + $sql .= ' AND MONTH(p.datep) IN (' . $search_month . ')'; + if (! empty($search_year)) + $sql .= ' AND YEAR(p.datep) IN (' . $search_year . ')'; + if (! $user->rights->societe->client->voir && ! $socid) + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = " . $user->id; + if ($socid) + $sql .= " AND p.fk_soc = " . $socid; + $sql .= " ORDER BY $sortfield $sortorder "; + + // Calcul total qty and amount for global if full scan list + $total_ht = 0; + $total_qty = 0; + $totalrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $result = $db->query($sql); + if ($result) { + $totalrecords = $db->num_rows($result); + while ( $objp = $db->fetch_object($result) ) { + $total_ht += $objp->amount; + $total_qty += $objp->qty; + } } } - } - else - { + + $sql .= $db->plimit($conf->liste_limit + 1, $offset); + + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + + if (! empty($id)) + $option .= '&id=' . $product->id; + if (! empty($search_month)) + $option .= '&search_month=' . $search_month; + if (! empty($search_year)) + $option .= '&search_year=' . $search_year; + + print '' . "\n"; + if (! empty($sortfield)) + print ''; + if (! empty($sortorder)) + print ''; + if (! empty($page)) { + print ''; + $option .= '&page=' . $page; + } + + print_barre_liste($langs->trans("Proposals"), $page, $_SERVER["PHP_SELF"], "&id=$product->id", $sortfield, $sortorder, '', $num, $totalrecords, ''); + print '
'; + print $langs->trans('Period') . '(' . $langs->trans("DateInvoice") . ') '; + print $langs->trans('Month') . ': '; + print $langs->trans('Year') . ':' . $formother->selectyear($search_year ? $search_year : - 1, 'search_year', 1, 20, 5); + print ''; + print ''; + print '
'; + + $i = 0; + print '
'.img_object($langs->trans("ShowPropal"),"propal").' '; - print $objp->ref; - print ''.img_object($langs->trans("ShowCompany"),"company").' '.dol_trunc($objp->name,44).''; - print dol_print_date($db->jdate($objp->datep))."".$objp->qty."'.price($objp->amount).''.$propalstatic->LibStatut($objp->statut,5).'
'; + print ''; + print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "p.rowid", "", $option, '', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("Company"), $_SERVER["PHP_SELF"], "s.nom", "", $option, '', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("DatePropal"), $_SERVER["PHP_SELF"], "p.datep", "", $option, 'align="center"', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("Qty"), $_SERVER["PHP_SELF"], "d.qty", "", $option, 'align="center"', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("AmountHT"), $_SERVER["PHP_SELF"], "p.total", "", $option, 'align="right"', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("Status"), $_SERVER["PHP_SELF"], "p.fk_statut", "", $option, 'align="right"', $sortfield, $sortorder); + print "\n"; + + if ($num > 0) + { + $var = True; + while ($i < $num && $i < $conf->liste_limit) + { + $objp = $db->fetch_object($result); + $var = ! $var; + + print ''; + print '\n"; + $societestatic->fetch($objp->socid); + print ''; + print '"; + print "\n"; + print '' . "\n"; + print ''; + print "\n"; + $i ++; + + if (! empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $total_ht += $objp->total_ht; + $total_qty += $objp->qty; + } + } + } + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print "
'; + $propalstatic->id=$objp->propalid; + $propalstatic->ref=$objp->ref; + $propalstatic->ref_client=$objp->ref_client; + print $propalstatic->getNomUrl(1); + print "'.$societestatic->getNomUrl(1).''; + print dol_print_date($db->jdate($objp->datep)) . "" . $objp->qty . "' . price($objp->amount) . '' . $propalstatic->LibStatut($objp->statut, 5) . '
' . $langs->trans('Total') . '' . $total_qty . '' . price($total_ht) . '
"; + print ''; + print '
'; + } else { dol_print_error($db); } - print ""; - print '
'; $db->free($result); + } } -} -else -{ +} else { dol_print_error(); } - llxFooter(); $db->close(); From eea48153128337c2b3d0fa3fb47e2d192703bc1e Mon Sep 17 00:00:00 2001 From: Florian HENRY Date: Sat, 7 Feb 2015 20:58:18 +0100 Subject: [PATCH 031/137] Display amount of line not total amount --- htdocs/product/stats/commande.php | 2 +- htdocs/product/stats/commande_fournisseur.php | 2 +- htdocs/product/stats/facture.php | 2 +- htdocs/product/stats/facture_fournisseur.php | 2 +- htdocs/product/stats/propal.php | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/htdocs/product/stats/commande.php b/htdocs/product/stats/commande.php index 68170bd19df..a95e9c3b95f 100644 --- a/htdocs/product/stats/commande.php +++ b/htdocs/product/stats/commande.php @@ -128,7 +128,7 @@ if ($id > 0 || ! empty($ref)) if ($user->rights->commande->lire) { - $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client, c.rowid, c.total_ht as total_ht, c.ref,"; + $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client, c.rowid, d.total_ht as total_ht, c.ref,"; $sql .= " c.ref_client,"; $sql.= " c.date_commande, c.fk_statut as statut, c.facture, c.rowid as commandeid, d.qty"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", sc.fk_soc, sc.fk_user "; diff --git a/htdocs/product/stats/commande_fournisseur.php b/htdocs/product/stats/commande_fournisseur.php index f5b362d5423..3ab51e75701 100644 --- a/htdocs/product/stats/commande_fournisseur.php +++ b/htdocs/product/stats/commande_fournisseur.php @@ -136,7 +136,7 @@ if ($id > 0 || ! empty($ref)) { if ($user->rights->fournisseur->commande->lire) { $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client,"; - $sql .= " c.rowid, c.total_ht as total_ht, c.ref,"; + $sql .= " c.rowid, d.total_ht as total_ht, c.ref,"; $sql .= " c.date_commande, c.fk_statut as statut, c.rowid as commandeid, d.qty"; if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", sc.fk_soc, sc.fk_user "; diff --git a/htdocs/product/stats/facture.php b/htdocs/product/stats/facture.php index 8269a7f57da..7f1be2a4621 100644 --- a/htdocs/product/stats/facture.php +++ b/htdocs/product/stats/facture.php @@ -130,7 +130,7 @@ if ($id > 0 || ! empty($ref)) if ($user->rights->facture->lire) { $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client,"; - $sql.= " f.facnumber, f.total as total_ht,"; + $sql.= " f.facnumber, d.total_ht as total_ht,"; $sql.= " f.datef, f.paye, f.fk_statut as statut, f.rowid as facid, d.qty"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", sc.fk_soc, sc.fk_user "; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; diff --git a/htdocs/product/stats/facture_fournisseur.php b/htdocs/product/stats/facture_fournisseur.php index 362e3e1427e..81f23e8fa4c 100644 --- a/htdocs/product/stats/facture_fournisseur.php +++ b/htdocs/product/stats/facture_fournisseur.php @@ -130,7 +130,7 @@ if ($id > 0 || ! empty($ref)) if ($user->rights->fournisseur->facture->lire) { - $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client, f.ref, f.total_ht as total_ht,"; + $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client, f.ref, d.total_ht as total_ht,"; $sql .= " f.datef, f.paye, f.fk_statut as statut, f.rowid as facid, d.qty"; if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", sc.fk_soc, sc.fk_user "; diff --git a/htdocs/product/stats/propal.php b/htdocs/product/stats/propal.php index e8fc8e6ee27..ee717890123 100644 --- a/htdocs/product/stats/propal.php +++ b/htdocs/product/stats/propal.php @@ -127,7 +127,7 @@ if ($id > 0 || ! empty($ref)) print ''; if ($user->rights->propale->lire) { - $sql = "SELECT DISTINCT s.nom as name, s.rowid as socid, p.rowid as propalid, p.ref, p.total_ht as amount,"; + $sql = "SELECT DISTINCT s.nom as name, s.rowid as socid, p.rowid as propalid, p.ref, d.total_ht as amount,"; $sql .= " p.ref_client,"; $sql .= "p.datep, p.fk_statut as statut, d.qty"; if (! $user->rights->societe->client->voir && ! $socid) From ef31ca9b843ae9c067ed2cb4124c831ef1567421 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 7 Feb 2015 23:32:46 +0100 Subject: [PATCH 032/137] New: Add balance of each account statement. --- htdocs/compta/bank/releve.php | 42 +++++++++++++++++-- .../install/mysql/migration/3.7.0-3.8.0.sql | 3 ++ htdocs/install/mysql/tables/llx_bank.key.sql | 2 + 3 files changed, 44 insertions(+), 3 deletions(-) diff --git a/htdocs/compta/bank/releve.php b/htdocs/compta/bank/releve.php index 902495bc6aa..2fa9436d366 100644 --- a/htdocs/compta/bank/releve.php +++ b/htdocs/compta/bank/releve.php @@ -146,9 +146,14 @@ if (empty($num)) print ''; print ''; - print ''; + print ''; + print ''; + print ''; + print ''; + + $balancestart=array(); + $content=array(); - //while ($i < min($numrows,$conf->liste_limit)) // retrait de la limite tant qu'il n'y a pas de pagination while ($i < min($numrows,$conf->liste_limit)) { $objp = $db->fetch_object($result); @@ -159,7 +164,37 @@ if (empty($num)) } else { - print ''."\n"; + print ''; + + // Calculate start amount + $sql = "SELECT sum(b.amount) as amount"; + $sql.= " FROM ".MAIN_DB_PREFIX."bank as b"; + $sql.= " WHERE b.num_releve < '".$db->escape($objp->numr)."'"; + $sql.= " AND b.fk_account = ".$acct->id; + $resql=$db->query($sql); + if ($resql) + { + $obj=$db->fetch_object($resql); + $balancestart[$objp->numr] = $obj->amount; + $db->free($resql); + } + print ''; + + // Calculate end amount + $sql = "SELECT sum(b.amount) as amount"; + $sql.= " FROM ".MAIN_DB_PREFIX."bank as b"; + $sql.= " WHERE b.num_releve = '".$db->escape($objp->numr)."'"; + $sql.= " AND b.fk_account = ".$acct->id; + $resql=$db->query($sql); + if ($resql) + { + $obj=$db->fetch_object($resql); + $content[$objp->numr] = $obj->amount; + $db->free($resql); + } + print ''; + + print ''."\n"; } $i++; } @@ -179,6 +214,7 @@ else */ $ve=$_GET["ve"]; + // Define number of receipt to show (current, previous or next one ?) $found=false; if ($_GET["rel"] == 'prev') { diff --git a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql index 60d0e0660da..a96888b5173 100755 --- a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql +++ b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql @@ -19,6 +19,9 @@ -- -- VMYSQL4.1 DELETE FROM llx_usergroup_user WHERE fk_usergroup NOT IN (SELECT rowid from llx_usergroup); +ALTER TABLE llx_bank ADD INDEX idx_bank_num_releve(num_releve); + + --create table for price expressions and add column in product supplier create table llx_c_price_expression ( diff --git a/htdocs/install/mysql/tables/llx_bank.key.sql b/htdocs/install/mysql/tables/llx_bank.key.sql index cab5f200234..8eb2e963a32 100644 --- a/htdocs/install/mysql/tables/llx_bank.key.sql +++ b/htdocs/install/mysql/tables/llx_bank.key.sql @@ -20,5 +20,7 @@ ALTER TABLE llx_bank ADD INDEX idx_bank_datev(datev); ALTER TABLE llx_bank ADD INDEX idx_bank_dateo(dateo); ALTER TABLE llx_bank ADD INDEX idx_bank_fk_account(fk_account); ALTER TABLE llx_bank ADD INDEX idx_bank_rappro(rappro); +ALTER TABLE llx_bank ADD INDEX idx_bank_num_releve(num_releve); + From 0ca6661e6916e06e38a2f5873a8d91e2363d8d31 Mon Sep 17 00:00:00 2001 From: Alexis Algoud Date: Sat, 7 Feb 2015 23:33:37 +0100 Subject: [PATCH 033/137] FIX empty discount where created if amount is null for a line with a different tva --- htdocs/compta/facture.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index 8e74c674084..67ba28b4e47 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -563,10 +563,12 @@ if (empty($reshook)) // Boucle sur chaque taux de tva $i = 0; foreach ($object->lines as $line) { - $amount_ht [$line->tva_tx] += $line->total_ht; - $amount_tva [$line->tva_tx] += $line->total_tva; - $amount_ttc [$line->tva_tx] += $line->total_ttc; - $i ++; + if($line->total_ht!=0) { // no need to create discount if amount is null + $amount_ht [$line->tva_tx] += $line->total_ht; + $amount_tva [$line->tva_tx] += $line->total_tva; + $amount_ttc [$line->tva_tx] += $line->total_ttc; + $i ++; + } } // Insert one discount by VAT rate category @@ -583,6 +585,7 @@ if (empty($reshook)) $discount->fk_facture_source = $object->id; $error = 0; + foreach ($amount_ht as $tva_tx => $xxx) { $discount->amount_ht = abs($amount_ht [$tva_tx]); $discount->amount_tva = abs($amount_tva [$tva_tx]); From 120838becdafcbd43e80943fc0342521742c2f4b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 8 Feb 2015 00:12:50 +0100 Subject: [PATCH 034/137] Update doc --- CONTRIBUTING.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1c443fb0f53..e2282654fc9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -47,9 +47,9 @@ Long description (Can span accross multiple lines). Where KEYWORD is one of: -- void: don't put a keyword if the commit is not introducing feature or closing a bug. -- NEW: for new features (May be followed by the task number i.e: #123) -- FIXED: for bug fixes (May be followed by the bug number i.e: #456) +- "FIXED:" for bug fixes (May be followed by the bug number i.e: #456) +- "NEW:" for new features (May be followed by the task number i.e: #123) +- void, don't put a keyword if the commit is not introducing feature or closing a bug. ### Resources [Developer documentation](http://wiki.dolibarr.org/index.php/Developer_documentation) From 381af3e6bc707c1a56e395a1a196dbfd392ac947 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 8 Feb 2015 00:32:49 +0100 Subject: [PATCH 035/137] Field amount must be right aligned --- htdocs/compta/bank/releve.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/htdocs/compta/bank/releve.php b/htdocs/compta/bank/releve.php index 2fa9436d366..6f207b198cf 100644 --- a/htdocs/compta/bank/releve.php +++ b/htdocs/compta/bank/releve.php @@ -147,8 +147,8 @@ if (empty($num)) print '
'.$langs->trans("AccountStatement").'
'.$langs->trans("AccountStatement").''.$langs->trans("InitialBankBalance").''.$langs->trans("EndBankBalance").'
'.$objp->numr.'
'.$objp->numr.''.price($balancestart[$objp->numr],'',$langs,1,-1,-1,$conf->currency).''.price(($balancestart[$objp->numr]+$content[$objp->numr]),'',$langs,1,-1,-1,$conf->currency).'
'; print ''; print ''; - print ''; - print ''; + print ''; + print ''; print ''; $balancestart=array(); @@ -178,7 +178,7 @@ if (empty($num)) $balancestart[$objp->numr] = $obj->amount; $db->free($resql); } - print ''; + print ''; // Calculate end amount $sql = "SELECT sum(b.amount) as amount"; @@ -192,7 +192,7 @@ if (empty($num)) $content[$objp->numr] = $obj->amount; $db->free($resql); } - print ''; + print ''; print ''."\n"; } From 3f807a09b4ff6a4e49fbb907f16a6a8ca421fcb9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 8 Feb 2015 00:39:51 +0100 Subject: [PATCH 036/137] Doxygen --- htdocs/fourn/class/fournisseur.commande.class.php | 13 +++++++------ htdocs/fourn/class/fournisseur.product.class.php | 7 ++++--- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index d33c20189b0..f23478dab18 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -2109,12 +2109,13 @@ class CommandeFournisseur extends CommonOrder /** * Return the max number delivery delay in day * - * @return string - */ + * @param Translate $langs Language object + * @return Translated string + */ function getMaxDeliveryTimeDay($langs) { if (empty($this->lines)) return $langs->trans('Undefined'); - + $nb = 0; foreach ($this->lines as $line) { $obj = new ProductFournisseur($this->db); @@ -2123,9 +2124,9 @@ class CommandeFournisseur extends CommonOrder $obj->fetch($idp); if ($obj->delivery_time_days > $nb) $nb = $obj->delivery_time_days; } - + } - + if ($nb === 0) return $langs->trans('Undefined'); else return $nb.' '.$langs->trans('Days'); } @@ -2134,7 +2135,7 @@ class CommandeFournisseur extends CommonOrder /** - * Classe de gestion des lignes de commande + * Class to manage line orders */ class CommandeFournisseurLigne extends CommonOrderLine { diff --git a/htdocs/fourn/class/fournisseur.product.class.php b/htdocs/fourn/class/fournisseur.product.class.php index b78d7f2db60..1955d9787d2 100755 --- a/htdocs/fourn/class/fournisseur.product.class.php +++ b/htdocs/fourn/class/fournisseur.product.class.php @@ -42,7 +42,7 @@ class ProductFournisseur extends Product var $id; // product id var $fourn_ref; // deprecated - var $delivery_time_days; + var $delivery_time_days; var $ref_supplier; // ref supplier (can be set by get_buyprice) var $vatrate_supplier; // default vat rate for this supplier/qty/product (can be set by get_buyprice) @@ -154,6 +154,7 @@ class ProductFournisseur extends Product * @param float $remise_percent Discount regarding qty (percent) * @param float $remise Discount regarding qty (amount) * @param int $newnpr Set NPR or not + * @param int $delivery_time_days Delay in days for delivery (max) * @return int <0 if KO, >=0 if OK */ function update_buyprice($qty, $buyprice, $user, $price_base_type, $fourn, $availability, $ref_fourn, $tva_tx, $charges=0, $remise_percent=0, $remise=0, $newnpr=0, $delivery_time_days=0) @@ -528,7 +529,7 @@ class ProductFournisseur extends Product $record_array[]=$record; } - if (count($record_array) == 0) + if (count($record_array) == 0) { $this->db->free($resql); return 0; @@ -537,7 +538,7 @@ class ProductFournisseur extends Product { $min = -1; foreach($record_array as $record) - { + { $fourn_price = $record["price"]; $fourn_unitprice = $record["unitprice"]; if (!empty($record["fk_supplier_price_expression"])) { From 41b0b577435d9525f41bbfe4a21d7b303cbd8d55 Mon Sep 17 00:00:00 2001 From: Florian HENRY Date: Sun, 8 Feb 2015 11:01:27 +0100 Subject: [PATCH 037/137] review || GETPOST("button_removefilter") --- htdocs/product/stats/commande.php | 2 +- htdocs/product/stats/commande_fournisseur.php | 2 +- htdocs/product/stats/facture.php | 2 +- htdocs/product/stats/facture_fournisseur.php | 2 +- htdocs/product/stats/propal.php | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/htdocs/product/stats/commande.php b/htdocs/product/stats/commande.php index a95e9c3b95f..2ae1dcd1582 100644 --- a/htdocs/product/stats/commande.php +++ b/htdocs/product/stats/commande.php @@ -61,7 +61,7 @@ if (! $sortfield) $sortfield="c.date_commande"; $search_month = GETPOST('search_month', 'aplha'); $search_year = GETPOST('search_year', 'int'); -if (GETPOST("button_removefilter_x")) { +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) { $search_month=''; $search_year=''; } diff --git a/htdocs/product/stats/commande_fournisseur.php b/htdocs/product/stats/commande_fournisseur.php index 3ab51e75701..3141b3266e9 100644 --- a/htdocs/product/stats/commande_fournisseur.php +++ b/htdocs/product/stats/commande_fournisseur.php @@ -67,7 +67,7 @@ if (! $sortfield) $search_month = GETPOST('search_month', 'aplha'); $search_year = GETPOST('search_year', 'int'); -if (GETPOST("button_removefilter_x")) { +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) { $search_month = ''; $search_year = ''; } diff --git a/htdocs/product/stats/facture.php b/htdocs/product/stats/facture.php index 7f1be2a4621..b59bc008f17 100644 --- a/htdocs/product/stats/facture.php +++ b/htdocs/product/stats/facture.php @@ -62,7 +62,7 @@ if (! $sortfield) $sortfield="f.datef"; $search_month = GETPOST('search_month', 'aplha'); $search_year = GETPOST('search_year', 'int'); -if (GETPOST("button_removefilter_x")) { +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) { $search_month=''; $search_year=''; } diff --git a/htdocs/product/stats/facture_fournisseur.php b/htdocs/product/stats/facture_fournisseur.php index 81f23e8fa4c..0feb415cc43 100644 --- a/htdocs/product/stats/facture_fournisseur.php +++ b/htdocs/product/stats/facture_fournisseur.php @@ -63,7 +63,7 @@ if (! $sortfield) $sortfield = "f.datef"; $search_month = GETPOST('search_month', 'aplha'); $search_year = GETPOST('search_year', 'int'); -if (GETPOST("button_removefilter_x")) { +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) { $search_month = ''; $search_year = ''; } diff --git a/htdocs/product/stats/propal.php b/htdocs/product/stats/propal.php index ee717890123..50d7c952b6d 100644 --- a/htdocs/product/stats/propal.php +++ b/htdocs/product/stats/propal.php @@ -61,7 +61,7 @@ if (! $sortfield) $sortfield = "p.datep"; $search_month = GETPOST('search_month', 'aplha'); $search_year = GETPOST('search_year', 'int'); -if (GETPOST("button_removefilter_x")) { +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) { $search_month = ''; $search_year = ''; } From db9d727eb8a45aa3aed8cdcf2ed3568476d63733 Mon Sep 17 00:00:00 2001 From: Maxime Kohlhaas Date: Sun, 8 Feb 2015 12:36:55 +0100 Subject: [PATCH 038/137] FIX : Link to user was wrong on bank transaction card --- htdocs/compta/bank/ligne.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/bank/ligne.php b/htdocs/compta/bank/ligne.php index fee53c412b8..4ca2b1eb1ee 100644 --- a/htdocs/compta/bank/ligne.php +++ b/htdocs/compta/bank/ligne.php @@ -360,7 +360,7 @@ if ($result) print ''; } else if ($links[$key]['type']=='user') { - print ''; + print ''; print img_object($langs->trans('ShowUser'),'user').' '; print $langs->trans("User"); print ''; From d9ac21ab822ede55f6090c86c40eb85da1bfa2a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Sun, 8 Feb 2015 16:54:41 +0100 Subject: [PATCH 039/137] Fix: [ bug #1822 ] SQL error in clientfourn.php report with PostgreSQL --- ChangeLog | 1 + htdocs/compta/resultat/clientfourn.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 5870e55152d..349ac323ff9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21,6 +21,7 @@ English Dolibarr ChangeLog - Fix: [ bug #1812 ] SQL Error message while sending emailing with PostgreSQL datatabase - Fix: [ bug #1819 ] SQL error when searching for an invoice payment - Fix: [ bug #1827 ] Tax reports gives incorrect amounts when using external modules that create lines with special codes +- Fix: [ bug #1822 ] SQL error in clientfourn.php report with PostgreSQL ***** ChangeLog for 3.6.2 compared to 3.6.1 ***** - Fix: fix ErrorBadValueForParamNotAString error message in price customer multiprice. diff --git a/htdocs/compta/resultat/clientfourn.php b/htdocs/compta/resultat/clientfourn.php index 26589be3c5d..1e09ea0a8fe 100644 --- a/htdocs/compta/resultat/clientfourn.php +++ b/htdocs/compta/resultat/clientfourn.php @@ -551,7 +551,7 @@ $sql.= " WHERE p.entity = ".$conf->entity; if (! empty($date_start) && ! empty($date_end)) $sql.= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'"; -$sql.= " GROUP BY u.rowid"; +$sql.= " GROUP BY u.rowid, p.label, p.datep, p.fk_user"; $sql.= " ORDER BY u.firstname"; dol_syslog("get payment salaries sql=".$sql); From 5747dbfe9becec1acc8acbcfd0d2d4c4bcd26b61 Mon Sep 17 00:00:00 2001 From: Arnaud Aujon Chevallier Date: Mon, 9 Feb 2015 13:55:43 +0100 Subject: [PATCH 040/137] FIXED : product webservice can now save barcode --- .../webservices/server_productorservice.php | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/htdocs/webservices/server_productorservice.php b/htdocs/webservices/server_productorservice.php index c2eba3f9d1b..a4430ab7b58 100644 --- a/htdocs/webservices/server_productorservice.php +++ b/htdocs/webservices/server_productorservice.php @@ -452,6 +452,12 @@ function createProductOrService($authentication,$product) $error++; $errorcode='KO'; $errorlabel="You must choose between price or price_net to provide price."; } + if ($product['barcode'] && !$product['barcode_type']) + { + $errror++; $errorcode='KO' ; $errorlabel="You must set a barcode type when setting a barcode."; + } + + if (! $error) { @@ -473,6 +479,12 @@ function createProductOrService($authentication,$product) $newobject->price_base_type=$product['price_base_type']; $newobject->date_creation=$now; + if ($product['barcode']) + { + $newobject->barcode = $product['barcode']; + $newobject->barcode_type = $product['barcode_type']; + } + $newobject->stock_reel=$product['stock_real']; $newobject->pmp=$product['pmp']; $newobject->seuil_stock_alert=$product['stock_alert']; @@ -562,6 +574,11 @@ function updateProductOrService($authentication,$product) } + if ($product['barcode'] && !$product['barcode_type']) + { + $errror++; $errorcode='KO' ; $errorlabel="You must set a barcode type when setting a barcode."; + } + if (! $error) { include_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; @@ -584,6 +601,12 @@ function updateProductOrService($authentication,$product) $newobject->price_base_type=$product['price_base_type']; $newobject->date_creation=$now; + if ($product['barcode']) + { + $newobject->barcode = $product['barcode']; + $newobject->barcode_type = $product['barcode_type']; + } + $newobject->stock_reel=$product['stock_real']; $newobject->pmp=$product['pmp']; $newobject->seuil_stock_alert=$product['stock_alert']; From 2483d96b331accf2ee23bfebbd46381e95748815 Mon Sep 17 00:00:00 2001 From: KreizIT Date: Mon, 9 Feb 2015 17:19:20 +0100 Subject: [PATCH 041/137] FIXED: #1829 POS not compatible with batch products --- htdocs/cashdesk/admin/cashdesk.php | 11 ++++++++++- htdocs/core/modules/modProductBatch.class.php | 10 +++++++++- htdocs/langs/en_US/admin.lang | 1 + 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/htdocs/cashdesk/admin/cashdesk.php b/htdocs/cashdesk/admin/cashdesk.php index 1ddde37b98b..7571befb121 100644 --- a/htdocs/cashdesk/admin/cashdesk.php +++ b/htdocs/cashdesk/admin/cashdesk.php @@ -130,7 +130,16 @@ if (! empty($conf->stock->enabled)) $var=!$var; print ''; // Force warehouse (this is not a default value) print ''; $disabled=$conf->global->CASHDESK_NO_DECREASE_STOCK; diff --git a/htdocs/core/modules/modProductBatch.class.php b/htdocs/core/modules/modProductBatch.class.php index 4dd7d0a81ae..50d53f72c57 100644 --- a/htdocs/core/modules/modProductBatch.class.php +++ b/htdocs/core/modules/modProductBatch.class.php @@ -112,8 +112,16 @@ class modProductBatch extends DolibarrModules */ function init($options='') { + global $db,$conf; + $sql = array(); - + + if(! empty($conf->cashdesk->enabled)) { + if (!$conf->global->CASHDESK_NO_DECREASE_STOCK) { + $res = dolibarr_set_const($db,"CASHDESK_NO_DECREASE_STOCK",1,'chaine',0,'',$conf->entity); + } + } + return $this->_init($sql, $options); } diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 59579237d33..3e9a705cd48 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1494,6 +1494,7 @@ CashDeskBankAccountForCB= Default account to use to receive payments by credit c CashDeskDoNotDecreaseStock=Disable stock decrease when a sell is done from Point of Sale CashDeskIdWareHouse=Force and restrict warehouse to use for stock decrease StockDecreaseForPointOfSaleDisabled=Stock decrease from Point Of Sale disabled +StockDecreaseForPointOfSaleDisabledbyBatch=Stock decrease in POS is not compatible with batch management CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=Bookmark module setup From 949f9e40a083cda147619fd5b16bda347eef9f1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 10 Feb 2015 00:20:47 +0100 Subject: [PATCH 042/137] Fix: [ bug #1832 ] SQL error when adding a product with no price defined to an object --- ChangeLog | 1 + htdocs/core/lib/functions.lib.php | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5870e55152d..4c5d250bf9a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21,6 +21,7 @@ English Dolibarr ChangeLog - Fix: [ bug #1812 ] SQL Error message while sending emailing with PostgreSQL datatabase - Fix: [ bug #1819 ] SQL error when searching for an invoice payment - Fix: [ bug #1827 ] Tax reports gives incorrect amounts when using external modules that create lines with special codes +- Fix: [ bug #1832 ] SQL error when adding a product with no price defined to an object ***** ChangeLog for 3.6.2 compared to 3.6.1 ***** - Fix: fix ErrorBadValueForParamNotAString error message in price customer multiprice. diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index f6f09dd1567..2f1beda65dc 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -2952,7 +2952,7 @@ function get_localtax($tva, $local, $thirdparty_buyer="", $thirdparty_seller="") $sql = "SELECT t.localtax1, t.localtax2, t.localtax1_type, t.localtax2_type"; $sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p"; $sql .= " WHERE t.fk_pays = p.rowid AND p.code = '".$thirdparty_seller->country_code."'"; - $sql .= " AND t.taux = ".$tva." AND t.active = 1"; + $sql .= " AND t.taux = ".(int)$tva." AND t.active = 1"; dol_syslog("get_localtax sql=".$sql); $resql=$db->query($sql); @@ -2988,7 +2988,7 @@ function getLocalTaxesFromRate($vatrate, $local, $thirdparty) $sql = "SELECT t.localtax1, t.localtax1_type, t.localtax2, t.localtax2_type, t.accountancy_code_sell, t.accountancy_code_buy"; $sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p"; $sql .= " WHERE t.fk_pays = p.rowid AND p.code = '".$thirdparty->country_code."'"; - $sql .= " AND t.taux = ".$vatrate." AND t.active = 1"; + $sql .= " AND t.taux = ".(int)$vatrate." AND t.active = 1"; $resql=$db->query($sql); if ($resql) From 58a61e129498aeef2512d27351336772f98b4c7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 10 Feb 2015 00:23:32 +0100 Subject: [PATCH 043/137] Changed int typecast to float --- htdocs/core/lib/functions.lib.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 2f1beda65dc..121fbc769b7 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -2952,7 +2952,7 @@ function get_localtax($tva, $local, $thirdparty_buyer="", $thirdparty_seller="") $sql = "SELECT t.localtax1, t.localtax2, t.localtax1_type, t.localtax2_type"; $sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p"; $sql .= " WHERE t.fk_pays = p.rowid AND p.code = '".$thirdparty_seller->country_code."'"; - $sql .= " AND t.taux = ".(int)$tva." AND t.active = 1"; + $sql .= " AND t.taux = ".(float)$tva." AND t.active = 1"; dol_syslog("get_localtax sql=".$sql); $resql=$db->query($sql); @@ -2988,7 +2988,7 @@ function getLocalTaxesFromRate($vatrate, $local, $thirdparty) $sql = "SELECT t.localtax1, t.localtax1_type, t.localtax2, t.localtax2_type, t.accountancy_code_sell, t.accountancy_code_buy"; $sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p"; $sql .= " WHERE t.fk_pays = p.rowid AND p.code = '".$thirdparty->country_code."'"; - $sql .= " AND t.taux = ".(int)$vatrate." AND t.active = 1"; + $sql .= " AND t.taux = ".(float)$vatrate." AND t.active = 1"; $resql=$db->query($sql); if ($resql) From a9dc6bb3d7a8797787d2016f0d9413cb2f00172c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 10 Feb 2015 00:55:22 +0100 Subject: [PATCH 044/137] Fix: [ bug #1826 ] Supplier payment types are not translated in fourn/facture/paiement.php --- ChangeLog | 1 + htdocs/fourn/facture/paiement.php | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5870e55152d..eb0736c543d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21,6 +21,7 @@ English Dolibarr ChangeLog - Fix: [ bug #1812 ] SQL Error message while sending emailing with PostgreSQL datatabase - Fix: [ bug #1819 ] SQL error when searching for an invoice payment - Fix: [ bug #1827 ] Tax reports gives incorrect amounts when using external modules that create lines with special codes +- Fix: [ bug #1826 ] Supplier payment types are not translated in fourn/facture/paiement.php ***** ChangeLog for 3.6.2 compared to 3.6.1 ***** - Fix: fix ErrorBadValueForParamNotAString error message in price customer multiprice. diff --git a/htdocs/fourn/facture/paiement.php b/htdocs/fourn/facture/paiement.php index b6a4c5a7925..a8576cff01d 100644 --- a/htdocs/fourn/facture/paiement.php +++ b/htdocs/fourn/facture/paiement.php @@ -5,6 +5,7 @@ * Copyright (C) 2004 Christophe Combelles * Copyright (C) 2005 Marc Barilley / Ocebo * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -447,7 +448,7 @@ if (empty($action)) $sql = 'SELECT p.rowid as pid, p.datep as dp, p.amount as pamount, p.num_paiement,'; $sql.= ' s.rowid as socid, s.nom,'; - $sql.= ' c.libelle as paiement_type,'; + $sql.= ' c.code as paiement_type, c.libelle as paiement_libelle,'; $sql.= ' ba.rowid as bid, ba.label,'; if (!$user->rights->societe->client->voir) $sql .= ' sc.fk_soc, sc.fk_user,'; $sql.= ' SUM(f.amount)'; @@ -486,7 +487,7 @@ if (empty($action)) { $sql .= " AND s.nom LIKE '%".$db->escape($search_company)."%'"; } - $sql.= " GROUP BY p.rowid, p.datep, p.amount, p.num_paiement, s.rowid, s.nom, c.libelle, ba.rowid, ba.label"; + $sql.= " GROUP BY p.rowid, p.datep, p.amount, p.num_paiement, s.rowid, s.nom, c.code, c.libelle, ba.rowid, ba.label"; if (!$user->rights->societe->client->voir) $sql .= ", sc.fk_soc, sc.fk_user"; $sql.= $db->order($sortfield,$sortorder); $sql.= $db->plimit($limit+1, $offset); @@ -558,7 +559,9 @@ if (empty($action)) else print ' '; print ''; - print '\n"; + $payment_type = $langs->trans("PaymentType".$objp->paiement_type)!=("PaymentType".$objp->paiement_type)?$langs->trans("PaymentType".$objp->paiement_type):$objp->paiement_libelle; + + print '\n"; print ''; } From 0d150b1d32af89ce1b277c5bb6dc5282a3fbe8c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 10 Feb 2015 10:25:59 +0100 Subject: [PATCH 047/137] Removed unused code, misc corrections and corrected PHPDoc problems. --- htdocs/accountancy/admin/fiscalyear.php | 1 - htdocs/accountancy/admin/fiscalyear_card.php | 4 ++-- .../class/accountancysystem.class.php | 4 ++-- .../class/accountingaccount.class.php | 21 +++++++------------ .../accountancy/class/bookkeeping.class.php | 21 +++++++------------ .../class/html.formventilation.class.php | 10 +++------ htdocs/accountancy/journal/bankjournal.php | 20 ++++++++---------- htdocs/accountancy/journal/sellsjournal.php | 2 -- htdocs/comm/action/class/ical.class.php | 2 +- htdocs/core/lib/accounting.lib.php | 8 +++---- htdocs/core/lib/fiscalyear.lib.php | 4 ++-- 11 files changed, 38 insertions(+), 59 deletions(-) diff --git a/htdocs/accountancy/admin/fiscalyear.php b/htdocs/accountancy/admin/fiscalyear.php index 4dd005fca85..e269bafae6c 100644 --- a/htdocs/accountancy/admin/fiscalyear.php +++ b/htdocs/accountancy/admin/fiscalyear.php @@ -94,7 +94,6 @@ if ($result) while ($i < $num && $i < $max) { $obj = $db->fetch_object($result); - $fiscalyearstatic->ref=$obj->rowid; $fiscalyearstatic->id=$obj->rowid; print ''; print ''; diff --git a/htdocs/accountancy/admin/fiscalyear_card.php b/htdocs/accountancy/admin/fiscalyear_card.php index 423ac88b490..30cd7ae8777 100644 --- a/htdocs/accountancy/admin/fiscalyear_card.php +++ b/htdocs/accountancy/admin/fiscalyear_card.php @@ -226,7 +226,7 @@ else if ($id) // Ref print ""; print ''; // Label @@ -278,7 +278,7 @@ else if ($id) // Ref print ''; diff --git a/htdocs/accountancy/class/accountancysystem.class.php b/htdocs/accountancy/class/accountancysystem.class.php index 7ce2134d0d2..ab0765ff115 100644 --- a/htdocs/accountancy/class/accountancysystem.class.php +++ b/htdocs/accountancy/class/accountancysystem.class.php @@ -66,8 +66,8 @@ class AccountancySystem $id = $this->db->last_insert_id(MAIN_DB_PREFIX . "accounting_system"); if ($id > 0) { - $this->id = $id; - $result = $this->id; + $this->rowid = $id; + $result = $this->rowid; } else { $result = - 2; $this->error = "AccountancySystem::Create Erreur $result"; diff --git a/htdocs/accountancy/class/accountingaccount.class.php b/htdocs/accountancy/class/accountingaccount.class.php index 24031b683b4..293338c3b73 100644 --- a/htdocs/accountancy/class/accountingaccount.class.php +++ b/htdocs/accountancy/class/accountingaccount.class.php @@ -123,7 +123,7 @@ class AccountingAccount */ function create($user, $notrigger = 0) { - global $conf, $langs; + global $conf; $error = 0; $now=dol_now(); @@ -190,7 +190,7 @@ class AccountingAccount if (! $error) { $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX . "accountingaccount"); - if (! $notrigger) { +// if (! $notrigger) { // Uncomment this and change MYOBJECT to your own tag if you // want this action calls a trigger. @@ -200,7 +200,7 @@ class AccountingAccount // $result=$interface->run_triggers('MYOBJECT_CREATE',$this,$user,$langs,$conf); // if ($result < 0) { $error++; $this->errors=$interface->errors; } // // End call triggers - } +// } } // Commit or rollback @@ -225,8 +225,6 @@ class AccountingAccount */ function update($user) { - global $langs; - $this->db->begin(); $sql = "UPDATE " . MAIN_DB_PREFIX . "accountingaccount "; @@ -294,7 +292,6 @@ class AccountingAccount */ function delete($user, $notrigger = 0) { - global $conf, $langs; $error = 0; $result = $this->checkUsage(); @@ -303,8 +300,8 @@ class AccountingAccount $this->db->begin(); - if (! $error) { - if (! $notrigger) { +// if (! $error) { +// if (! $notrigger) { // Uncomment this and change MYOBJECT to your own tag if you // want this action calls a trigger. @@ -314,8 +311,8 @@ class AccountingAccount // $result=$interface->run_triggers('ACCOUNTANCY_ACCOUNT_DELETE',$this,$user,$langs,$conf); // if ($result < 0) { $error++; $this->errors=$interface->errors; } // // End call triggers - } - } +// } +// } if (! $error) { $sql = "DELETE FROM " . MAIN_DB_PREFIX . "accountingaccount"; @@ -392,8 +389,6 @@ class AccountingAccount */ function account_desactivate($id) { - global $langs; - $result = $this->checkUsage(); if ($result > 0) { @@ -427,8 +422,6 @@ class AccountingAccount */ function account_activate($id) { - global $langs; - $this->db->begin(); $sql = "UPDATE " . MAIN_DB_PREFIX . "accountingaccount "; diff --git a/htdocs/accountancy/class/bookkeeping.class.php b/htdocs/accountancy/class/bookkeeping.class.php index a3a760b0570..9dcba514ae1 100644 --- a/htdocs/accountancy/class/bookkeeping.class.php +++ b/htdocs/accountancy/class/bookkeeping.class.php @@ -225,8 +225,6 @@ class BookKeeping */ function create($user='') { - global $conf, $user, $langs; - $this->piece_num = 0; // first check if line not yet in bookkeeping @@ -355,7 +353,6 @@ class BookKeeping */ function create_std($user, $notrigger = 0) { - global $conf, $langs; $error = 0; // Clean parameters @@ -445,7 +442,7 @@ class BookKeeping if (! $error) { $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX . "accounting_bookkeeping"); - if (! $notrigger) { +// if (! $notrigger) { // Uncomment this and change MYOBJECT to your own tag if you // want this action calls a trigger. @@ -455,7 +452,7 @@ class BookKeeping // $result=$interface->run_triggers('MYOBJECT_CREATE',$this,$user,$langs,$conf); // if ($result < 0) { $error++; $this->errors=$interface->errors; } // // End call triggers - } +// } } // Commit or rollback @@ -481,7 +478,6 @@ class BookKeeping */ function update($user = 0, $notrigger = 0) { - global $conf, $langs; $error = 0; // Clean parameters @@ -550,8 +546,8 @@ class BookKeeping $this->errors[] = "Error " . $this->db->lasterror(); } - if (! $error) { - if (! $notrigger) { +// if (! $error) { +// if (! $notrigger) { // Uncomment this and change MYOBJECT to your own tag if you // want this action calls a trigger. @@ -561,8 +557,8 @@ class BookKeeping // $result=$interface->run_triggers('MYOBJECT_MODIFY',$this,$user,$langs,$conf); // if ($result < 0) { $error++; $this->errors=$interface->errors; } // // End call triggers - } - } +// } +// } // Commit or rollback if ($error) { @@ -587,7 +583,6 @@ class BookKeeping */ function delete($user, $notrigger = 0) { - global $conf, $langs; $error = 0; $this->db->begin(); @@ -642,10 +637,10 @@ class BookKeeping $sql .= " montant, sens, fk_user_author, import_key, code_journal, piece_num"; $sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping"; + dol_syslog(get_class($this) . "::export_bookkeping", LOG_DEBUG); + $resql = $this->db->query($sql); - dol_syslog(get_class($this) . "::export_bookkeping sql=" . $sql, LOG_DEBUG); - $resql = $this->db->query($sql); if ($resql) { $this->linesexport = array (); diff --git a/htdocs/accountancy/class/html.formventilation.class.php b/htdocs/accountancy/class/html.formventilation.class.php index 4e833862bd8..f2b6ba6346c 100644 --- a/htdocs/accountancy/class/html.formventilation.class.php +++ b/htdocs/accountancy/class/html.formventilation.class.php @@ -50,10 +50,6 @@ class FormVentilation extends Form */ function select_bookkeeping_importkey($htmlname = 'importkey', $selectedkey='') { - global $langs; - - $date_array = array (); - $sql = 'SELECT DISTINCT import_key from ' . MAIN_DB_PREFIX . 'accounting_bookkeeping'; $sql .= ' ORDER BY import_key DESC'; @@ -100,7 +96,7 @@ class FormVentilation extends Form */ function select_account($selectid, $htmlname = 'account', $showempty = 0, $event = array()) { - global $conf, $user, $langs; + global $conf; $out = ''; @@ -161,7 +157,7 @@ class FormVentilation extends Form */ function select_pcgtype($selectid, $htmlname = 'pcg_type', $showempty = 0, $event = array()) { - global $conf, $user, $langs; + global $conf; $out = ''; @@ -217,7 +213,7 @@ class FormVentilation extends Form */ function select_pcgsubtype($selectid, $htmlname = 'pcg_subtype', $showempty = 0, $event = array()) { - global $conf, $user, $langs; + global $conf; $out = ''; diff --git a/htdocs/accountancy/journal/bankjournal.php b/htdocs/accountancy/journal/bankjournal.php index 5fc98690933..b9d3b9209f9 100644 --- a/htdocs/accountancy/journal/bankjournal.php +++ b/htdocs/accountancy/journal/bankjournal.php @@ -553,17 +553,15 @@ else // Bank foreach ( $tabbq[$key] as $k => $mt ) { - if (1) { - print ""; - print ""; - print ""; - print ""; - print ""; - print ""; - print ""; - print ""; - print ""; - } + print ""; + print ""; + print ""; + print ""; + print ""; + print ""; + print ""; + print ""; + print ""; } // Third party diff --git a/htdocs/accountancy/journal/sellsjournal.php b/htdocs/accountancy/journal/sellsjournal.php index 4c260f9fa99..d80e8f36562 100644 --- a/htdocs/accountancy/journal/sellsjournal.php +++ b/htdocs/accountancy/journal/sellsjournal.php @@ -230,7 +230,6 @@ if ($action == 'writebookkeeping') { $bookkeeping->doc_type = 'customer_invoice'; $bookkeeping->fk_doc = $key; $bookkeeping->fk_docdet = $val["fk_facturedet"]; - $bookkeeping->fk_compte = $compte->id; $bookkeeping->code_tiers = ''; $bookkeeping->numero_compte = $k; $bookkeeping->label_compte = $langs->trans("VAT"); @@ -420,7 +419,6 @@ if ($action == 'export_csv') { $invoicestatic->id = $key; $invoicestatic->ref = $val["ref"]; $invoicestatic->type = $val["type"]; - $invoicestatic->description = html_entity_decode(dol_trunc($val["description"], 32)); $date = dol_print_date($db->jdate($val["date"]), 'day'); diff --git a/htdocs/comm/action/class/ical.class.php b/htdocs/comm/action/class/ical.class.php index 2dd6ea2b125..da062176d13 100644 --- a/htdocs/comm/action/class/ical.class.php +++ b/htdocs/comm/action/class/ical.class.php @@ -261,7 +261,7 @@ class ICal */ function ical_rrule($value) { - $result=aray(); + $result=array(); $rrule = explode(';',$value); foreach ($rrule as $line) { diff --git a/htdocs/core/lib/accounting.lib.php b/htdocs/core/lib/accounting.lib.php index ea098ba10bb..6896912ae7d 100644 --- a/htdocs/core/lib/accounting.lib.php +++ b/htdocs/core/lib/accounting.lib.php @@ -26,10 +26,10 @@ /** * Prepare array with list of admin tabs * - * @param Object $object Object instance we show card + * @param AccountingAccount $object Object instance we show card * @return array Array of tabs to show */ -function admin_accounting_prepare_head($object=null) +function admin_accounting_prepare_head(AccountingAccount $object=null) { global $langs, $conf; @@ -65,10 +65,10 @@ function admin_accounting_prepare_head($object=null) /** * Prepare array with list of tabs * - * @param Object $object Accounting account + * @param AccountingAccount $object Accounting account * @return array Array of tabs to show */ -function accounting_prepare_head($object) +function accounting_prepare_head(AccountingAccount $object) { global $langs, $conf; diff --git a/htdocs/core/lib/fiscalyear.lib.php b/htdocs/core/lib/fiscalyear.lib.php index 5d27760b41f..37266b51495 100644 --- a/htdocs/core/lib/fiscalyear.lib.php +++ b/htdocs/core/lib/fiscalyear.lib.php @@ -24,10 +24,10 @@ /** * Prepare array with list of tabs * - * @param Object $object Object related to tabs + * @param Fiscalyear $object Object related to tabs * @return array Array of tabs to show */ -function fiscalyear_prepare_head($object) +function fiscalyear_prepare_head(Fiscalyear $object) { global $langs, $conf; From 157a6e109e2f992dd210f087d5c8e2c6a35c0780 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 10 Feb 2015 10:45:48 +0100 Subject: [PATCH 048/137] Misc Adherents PHPDoc corrections --- htdocs/adherents/admin/adherent.php | 2 +- .../canvas/actions_adherentcard_common.class.php | 4 ++++ htdocs/adherents/card.php | 6 +++--- htdocs/adherents/card_subscriptions.php | 4 ++-- htdocs/adherents/class/adherent.class.php | 4 ---- htdocs/adherents/class/adherent_type.class.php | 7 +++++++ htdocs/adherents/list.php | 2 +- htdocs/adherents/type.php | 4 ++-- htdocs/compta/bank/class/account.class.php | 7 ++++++- htdocs/core/class/extrafields.class.php | 2 +- htdocs/core/class/html.form.class.php | 2 +- htdocs/core/class/html.formcompany.class.php | 2 +- htdocs/core/class/ldap.class.php | 2 +- htdocs/core/lib/company.lib.php | 4 ++-- htdocs/core/lib/functions.lib.php | 8 ++++---- htdocs/core/lib/member.lib.php | 6 +++--- htdocs/mailmanspip/class/mailmanspip.class.php | 10 +++++----- 17 files changed, 44 insertions(+), 32 deletions(-) diff --git a/htdocs/adherents/admin/adherent.php b/htdocs/adherents/admin/adherent.php index f86e19050e4..1e445911b24 100644 --- a/htdocs/adherents/admin/adherent.php +++ b/htdocs/adherents/admin/adherent.php @@ -219,7 +219,7 @@ if ($conf->facture->enabled) print ''; print ''; print ''; diff --git a/htdocs/adherents/canvas/actions_adherentcard_common.class.php b/htdocs/adherents/canvas/actions_adherentcard_common.class.php index cf89e1f526c..9987f9bc530 100644 --- a/htdocs/adherents/canvas/actions_adherentcard_common.class.php +++ b/htdocs/adherents/canvas/actions_adherentcard_common.class.php @@ -27,6 +27,10 @@ */ abstract class ActionsAdherentCardCommon { + /** + * Database handler + * @var DoliDB + */ var $db; var $dirmodule; var $targetmodule; diff --git a/htdocs/adherents/card.php b/htdocs/adherents/card.php index 3363bf34f65..d8a1a85debf 100644 --- a/htdocs/adherents/card.php +++ b/htdocs/adherents/card.php @@ -1159,7 +1159,7 @@ else print ''; @@ -1516,13 +1516,13 @@ else print ''."\n"; print ''."\n"; print ''."\n"; print ''."\n"; // AGENDA_DEFAULT_FILTER_STATUS diff --git a/htdocs/admin/barcode.php b/htdocs/admin/barcode.php index 11341f632a2..ae1fbca0e99 100644 --- a/htdocs/admin/barcode.php +++ b/htdocs/admin/barcode.php @@ -328,7 +328,7 @@ if (! empty($conf->product->enabled)) print ""; print ''; print '"; diff --git a/htdocs/admin/ihm.php b/htdocs/admin/ihm.php index db0f9de94bb..1477ef5577b 100644 --- a/htdocs/admin/ihm.php +++ b/htdocs/admin/ihm.php @@ -117,7 +117,8 @@ if ($action == 'edit') // Edit clearstatcache(); $var=true; - print_fiche_titre($langs->trans("Language"),'','').'
'; + print_fiche_titre($langs->trans("Language"),'',''); + print '
'; print '
'.$langs->trans("AccountStatement").''.$langs->trans("InitialBankBalance").''.$langs->trans("EndBankBalance").''.$langs->trans("InitialBankBalance").''.$langs->trans("EndBankBalance").'
'.price($balancestart[$objp->numr],'',$langs,1,-1,-1,$conf->currency).''.price($balancestart[$objp->numr],'',$langs,1,-1,-1,$conf->currency).''.price(($balancestart[$objp->numr]+$content[$objp->numr]),'',$langs,1,-1,-1,$conf->currency).''.price(($balancestart[$objp->numr]+$content[$objp->numr]),'',$langs,1,-1,-1,$conf->currency).'
'.$langs->trans("CashDeskDoNotDecreaseStock").''; - print $form->selectyesno('CASHDESK_NO_DECREASE_STOCK',$conf->global->CASHDESK_NO_DECREASE_STOCK,1); + if (empty($conf->productbatch->enabled)) { + print $form->selectyesno('CASHDESK_NO_DECREASE_STOCK',$conf->global->CASHDESK_NO_DECREASE_STOCK,1); + } + else + { + if (!$conf->global->CASHDESK_NO_DECREASE_STOCK) { + $res = dolibarr_set_const($db,"CASHDESK_NO_DECREASE_STOCK",1,'chaine',0,'',$conf->entity); + } + print $langs->trans('StockDecreaseForPointOfSaleDisabledbyBatch'); + } print '
'.dol_trunc($objp->paiement_type.' '.$objp->num_paiement,32)."'.$payment_type.' '.dol_trunc($objp->num_paiement,32)."'; if ($objp->bid) print ''.img_object($langs->trans("ShowAccount"),'account').' '.dol_trunc($objp->label,24).''; From f1d5e1ba7b082295c7603b6ff51d2598b50e75ce Mon Sep 17 00:00:00 2001 From: aspangaro Date: Tue, 10 Feb 2015 07:14:55 +0100 Subject: [PATCH 045/137] FIXED Correct typo on Changelog --- ChangeLog | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5870e55152d..df8918b6814 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,13 +4,13 @@ English Dolibarr ChangeLog ***** ChangeLog for 3.6.3 compared to 3.6.2 ***** - Fix: ref_ext was not saved when recording a customer order from web service -- Fix: amarok is a bugged theme making dolidroid failed. We swith to eldy automatically with dolidroid. +- Fix: amarok is a bugged theme making dolidroid failed. We switch to eldy automatically with dolidroid. - Fix: [ bug #1788 ] Duplicated doActions hook in product/fournisseurs.php -- Fix: withdrawal create error if in the same month are deleted previus withdrawals. +- Fix: withdrawal create error if in the same month are deleted previous withdrawals. - Fix: [ bug #1801 ] FAC_FORCE_DATE_VALIDATION constant alters supplier invoice date given to numeration modules - Fix: [ bug #1802 ] SQL error when updating a task with PostgreSQL database - Fix: [ bug #1785 ] Start date is lost in Project > Linked objects -- Fix: [ bug #1804 ] SQL error when sending email without addresee +- Fix: [ bug #1804 ] SQL error when sending email without address - Fix: [ bug #1803 ] AJAX company contact input is not aligned - Fix: [ bug #1787 ] Incorrect behaviour of doActions hook - Fix: [ bug #1796 ] Unable to use numeration modules from an external module @@ -18,18 +18,18 @@ English Dolibarr ChangeLog - Fix: [ bug #1717 ] Sorting unpaid invoices by amount received brings due amount - Fix: [ bug #1784 ] MOTD doesn't show up in Amarok theme - Fix: Tracking number not visible on shipment pdf -- Fix: [ bug #1812 ] SQL Error message while sending emailing with PostgreSQL datatabase +- Fix: [ bug #1812 ] SQL Error message while sending emailing with PostgreSQL database - Fix: [ bug #1819 ] SQL error when searching for an invoice payment - Fix: [ bug #1827 ] Tax reports gives incorrect amounts when using external modules that create lines with special codes ***** ChangeLog for 3.6.2 compared to 3.6.1 ***** - Fix: fix ErrorBadValueForParamNotAString error message in price customer multiprice. - Fix: bug 1588 : relative discount. -- Fix: label of input method not tranlated. -- Fix: box of customer and propsects were not correctly disabled. +- Fix: label of input method not translated. +- Fix: box of customer and prospects were not correctly disabled. - Fix: [ bug #1618 ] PHP Error thrown when saving a barcode - Fix: Civility & birthdate wasn't save into adherent module. -- Fix: webservice Thirdparty parameter lastname for invidual creation is now lastname and not ref +- Fix: webservice Thirdparty parameter lastname for individual creation is now lastname and not ref - Fix: Chars - is no more allowed into value for code for extra fields. - Fix: [ bug #1622 ] Requesting holiday than spans across two years cause high CPU usage by Apache - Fix: [ bug #1595 ] Selected boolean extrafield in intervention creation page, does not save state @@ -56,14 +56,14 @@ For users: - Fix: Iban was used instead of Bic into SEPA file. - Fix: Must unaccent strings into SEPA file. - Fix: Extrafield feature select from table should try to translate multiple column when not needed -- Fix: cents for indian ruppes are calle paisa and paise. +- Fix: cents for indian ruppes are called paisa and paise. - Fix: Invoices payments may be older than invoices. - Fix: Withdrawal total amount is double - Fix: [ bug #1593 ] Spanish Localtax IRPF not being calculated since 3.6.0 in supplier invoices when adding a line - Fix: Web service categorie WDSL declaration is correct - Fix: ErrorBadValueForParamNotAString was displayed in virtual product if no base price defined - Fix: Category creation failed and no message output -- Fix: Lanf for Payment Type +- Fix: Lang for Payment Type - Fix: PHPCheckstyle 1.5.5 ***** ChangeLog for 3.6 compared to 3.5.* ***** @@ -85,12 +85,12 @@ For users: - New: Improved Opensurvey module: Added options to disable comments and disable public votes. Limit dates use calendar popup. - Description of survey use wysiwig editor. + Description of survey use wysiwyg editor. More information shown on result tab. Renamed "survey" into "poll" (better translation). - New: Add filter on text and status into survey list. Can also sort on id, text and date end. - New: The box "balance of bank accounts" show all opened accounts. -- New: Add option MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE to add sale represnative into public +- New: Add option MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE to add sale representative into public note of generated documents. - New: Add warning if supplier payment is higher that due amount. - New: Increase length of url into bookmark module. @@ -103,7 +103,7 @@ For users: - New: Add barcode fields into user database. - New: Add manager name (ceo, director, president...) into main company information page. - New: Add field url as product properties. -- New: More options to create a credit note (can be filled autatically according to remain to pay). +- New: More options to create a credit note (can be filled automatically according to remain to pay). - New: Can define custom fields for categories. - New: Prepare generation of SEPA files into module withdrawal. - New: [ task #1164 ] Add "Ref. supplier" search box in supplier orders @@ -120,7 +120,7 @@ For users: - New: [ task #926 ] Add extrafield feature on order lines. - New: [ task #927 ] Add extrafield feature on Proposal lines. - New: [ task #928 ] Add extrafield feature on invoice lines. -- New: Paypal/paybox email sent after backcall of a payment is now a formated and translated +- New: Paypal/paybox email sent after backcall of a payment is now a formatted and translated HTML content. For member subscription renewal, there is also a link to member. - New: When a subscription is recorded with invoice and payment: - the document (PDF) of invoice is also generated. @@ -171,11 +171,11 @@ removed. You must now use the 6 parameters way. See file modMyModule.class.php f So check that return value is 0 to keep default standard behaviour after hook or 1 to disable default standard behaviour. - Properties "civilite_id" were renamed into "civility_id". -- Remove add_photo_web() that is ot used anymore by core code. +- Remove add_photo_web() that is not used anymore by core code. ***** ChangeLog for 3.5.7 compared to 3.5.6 ***** -Fix: Paypal link were broken dur to SSL v3 closed. +Fix: Paypal link were broken due to SSL v3 closed. Fix: [ bug #1769 ] Error when installing to a PostgreSQL DB that contains numbers Fix: [ bug #1752 ] Date filter of margins module, filters since 12H instead of 00H Fix: [ bug #1757 ] Sorting breaks product/service statistics @@ -194,7 +194,7 @@ Fix: Bad days and month reported by function. Fix: Bad margin calculation. ***** ChangeLog for 3.5.5 compared to 3.5.4 ***** -Fix: Holiday module was broken. Initializaion of amount of holidays failed. +Fix: Holiday module was broken. Initialization of amount of holidays failed. Fix: [ bug #1523 ] suite bug #1334 : filtre et ordre de tri conjoints ne s'appliquent pas. Fix: Fusion PDF button on unpaid invoice is no more displayed. Fix: Unpaid invoice launch fusion PDF action even if it is only search (with enter keyboard input instead of lens click). @@ -229,7 +229,7 @@ Fix: When using option MAIN_MAIL_ALLOW_SENDMAIL_F, a mail was sent to sender. Fix: Question about warehouse must not be done when module stock is disabled. Fix: Option STOCK_SUPPORTS_SERVICES was not correctly implemented (missing test at some places). -Fix: Renaming a project with uplaoded files failed. +Fix: Renaming a project with uploaded files failed. Fix: [ bug #1476 ] Invoice creation form loses invoice date when there is a validation error. Fix: [ bug #1431 ] Reception and Send supplier order box has a weird top margin. Fix: [ bug #1428 ] "Nothing" is shown in the middle of the screen in a supplier order. @@ -250,7 +250,7 @@ Fix: [ bug #1449 ] Trigger ORDER_CREATE, LINEORDER_DELETE, LINEORDER_UPDATE and Fix: [ bug #1450 ] Several Customer order's triggers do not report the error from the trigger handler. Fix: [ bug #1451 ] Interrupted order clone through trigger, loads nonexistent order. Fix: [ bug #1454 ] Mention de bas de page erroné -Fix: Do not display dictionnay for non activated module +Fix: Do not display dictionary for non activated module Fix: Link element from element project pages Fix: [ bug #1509 ] Expedition admin free text & watermark submit error Fix: [ bug #1349 ] AJAX contact selector does not work fine in Project card From 6531a5c6c7d54ebce2406b697af95dec17391f28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 10 Feb 2015 09:44:27 +0100 Subject: [PATCH 046/137] Fix: [ bug #1830 ] Salaries payment only allows checking accounts --- ChangeLog | 1 + htdocs/compta/salaries/fiche.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 5870e55152d..483fd023b1f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21,6 +21,7 @@ English Dolibarr ChangeLog - Fix: [ bug #1812 ] SQL Error message while sending emailing with PostgreSQL datatabase - Fix: [ bug #1819 ] SQL error when searching for an invoice payment - Fix: [ bug #1827 ] Tax reports gives incorrect amounts when using external modules that create lines with special codes +- Fix: [ bug #1830 ] Salaries payment only allows checking accounts ***** ChangeLog for 3.6.2 compared to 3.6.1 ***** - Fix: fix ErrorBadValueForParamNotAString error message in price customer multiprice. diff --git a/htdocs/compta/salaries/fiche.php b/htdocs/compta/salaries/fiche.php index c46f83dd6fb..34a2b9b4435 100644 --- a/htdocs/compta/salaries/fiche.php +++ b/htdocs/compta/salaries/fiche.php @@ -248,7 +248,7 @@ if ($action == 'create') if (! empty($conf->banque->enabled)) { print '
'.$langs->trans("Account").''; - $form->select_comptes($_POST["accountid"],"accountid",0,"courant=1",1); // Affiche liste des comptes courant + $form->select_comptes($_POST["accountid"],"accountid",0,'',1); print '
'.img_object($langs->trans("ShowFiscalYear"),"technic").' '.$obj->rowid.'
'.$langs->trans("Ref").''; - print $object->ref; + print $object->rowid; print '
'.$langs->trans("Ref").''; - print $object->ref; + print $object->rowid; print ''; print $linkback; print '
" . $date . "" . $reflabel . "" . length_accountg($k) . "" . $langs->trans('Bank') . "" . $val["type_payment"] . "" . ($mt >= 0 ? price($mt) : '') . "" . ($mt < 0 ? price(- $mt) : '') . "
" . $date . "" . $reflabel . "" . length_accountg($k) . "" . $langs->trans('Bank') . "" . $val["type_payment"] . "" . ($mt >= 0 ? price($mt) : '') . "" . ($mt < 0 ? price(- $mt) : '') . "
'.$langs->trans("ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS").''; - print $form->select_produits($conf->global->ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS, 'constvalue_ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS'); + $form->select_produits($conf->global->ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS, 'constvalue_ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS'); print ''; print ''; print '
'.$langs->trans("LinkedToDolibarrUser").''; if ($object->user_id) { - print $form->form_users($_SERVER['PHP_SELF'].'?rowid='.$object->id,$object->user_id,'none'); + $form->form_users($_SERVER['PHP_SELF'].'?rowid='.$object->id,$object->user_id,'none'); } else print $langs->trans("NoDolibarrAccess"); print '
'; if ($action == 'editlogin') { - print $form->form_users($_SERVER['PHP_SELF'].'?rowid='.$object->id,$object->user_id,'userid',''); + $form->form_users($_SERVER['PHP_SELF'].'?rowid='.$object->id,$object->user_id,'userid',''); } else { if ($object->user_id) { - print $form->form_users($_SERVER['PHP_SELF'].'?rowid='.$object->id,$object->user_id,'none'); + $form->form_users($_SERVER['PHP_SELF'].'?rowid='.$object->id,$object->user_id,'none'); } else print $langs->trans("NoDolibarrAccess"); } diff --git a/htdocs/adherents/card_subscriptions.php b/htdocs/adherents/card_subscriptions.php index 7b710ba9aca..17567f5ca84 100644 --- a/htdocs/adherents/card_subscriptions.php +++ b/htdocs/adherents/card_subscriptions.php @@ -674,13 +674,13 @@ if ($rowid) { $include=array($object->user_id,$user->id); }*/ - print $form->form_users($_SERVER['PHP_SELF'].'?rowid='.$object->id,$object->user_id,'userid',''); + $form->form_users($_SERVER['PHP_SELF'].'?rowid='.$object->id,$object->user_id,'userid',''); } else { if ($object->user_id) { - print $form->form_users($_SERVER['PHP_SELF'].'?rowid='.$object->id,$object->user_id,'none'); + $form->form_users($_SERVER['PHP_SELF'].'?rowid='.$object->id,$object->user_id,'none'); } else print $langs->trans("NoDolibarrAccess"); } diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index 8b1a456ee79..214476299e5 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -641,10 +641,6 @@ class Adherent extends CommonObject */ function update_end_date($user) { - global $conf, $langs; - - $error=0; - $this->db->begin(); // Search for last subscription id and end date diff --git a/htdocs/adherents/class/adherent_type.class.php b/htdocs/adherents/class/adherent_type.class.php index 5c340de1fdf..11c194526b2 100644 --- a/htdocs/adherents/class/adherent_type.class.php +++ b/htdocs/adherents/class/adherent_type.class.php @@ -36,6 +36,13 @@ class AdherentType extends CommonObject public $element = 'adherent_type'; var $id; + + /** + * @var int + * @deprecated Use rowid + */ + public $ref; + var $libelle; var $statut; var $cotisation; // Soumis a la cotisation diff --git a/htdocs/adherents/list.php b/htdocs/adherents/list.php index b70e212d2d2..7764b4d144e 100644 --- a/htdocs/adherents/list.php +++ b/htdocs/adherents/list.php @@ -152,7 +152,7 @@ $nbtotalofrecords = 0; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { $resql = $db->query($sql); - if ($resql) $nbtotalofrecords = $db->num_rows($result); + if ($resql) $nbtotalofrecords = $db->num_rows($resql); else dol_print_error($db); } // Add order and limit diff --git a/htdocs/adherents/type.php b/htdocs/adherents/type.php index 0ffdc8b7e7f..96e13561825 100644 --- a/htdocs/adherents/type.php +++ b/htdocs/adherents/type.php @@ -92,7 +92,7 @@ if ($action == 'add' && $user->rights->adherent->configurer) if ($adht->libelle) { - $id=$adht->create($user->id); + $id=$adht->create($user); if ($id > 0) { header("Location: ".$_SERVER["PHP_SELF"]); @@ -127,7 +127,7 @@ if ($action == 'update' && $user->rights->adherent->configurer) // Fill array 'array_options' with data from add form $ret = $extrafields->setOptionalsFromPost($extralabels,$adht); - $adht->update($user->id); + $adht->update($user); header("Location: ".$_SERVER["PHP_SELF"]."?rowid=".$_POST["rowid"]); exit; diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index 4343e2cb921..2c5c2451c8f 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -36,7 +36,12 @@ class Account extends CommonObject public $element='bank_account'; public $table_element='bank_account'; - var $rowid; // deprecated + /** + * //TODO: Discuss this. $rowid is preferred over $id + * @var + * @deprecated + */ + var $rowid; var $id; var $ref; var $label; diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index 1c7c3ffb634..544619892b5 100644 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -590,7 +590,7 @@ class ExtraFields * @param string $value Value to show (for date type it must be in timestamp format) * @param string $moreparam To add more parametes on html input tag * @param string $keyprefix Prefix string to add into name and id of field (can be used to avoid duplicate names) - * @return void + * @return string */ function showInputField($key,$value,$moreparam='',$keyprefix='') { diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 7d2851f1b31..9ee6f3d5271 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -4452,7 +4452,7 @@ class Form * Return HTML code to output a photo * * @param string $modulepart Key to define module concerned ('societe', 'userphoto', 'memberphoto') - * @param Object $object Object containing data to retrieve file name + * @param object $object Object containing data to retrieve file name * @param int $width Width of photo * @return string HTML code to output photo */ diff --git a/htdocs/core/class/html.formcompany.class.php b/htdocs/core/class/html.formcompany.class.php index 87723c535f3..297d772b06c 100644 --- a/htdocs/core/class/html.formcompany.class.php +++ b/htdocs/core/class/html.formcompany.class.php @@ -709,7 +709,7 @@ class FormCompany * @param string $fields Fields * @param int $fieldsize Field size * @param int $disableautocomplete 1 To disable autocomplete features - * @return void + * @return string */ function select_ziptown($selected='', $htmlname='zipcode', $fields='', $fieldsize=0, $disableautocomplete=0) { diff --git a/htdocs/core/class/ldap.class.php b/htdocs/core/class/ldap.class.php index dc844ee3f02..ca0cbab3925 100644 --- a/htdocs/core/class/ldap.class.php +++ b/htdocs/core/class/ldap.class.php @@ -801,7 +801,7 @@ class Ldap * * @param string $dn DN entry key * @param string $filter Filter - * @return int <0 if KO, >0 if OK + * @return int|false|array <0 or false if KO, array if OK */ function getAttribute($dn,$filter) { diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index 2d0ecc4ebf7..8c0038f785f 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -904,7 +904,7 @@ function show_addresses($conf,$langs,$db,$object,$backtopage='') * @param Conf $conf Object conf * @param Translate $langs Object langs * @param DoliDB $db Object db - * @param Object $object Object third party or member + * @param Adherent|Societe $object Object third party or member * @param Contact $objcon Object contact * @param int $noprint Return string but does not output it * @return mixed Return html part or void if noprint is 1 @@ -1067,7 +1067,7 @@ function show_actions_todo($conf,$langs,$db,$object,$objcon='',$noprint=0) * @param Conf $conf Object conf * @param Translate $langs Object langs * @param DoliDB $db Object db - * @param Object $object Object third party or member + * @param Adherent|Societe $object Object third party or member * @param Contact $objcon Object contact * @param int $noprint Return string but does not output it * @return mixed Return html part or void if noprint is 1 diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index c3446eb7b15..4523a8fd143 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -657,7 +657,7 @@ function dol_fiche_head($links=array(), $active='0', $title='', $notab=0, $picto * @param int $notab 0=Add tab header, 1=no tab header. If you set this to 1, using dol_fiche_end() to close tab is not required. * @param string $picto Add a picto on tab title * @param int $pictoisfullpath If 1, image path is a full path. If you set this to 1, you can use url returned by dol_buildpath('/mymodyle/img/myimg.png',1) for $picto. - * @return void + * @return string */ function dol_get_fiche_head($links=array(), $active='0', $title='', $notab=0, $picto='', $pictoisfullpath=0) { @@ -739,7 +739,7 @@ function dol_fiche_end($notab=0) * Return tab footer of a card * * @param int $notab 0=Add tab footer, 1=no tab footer - * @return void + * @return string */ function dol_get_fiche_end($notab=0) { @@ -2647,7 +2647,7 @@ function print_fiche_titre($title, $mesg='', $picto='title.png', $pictoisfullpat * @param string $picto Icon to use before title (should be a 32x32 transparent png file) * @param int $pictoisfullpath 1=Icon name is a full absolute url of image * @param int $id To force an id on html objects - * @return void + * @return string */ function load_fiche_titre($titre, $mesg='', $picto='title.png', $pictoisfullpath=0, $id='') { @@ -4639,7 +4639,7 @@ function picto_from_langcode($codelang) * * @param Conf $conf Object conf * @param Translate $langs Object langs - * @param Object|null $object Object object + * @param object|null $object Object object * @param array $head Object head * @param int $h New position to fill * @param string $type Value for object where objectvalue can be diff --git a/htdocs/core/lib/member.lib.php b/htdocs/core/lib/member.lib.php index 879478daf8d..19e9f08e94d 100644 --- a/htdocs/core/lib/member.lib.php +++ b/htdocs/core/lib/member.lib.php @@ -24,10 +24,10 @@ /** * Return array head with list of tabs to view object informations * - * @param Object $object Member + * @param Adherent $object Member * @return array head */ -function member_prepare_head($object) +function member_prepare_head(Adherent $object) { global $langs, $conf, $user; @@ -155,7 +155,7 @@ function member_admin_prepare_head() /** * Return array head with list of tabs to view object stats informations * - * @param Object $object Member or null + * @param Adherent $object Member or null * @return array head */ function member_stats_prepare_head($object) diff --git a/htdocs/mailmanspip/class/mailmanspip.class.php b/htdocs/mailmanspip/class/mailmanspip.class.php index 6e772b09c03..d874e539164 100644 --- a/htdocs/mailmanspip/class/mailmanspip.class.php +++ b/htdocs/mailmanspip/class/mailmanspip.class.php @@ -166,7 +166,7 @@ class MailmanSpip /** * Fonction qui donne les droits redacteurs dans spip * - * @param Object $object Object with data (->firstname, ->lastname, ->email and ->login) + * @param object $object Object with data (->firstname, ->lastname, ->email and ->login) * @return int =0 if KO, >0 if OK */ function add_to_spip($object) @@ -208,7 +208,7 @@ class MailmanSpip /** * Fonction qui enleve les droits redacteurs dans spip * - * @param Object $object Object with data (->login) + * @param object $object Object with data (->login) * @return int =0 if KO, >0 if OK */ function del_to_spip($object) @@ -247,7 +247,7 @@ class MailmanSpip /** * Fonction qui dit si cet utilisateur est un redacteur existant dans spip * - * @param Object $object Object with data (->login) + * @param object $object Object with data (->login) * @return int 1=exists, 0=does not exists, -1=error */ function is_in_spip($object) @@ -297,7 +297,7 @@ class MailmanSpip /** * Subscribe an email to all mailing-lists * - * @param Object $object Object with data (->email, ->pass, ->element, ->type) + * @param object $object Object with data (->email, ->pass, ->element, ->type) * @param array $listes To force mailing-list (string separated with ,) * @return int <0 if KO, >=0 if OK */ @@ -369,7 +369,7 @@ class MailmanSpip * Unsubscribe an email from all mailing-lists * Used when a user is resiliated * - * @param Object $object Object with data (->email, ->pass, ->element, ->type) + * @param object $object Object with data (->email, ->pass, ->element, ->type) * @param array $listes To force mailing-list (string separated with ,) * @return int <0 if KO, >=0 if OK */ From e21681a36933a81ca088d4b141801cc7814b196f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 10 Feb 2015 10:52:48 +0100 Subject: [PATCH 049/137] PHPDoc and misc fixes for Admin --- htdocs/admin/agenda_other.php | 2 +- htdocs/admin/barcode.php | 2 +- htdocs/admin/ihm.php | 6 ++++-- htdocs/admin/menus.php | 8 ++++---- htdocs/admin/menus/edit.php | 2 +- htdocs/admin/prelevement.php | 2 +- htdocs/admin/tools/dolibarr_export.php | 2 +- htdocs/admin/tools/eaccelerator.php | 2 +- htdocs/admin/tools/export.php | 1 - htdocs/admin/tools/listevents.php | 2 +- htdocs/compta/prelevement/class/bonprelevement.class.php | 2 +- htdocs/core/class/html.form.class.php | 2 +- htdocs/core/class/html.formother.class.php | 4 ++-- htdocs/core/lib/ajax.lib.php | 2 +- htdocs/core/lib/functions.lib.php | 2 +- htdocs/core/lib/memory.lib.php | 2 +- 16 files changed, 22 insertions(+), 21 deletions(-) diff --git a/htdocs/admin/agenda_other.php b/htdocs/admin/agenda_other.php index a069a0718c9..eed8cf2c344 100644 --- a/htdocs/admin/agenda_other.php +++ b/htdocs/admin/agenda_other.php @@ -133,7 +133,7 @@ print '
'.$langs->trans("AGENDA_DEFAULT_FILTER_TYPE").' '."\n"; -print $formactions->select_type_actions($conf->global->AGENDA_DEFAULT_FILTER_TYPE, "AGENDA_DEFAULT_FILTER_TYPE", '', (empty($conf->global->AGENDA_USE_EVENT_TYPE) ? 1 : 0), 1); +$formactions->select_type_actions($conf->global->AGENDA_DEFAULT_FILTER_TYPE, "AGENDA_DEFAULT_FILTER_TYPE", '', (empty($conf->global->AGENDA_USE_EVENT_TYPE) ? 1 : 0), 1); print '
'.$langs->trans("SetDefaultBarcodeTypeProducts").''; - print $formbarcode->select_barcode_type($conf->global->PRODUIT_DEFAULT_BARCODE_TYPE,"PRODUIT_DEFAULT_BARCODE_TYPE",1); + $formbarcode->select_barcode_type($conf->global->PRODUIT_DEFAULT_BARCODE_TYPE,"PRODUIT_DEFAULT_BARCODE_TYPE",1); print ''; print ''; print "
'; print ''; print ''; @@ -299,7 +300,8 @@ else // Show $var=true; // Language - print_fiche_titre($langs->trans("Language"),'','').'
'; + print_fiche_titre($langs->trans("Language"),'',''); + print '
'; print '
'.$langs->trans("Parameters").''.$langs->trans("Value").' 
'; print ''; diff --git a/htdocs/admin/menus.php b/htdocs/admin/menus.php index 438c99adc97..d12cd517fa7 100644 --- a/htdocs/admin/menus.php +++ b/htdocs/admin/menus.php @@ -183,10 +183,10 @@ if ($action == 'edit') $var=!$var; print ''; print ''; print ''; print ''; @@ -194,10 +194,10 @@ if ($action == 'edit') $var=!$var; print ''; print ''; print ''; print ''; diff --git a/htdocs/admin/menus/edit.php b/htdocs/admin/menus/edit.php index ff015884bbc..f962592d5a5 100644 --- a/htdocs/admin/menus/edit.php +++ b/htdocs/admin/menus/edit.php @@ -299,7 +299,7 @@ if ($action == 'create') // Handler print ''; print ''; print ''; diff --git a/htdocs/admin/prelevement.php b/htdocs/admin/prelevement.php index 3bff5c29118..fe7a9f73a20 100644 --- a/htdocs/admin/prelevement.php +++ b/htdocs/admin/prelevement.php @@ -149,7 +149,7 @@ print ''; // Bank account (from Banks module) print ''; print ''; // ICS diff --git a/htdocs/admin/tools/dolibarr_export.php b/htdocs/admin/tools/dolibarr_export.php index 9d5317fdd88..aec78f8aaac 100644 --- a/htdocs/admin/tools/dolibarr_export.php +++ b/htdocs/admin/tools/dolibarr_export.php @@ -97,7 +97,7 @@ jQuery(document).ready(function() { if (jQuery("#select_sql_compat").val() == 'POSTGRESQL') { jQuery("#checkbox_dump_disable-add-locks").attr('checked',true); - }; + } }); query($sql); - $num_fields = $db->num_rows($result); while($row = $db->fetch_row($result)) { // For each row of data we print a line of INSERT diff --git a/htdocs/admin/tools/listevents.php b/htdocs/admin/tools/listevents.php index fe577419eaf..309bf1d935e 100644 --- a/htdocs/admin/tools/listevents.php +++ b/htdocs/admin/tools/listevents.php @@ -102,7 +102,7 @@ if ($action == 'confirm_purge' && $confirm == 'yes' && $user->admin) { $error++; dol_syslog($securityevent->error, LOG_ERR); - $db->rolback(); + $db->rollback(); } } diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php index 21417483b80..32820c19619 100644 --- a/htdocs/compta/prelevement/class/bonprelevement.class.php +++ b/htdocs/compta/prelevement/class/bonprelevement.class.php @@ -1192,7 +1192,7 @@ class BonPrelevement extends CommonObject * Add a notification * * @param DoliDB $db database handler - * @param User $user notification user + * @param int $user notification user * @param string $action notification action * @return int 0 if OK, <0 if KO */ diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 9ee6f3d5271..5448666dbdb 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -3568,7 +3568,7 @@ class Form * * @param string $selected preselected currency code * @param string $htmlname name of HTML select list - * @return void + * @return string */ function selectCurrency($selected='',$htmlname='currency_id') { diff --git a/htdocs/core/class/html.formother.class.php b/htdocs/core/class/html.formother.class.php index 4f0439d7b3c..fd5a07ffcba 100644 --- a/htdocs/core/class/html.formother.class.php +++ b/htdocs/core/class/html.formother.class.php @@ -590,7 +590,7 @@ class FormOther * @param int $showcolorbox 1=Show color code and color box, 0=Show only color code * @param array $arrayofcolors Array of colors. Example: array('29527A','5229A3','A32929','7A367A','B1365F','0D7813') * @param string $morecss Add css style into input field - * @return void + * @return string */ function selectColor($set_color='', $prefix='f_color', $form_name='', $showcolorbox=1, $arrayofcolors='', $morecss='') { @@ -720,7 +720,7 @@ class FormOther * @param string $selected Preselected value * @param string $htmlname Nom de la zone select * @param int $useempty Affiche valeur vide dans liste - * @return void + * @return string */ function select_dayofweek($selected='',$htmlname='weekid',$useempty=0) { diff --git a/htdocs/core/lib/ajax.lib.php b/htdocs/core/lib/ajax.lib.php index 74e715f7b4a..c891ee60a26 100644 --- a/htdocs/core/lib/ajax.lib.php +++ b/htdocs/core/lib/ajax.lib.php @@ -403,7 +403,7 @@ function ajax_combobox($htmlname, $events=array(), $minLengthToAutocomplete=0) * @param int $entity Entity to set * @param int $revertonoff Revert on/off * @param bool $strict Use only "disabled" with delConstant and "enabled" with setConstant - * @return void + * @return string */ function ajax_constantonoff($code, $input=array(), $entity=null, $revertonoff=0, $strict=0) { diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 4523a8fd143..2952ffd0b39 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -2542,7 +2542,7 @@ function print_liste_field_titre($name, $file="", $field="", $begin="", $morepar * @param string $moreattrib Add more attributes on th ("" by defaut) * @param string $sortfield Current field used to sort * @param string $sortorder Current sort order - * @return void + * @return string */ function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $moreparam="", $moreattrib="", $sortfield="", $sortorder="") { diff --git a/htdocs/core/lib/memory.lib.php b/htdocs/core/lib/memory.lib.php index 24e2e05693a..a6fae1c7b1f 100644 --- a/htdocs/core/lib/memory.lib.php +++ b/htdocs/core/lib/memory.lib.php @@ -169,7 +169,7 @@ function dol_getshmopaddress($memoryid) /** * Return list of contents of all memory area shared * - * @return int 0=Nothing is done, <0 if KO, >0 if OK + * @return array */ function dol_listshmop() { From ca939bf8a59f4e281c68c493673caee3763ffb73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 10 Feb 2015 11:02:11 +0100 Subject: [PATCH 050/137] PHPDoc and misc fixes for several folders --- htdocs/asterisk/wrapper.php | 4 ++-- htdocs/barcode/codeinit.php | 6 ++++-- htdocs/barcode/printsheet.php | 2 +- htdocs/bookmarks/bookmarks.lib.php | 2 -- htdocs/bookmarks/list.php | 9 ++++++--- htdocs/cashdesk/tpl/validation2.tpl.php | 2 +- htdocs/categories/categorie.php | 4 ++-- htdocs/categories/class/categorie.class.php | 21 ++++++++++----------- htdocs/categories/photos.php | 4 +++- htdocs/core/class/html.form.class.php | 2 +- 10 files changed, 30 insertions(+), 26 deletions(-) diff --git a/htdocs/asterisk/wrapper.php b/htdocs/asterisk/wrapper.php index d0e3ec633a5..e0f115e31c5 100644 --- a/htdocs/asterisk/wrapper.php +++ b/htdocs/asterisk/wrapper.php @@ -41,7 +41,7 @@ if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); /** * Empty header * - * @return none + * @return void */ function llxHeader() { @@ -53,7 +53,7 @@ function llxHeader() /** * Empty footer * - * @return none + * @return void */ function llxFooter() { diff --git a/htdocs/barcode/codeinit.php b/htdocs/barcode/codeinit.php index 19fb5c193bb..546384a98bf 100644 --- a/htdocs/barcode/codeinit.php +++ b/htdocs/barcode/codeinit.php @@ -210,7 +210,8 @@ if ($conf->societe->enabled) { $nbno=$nbtotal=0; - print_fiche_titre($langs->trans("BarcodeInitForThirdparties"),'','').'
'."\n"; + print_fiche_titre($langs->trans("BarcodeInitForThirdparties"),'',''); + print '
'."\n"; $sql="SELECT count(rowid) as nb FROM ".MAIN_DB_PREFIX."societe where barcode IS NULL or barcode = ''"; $resql=$db->query($sql); if ($resql) @@ -250,7 +251,8 @@ if ($conf->product->enabled || $conf->product->service) $nbno=$nbtotal=0; - print_fiche_titre($langs->trans("BarcodeInitForProductsOrServices"),'','').'
'."\n"; + print_fiche_titre($langs->trans("BarcodeInitForProductsOrServices"),'',''); + print '
'."\n"; $sql ="SELECT count(rowid) as nb, fk_product_type"; $sql.=" FROM ".MAIN_DB_PREFIX."product"; $sql.=" WHERE barcode IS NULL OR barcode = ''"; diff --git a/htdocs/barcode/printsheet.php b/htdocs/barcode/printsheet.php index 0ce692674b1..fd89390f3db 100644 --- a/htdocs/barcode/printsheet.php +++ b/htdocs/barcode/printsheet.php @@ -360,7 +360,7 @@ print '
'; print ' '.$langs->trans("FillBarCodeTypeAndValueFromProduct").'   '; print '
'; print '
'; -print $form->select_produits(GETPOST('productid'), 'productid', ''); +$form->select_produits(GETPOST('productid'), 'productid', ''); print '   '; print '
'; diff --git a/htdocs/bookmarks/bookmarks.lib.php b/htdocs/bookmarks/bookmarks.lib.php index a9d2d7eb6c0..ee6003d0119 100644 --- a/htdocs/bookmarks/bookmarks.lib.php +++ b/htdocs/bookmarks/bookmarks.lib.php @@ -38,8 +38,6 @@ function printBookmarksList($aDb, $aLangs) require_once DOL_DOCUMENT_ROOT.'/bookmarks/class/bookmark.class.php'; if (! isset($conf->global->BOOKMARKS_SHOW_IN_MENU)) $conf->global->BOOKMARKS_SHOW_IN_MENU=5; - $bookm = new Bookmark($db); - $langs->load("bookmarks"); $url= $_SERVER["PHP_SELF"].(! empty($_SERVER["QUERY_STRING"])?'?'.$_SERVER["QUERY_STRING"]:''); diff --git a/htdocs/bookmarks/list.php b/htdocs/bookmarks/list.php index 748a4d9b7fa..e00772a0af5 100644 --- a/htdocs/bookmarks/list.php +++ b/htdocs/bookmarks/list.php @@ -94,9 +94,12 @@ if ($resql) print "
"; //print ""; print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"bid","","",'align="left"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Title"),'','').""; - print_liste_field_titre($langs->trans("Link"),'','').""; - print_liste_field_titre($langs->trans("Target"),'','','','','align="center"').""; + print_liste_field_titre($langs->trans("Title"),'',''); + print ""; + print_liste_field_titre($langs->trans("Link"),'',''); + print ""; + print_liste_field_titre($langs->trans("Target"),'','','','','align="center"'); + print ""; print_liste_field_titre($langs->trans("Owner"),$_SERVER["PHP_SELF"],"u.lastname","","",'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"b.dateb","","",'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Position"),$_SERVER["PHP_SELF"],"b.position","","",'align="right"',$sortfield,$sortorder); diff --git a/htdocs/cashdesk/tpl/validation2.tpl.php b/htdocs/cashdesk/tpl/validation2.tpl.php index b00268d7b0a..7bc7999d377 100644 --- a/htdocs/cashdesk/tpl/validation2.tpl.php +++ b/htdocs/cashdesk/tpl/validation2.tpl.php @@ -31,7 +31,7 @@ $langs->load("bills"); function popupTicket() { largeur = 600; - hauteur = 500 + hauteur = 500; opt = 'width='+largeur+', height='+hauteur+', left='+(screen.width - largeur)/2+', top='+(screen.height-hauteur)/2+''; window.open('validation_ticket.php?facid=', 'trans('PrintTicket') ?>', opt); } diff --git a/htdocs/categories/categorie.php b/htdocs/categories/categorie.php index 61ab169029f..0746475ecec 100644 --- a/htdocs/categories/categorie.php +++ b/htdocs/categories/categorie.php @@ -278,7 +278,7 @@ if ($socid) // Address print ''; // Zip / Town @@ -609,7 +609,7 @@ else if ($id || $ref) * @param Object $object Object we want to see categories it can be classified into * @param int $typeid Type of category (0, 1, 2, 3) * @param int $socid Id thirdparty - * @param string $showclassifyform 1=Add form to 'Classify', 0=Do not show form to 'Classify' + * @param int $showclassifyform 1=Add form to 'Classify', 0=Do not show form to 'Classify' * @return int 0 */ function formCategory($db,$object,$typeid,$socid=0,$showclassifyform=1) diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index de8d494f9fc..f5828ecdea7 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -297,7 +297,6 @@ class Categorie extends CommonObject // FIXME le hook fait double emploi avec le trigger !! $hookmanager->initHooks(array('HookCategorydao')); $parameters=array(); - $action='update'; $reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks if (empty($reshook)) { @@ -334,7 +333,7 @@ class Categorie extends CommonObject * Delete a category from database * * @param User $user Object user that ask to delete - * @return void + * @return int <0 KO >0 OK */ function delete($user) { @@ -689,7 +688,9 @@ class Categorie extends CommonObject */ function containsObject($type, $object_id) { - $field = ''; $classname = ''; $category_table = ''; $object_table = ''; + $field = ''; + $category_table = ''; + if ($type == 'product') { $field = 'product'; } @@ -726,7 +727,7 @@ class Categorie extends CommonObject /** * Return childs of a category * - * @return void + * @return array|int <0 KO, array ok */ function get_filles() { @@ -1045,7 +1046,7 @@ class Categorie extends CommonObject * Retourne les categories de premier niveau (qui ne sont pas filles) * * @param int $type Type of category - * @return void + * @return array */ function get_main_categories($type=null) { @@ -1058,7 +1059,7 @@ class Categorie extends CommonObject * * @param string $sep Separator * @param string $url Url - * @return void + * @return array */ function print_all_ways($sep = " >> ", $url='') { @@ -1088,7 +1089,7 @@ class Categorie extends CommonObject /** * Retourne un tableau contenant la liste des categories meres * - * @return void + * @return int|array <0 KO, array OK */ function get_meres() { @@ -1123,7 +1124,7 @@ class Categorie extends CommonObject * Retourne dans un tableau tous les chemins possibles pour arriver a la categorie * en partant des categories principales, representes par des tableaux de categories * - * @return void + * @return array */ function get_all_ways() { @@ -1315,7 +1316,7 @@ class Categorie extends CommonObject $originImage = $dir . $file['name']; // Cree fichier en taille origine - $result=dol_move_uploaded_file($file['tmp_name'], $originImage, 1, 0, 0); + dol_move_uploaded_file($file['tmp_name'], $originImage, 1, 0, 0); if (file_exists($originImage)) { @@ -1560,8 +1561,6 @@ class Categorie extends CommonObject */ function initAsSpecimen() { - global $user,$langs,$conf; - dol_syslog(get_class($this)."::initAsSpecimen"); // Initialise parametres diff --git a/htdocs/categories/photos.php b/htdocs/categories/photos.php index c54d7d889b2..36a44f4bdda 100644 --- a/htdocs/categories/photos.php +++ b/htdocs/categories/photos.php @@ -66,7 +66,9 @@ if ($id > 0) if (isset($_FILES['userfile']) && $_FILES['userfile']['size'] > 0 && $_POST["sendit"] && ! empty($conf->global->MAIN_UPLOAD_DOC)) { - if ($object->id) $result = $object->add_photo($upload_dir, $_FILES['userfile']); + if ($object->id) { + $object->add_photo($upload_dir, $_FILES['userfile']); + } } if ($action == 'confirm_delete' && $_GET["file"] && $confirm == 'yes' && $user->rights->categorie->creer) diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 5448666dbdb..c02df68db2c 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -2794,7 +2794,7 @@ class Form * @param string $htmlname HTML field name * @param int $maxlength Maximum length for labels * @param int $excludeafterid Exclude all categories after this leaf in category tree. - * @return void + * @return string * @see select_categories */ function select_all_categories($type, $selected='', $htmlname="parent", $maxlength=64, $excludeafterid=0) From 023175b9f1ced2494560cea3b6fdb9037515987e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 10 Feb 2015 11:38:13 +0100 Subject: [PATCH 051/137] PHPDoc and misc fixes for several folders --- htdocs/comm/action/class/actioncomm.class.php | 96 +++++++++++++++---- .../comm/action/class/cactioncomm.class.php | 4 +- htdocs/comm/action/index.php | 2 +- htdocs/comm/action/listactions.php | 2 +- htdocs/comm/action/peruser.php | 2 +- htdocs/comm/card.php | 2 +- htdocs/comm/index.php | 2 +- htdocs/comm/mailing/cibles.php | 6 +- htdocs/comm/propal/class/propal.class.php | 36 ++++--- .../comm/propal/class/propalestats.class.php | 2 - htdocs/comm/prospect/class/prospect.class.php | 4 +- htdocs/comm/remx.php | 2 +- htdocs/core/class/html.form.class.php | 2 +- htdocs/core/lib/company.lib.php | 8 +- htdocs/core/lib/emailing.lib.php | 4 +- htdocs/core/lib/functions.lib.php | 10 +- htdocs/societe/class/address.class.php | 14 ++- 17 files changed, 129 insertions(+), 69 deletions(-) diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index 09a2abf329a..ef771b8a9a4 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -37,27 +37,67 @@ class ActionComm extends CommonObject public $table_rowid = 'id'; protected $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe + /** + * Id of the event + * @var int + */ var $id; + /** + * Id of the event. Use $id as possible + * @var int + */ + public $ref; + var $type_id; // Id into parent table llx_c_actioncomm (used only if option to use type is set) var $type_code; // Code into parent table llx_c_actioncomm (used only if option to use type is set). With default setup, should be AC_OTH_AUTO or AC_OTH. var $type; // Label into parent table llx_c_actioncomm (used only if option to use type is set) var $type_color; // Color into parent table llx_c_actioncomm (used only if option to use type is set) var $code; // Free code to identify action. Ie: Agenda trigger add here AC_TRIGGERNAME ('AC_COMPANY_CREATE', 'AC_PROPAL_VALIDATE', ...) + var $label; + /** + * @var string + * @deprecated Use $label + */ + public $libelle; + var $datec; // Date creation record (datec) var $datem; // Date modification record (tms) - var $author; // Object user that create action //deprecated - var $usermod; // Object user that modified action // deprecated + + /** + * Object user that create action + * @var User + * @deprecated + */ + var $author; + + /** + * Object user that modified action + * @var User + * @deprecated + */ + var $usermod; var $authorid; // Id user that create action var $usermodid; // Id user that modified action var $datep; // Date action start (datep) var $datef; // Date action end (datep2) - var $durationp = -1; // -1=Unkown duration // deprecated + + /** + * @var int -1=Unkown duration + * @deprecated + */ + var $durationp = -1; var $fulldayevent = 0; // 1=Event on full day - var $punctual = 1; // Milestone // deprecated. Milestone is already event with end date = start date + + /** + * Milestone + * @var int + * @deprecated Milestone is already event with end date = start date + */ + var $punctual = 1; var $percentage; // Percentage var $location; // Location @@ -68,14 +108,41 @@ class ActionComm extends CommonObject var $userassigned = array(); // Array of user ids var $userownerid; // Id of user owner var $userdoneid; // Id of user done - var $usertodo; // Object user of owner // deprecated - var $userdone; // Object user that did action // deprecated + + /** + * Object user of owner + * @var User + * @deprecated + */ + var $usertodo; + + /** + * Object user that did action + * @var User + * @deprecated + */ + var $userdone; var $socid; var $contactid; - var $societe; // Company linked to action (optional) - var $contact; // Contact linked to action (optional) - var $fk_project; // Id of project (optional) + + /** + * Company linked to action (optional) + * @var Societe|null + */ + var $societe; + + /** + * Contact linked to action (optional) + * @var Contact|null + */ + var $contact; + + /** + * Id of project (optional) + * @var int + */ + var $fk_project; // Properties for links to other objects var $fk_element; // Id of record @@ -95,8 +162,6 @@ class ActionComm extends CommonObject */ function __construct($db) { - global $langs; - $this->db = $db; $this->societe = new stdClass(); // deprecated @@ -239,7 +304,6 @@ class ActionComm extends CommonObject { if (! is_array($val)) // For backward compatibility when val=id { - $tmpid=$val; $val=array('id'=>$val); } @@ -421,9 +485,7 @@ class ActionComm extends CommonObject */ function fetch_userassigned() { - global $langs; - - $sql.="SELECT fk_actioncomm, element_type, fk_element, answer_status, mandatory, transparency"; + $sql ="SELECT fk_actioncomm, element_type, fk_element, answer_status, mandatory, transparency"; $sql.=" FROM ".MAIN_DB_PREFIX."actioncomm_resources"; $sql.=" WHERE element_type = 'user' AND fk_actioncomm = ".$this->id; $resql2=$this->db->query($sql); @@ -885,7 +947,7 @@ class ActionComm extends CommonObject * @param int $overwritepicto 1=Overwrite picto * @return string Chaine avec URL */ - function getNomUrl($withpicto=0,$maxlength=0,$classname='',$option='',$overwritepicto='') + function getNomUrl($withpicto=0,$maxlength=0,$classname='',$option='',$overwritepicto=0) { global $conf,$langs; @@ -1145,7 +1207,7 @@ class ActionComm extends CommonObject */ function initAsSpecimen() { - global $user,$langs,$conf,$user; + global $user; $now=dol_now(); diff --git a/htdocs/comm/action/class/cactioncomm.class.php b/htdocs/comm/action/class/cactioncomm.class.php index 77dfea739e1..56465d45fdb 100644 --- a/htdocs/comm/action/class/cactioncomm.class.php +++ b/htdocs/comm/action/class/cactioncomm.class.php @@ -99,10 +99,10 @@ class CActionComm /** * Return list of event types: array(id=>label) or array(code=>label) * - * @param int $active 1 or 0 to filter on event state active or not ('' by default = no filter) + * @param string|int $active 1 or 0 to filter on event state active or not ('' by default = no filter) * @param string $idorcode 'id' or 'code' * @param string $excludetype Type to exclude - * @param string $onlyautoornot Group list by auto events or not + * @param int $onlyautoornot Group list by auto events or not * @return mixed Array of all event types if OK, <0 if KO */ function liste_array($active='',$idorcode='id',$excludetype='',$onlyautoornot=0) diff --git a/htdocs/comm/action/index.php b/htdocs/comm/action/index.php index 91e5dd9f1d2..d9d17a0ea71 100644 --- a/htdocs/comm/action/index.php +++ b/htdocs/comm/action/index.php @@ -1144,7 +1144,7 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa $ponct=($event->date_start_in_calendar == $event->date_end_in_calendar); // Define $color (Hex string like '0088FF') and $cssclass of event - $color=-1; $cssclass=''; $colorindex=-1; + $color=-1; $colorindex=-1; if (in_array($user->id, $keysofuserassigned)) { $nummytasks++; $cssclass='family_mytasks'; diff --git a/htdocs/comm/action/listactions.php b/htdocs/comm/action/listactions.php index b8c913df271..8fd26b52b7f 100644 --- a/htdocs/comm/action/listactions.php +++ b/htdocs/comm/action/listactions.php @@ -313,7 +313,7 @@ if ($resql) $actionstatic->id=$obj->id; $actionstatic->type_code=$obj->type_code; $actionstatic->type_label=$obj->type_label; - $actionstatic->libelle=$obj->label; + $actionstatic->label=$obj->label; print $actionstatic->getNomUrl(1,28); print ''; diff --git a/htdocs/comm/action/peruser.php b/htdocs/comm/action/peruser.php index 831a019d04e..3df77549609 100644 --- a/htdocs/comm/action/peruser.php +++ b/htdocs/comm/action/peruser.php @@ -804,7 +804,7 @@ $db->close(); * @param int $minheight Minimum height for each event. 60px by default. * @param boolean $showheader Show header * @param array $colorsbytype Array with colors by type - * @param string $var true or false for alternat style on tr/td + * @param bool $var true or false for alternat style on tr/td * @return void */ function show_day_events2($username, $day, $month, $year, $monthshown, $style, &$eventarray, $maxprint=0, $maxnbofchar=16, $newparam='', $showinfo=0, $minheight=60, $showheader=false, $colorsbytype=array(), $var=false) diff --git a/htdocs/comm/card.php b/htdocs/comm/card.php index 74e29fcd3b2..450a462c751 100644 --- a/htdocs/comm/card.php +++ b/htdocs/comm/card.php @@ -909,7 +909,7 @@ if ($id > 0) // Addresses list if (! empty($conf->global->SOCIETE_ADDRESSES_MANAGEMENT) && ! empty($conf->global->MAIN_REPEATADDRESSONEACHTAB)) { - $result=show_addresses($conf,$langs,$db,$object,$_SERVER["PHP_SELF"].'?socid='.$object->id); + show_addresses($conf,$langs,$db,$object,$_SERVER["PHP_SELF"].'?socid='.$object->id); } if (! empty($conf->global->MAIN_REPEATTASKONEACHTAB)) diff --git a/htdocs/comm/index.php b/htdocs/comm/index.php index 4129b561ed1..427b2201d52 100644 --- a/htdocs/comm/index.php +++ b/htdocs/comm/index.php @@ -434,7 +434,7 @@ if (! empty($conf->contrat->enabled) && $user->rights->contrat->lire && 0) // TO while ($i < $num) { $obj = $db->fetch_object($resql); - print ""; + print ""; print ''; print ''; print ''; diff --git a/htdocs/compta/bank/card.php b/htdocs/compta/bank/card.php index b1852785466..98c302f7320 100644 --- a/htdocs/compta/bank/card.php +++ b/htdocs/compta/bank/card.php @@ -250,7 +250,7 @@ if ($action == 'create') // Type print ''; print ''; // Currency @@ -547,7 +547,7 @@ else // Type print ''; print ''; // Currency diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index 2c5c2451c8f..c3bf23bdf66 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -225,7 +225,7 @@ class Account extends CommonObject /** * Add an entry into table ".MAIN_DB_PREFIX."bank * - * @param timestamp $date Date operation + * @param int $date Date operation * @param string $oper 1,2,3,4... (deprecated) or TYP,VIR,PRE,LIQ,VAD,CB,CHQ... * @param string $label Descripton * @param float $amount Amount @@ -1293,7 +1293,7 @@ class AccountLine extends CommonObject $sql.= ")"; dol_syslog(get_class($this)."::update_conciliation", LOG_DEBUG); - $resql = $this->db->query($sql); + $this->db->query($sql); // No error check. Can fail if category already affected } diff --git a/htdocs/compta/bank/ligne.php b/htdocs/compta/bank/ligne.php index b9850a7f98f..ac9fa10ff12 100644 --- a/htdocs/compta/bank/ligne.php +++ b/htdocs/compta/bank/ligne.php @@ -384,7 +384,7 @@ if ($result) if ($user->rights->banque->modifier || $user->rights->banque->consolidate) { print ''; $var=false; print '"; print "\n"; print ""; print ''; print ""; @@ -344,7 +344,7 @@ else if ($id) // Type print ""; print ''; // Who diff --git a/htdocs/compta/deplacement/class/deplacement.class.php b/htdocs/compta/deplacement/class/deplacement.class.php index 4eab354577a..36eb49f4ed8 100644 --- a/htdocs/compta/deplacement/class/deplacement.class.php +++ b/htdocs/compta/deplacement/class/deplacement.class.php @@ -376,11 +376,11 @@ class Deplacement extends CommonObject * List of types * * @param int $active Active or not - * @return void + * @return array */ function listOfTypes($active=1) { - global $conf,$langs; + global $langs; $ret=array(); diff --git a/htdocs/compta/dons/card.php b/htdocs/compta/dons/card.php index 5a4170e74fe..7bf909378b4 100644 --- a/htdocs/compta/dons/card.php +++ b/htdocs/compta/dons/card.php @@ -500,7 +500,7 @@ if (! empty($id) && $action != 'edit') // Payment mode print "\n"; print "".''; diff --git a/htdocs/compta/dons/class/don.class.php b/htdocs/compta/dons/class/don.class.php index 61e1b9cd926..a8f7c11d92b 100644 --- a/htdocs/compta/dons/class/don.class.php +++ b/htdocs/compta/dons/class/don.class.php @@ -450,7 +450,7 @@ class Don extends CommonObject function delete($rowid) { - $this->db-begin(); + $this->db->begin(); $sql = "DELETE FROM ".MAIN_DB_PREFIX."don WHERE rowid = $rowid AND fk_statut = 0;"; diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index 67ba28b4e47..5f1f3998b5d 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -2736,7 +2736,7 @@ if ($action == 'create') } else { if ($absolute_creditnote > 0) // If not, link will be added later { - if ($object->statut == 0 && $object->type != TYPE_CREDIT_NOTE && $object->type != TYPE_DEPOSIT) + if ($object->statut == 0 && $object->type != Facture::TYPE_CREDIT_NOTE && $object->type != Facture::TYPE_DEPOSIT) print ' (' . $addabsolutediscount . ')
'; else print '. '; diff --git a/htdocs/compta/facture/class/facture-rec.class.php b/htdocs/compta/facture/class/facture-rec.class.php index f6c0ab1a481..3c0bcf4319f 100644 --- a/htdocs/compta/facture/class/facture-rec.class.php +++ b/htdocs/compta/facture/class/facture-rec.class.php @@ -591,8 +591,7 @@ class FactureRec extends Facture parent::initAsSpecimen($option); - $this->usenewprice = 1; - + $this->usenewprice = 1; } } diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index 42f0afc0bbb..d50079f78c8 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -59,6 +59,11 @@ class Facture extends CommonInvoice //! Id client var $socid; //! Objet societe client (to load with fetch_client method) + + /** + * Customer + * @var Societe + */ var $client; var $author; var $fk_user_author; @@ -82,7 +87,10 @@ class Facture extends CommonInvoice var $total_tva=0; var $total_ttc=0; var $revenuestamp; - var $note; // deprecated + /** + * @deprecated + */ + var $note; var $note_private; var $note_public; //! 0=draft, @@ -111,7 +119,10 @@ class Facture extends CommonInvoice var $fk_account; // Id of bank account var $fk_bank; // Field to store bank id to use when payment mode is withdraw var $modelpdf; - var $products=array(); // deprecated + /** + * @deprecated + */ + var $products=array(); var $lines=array(); var $line; var $extraparams=array(); @@ -1930,8 +1941,8 @@ class Facture extends CommonInvoice * @param double $txlocaltax2 Local tax 2 rate * @param int $fk_product Id of predefined product/service * @param double $remise_percent Percent of discount on line - * @param timestamp $date_start Date start of service - * @param timestamp $date_end Date end of service + * @param int $date_start Date start of service + * @param int $date_end Date end of service * @param int $ventil Code of dispatching into accountancy * @param int $info_bits Bits de type de lignes * @param int $fk_remise_except Id discount used @@ -2106,8 +2117,8 @@ class Facture extends CommonInvoice * @param double $pu Prix unitaire (HT ou TTC selon price_base_type) (> 0 even for credit note lines) * @param double $qty Quantity * @param double $remise_percent Pourcentage de remise de la ligne - * @param date $date_start Date de debut de validite du service - * @param date $date_end Date de fin de validite du service + * @param int $date_start Date de debut de validite du service + * @param int $date_end Date de fin de validite du service * @param double $txtva VAT Rate * @param double $txlocaltax1 Local tax 1 rate * @param double $txlocaltax2 Local tax 2 rate @@ -2946,7 +2957,7 @@ class Facture extends CommonInvoice /** * Supprime une demande de prelevement * - * @param Use $user utilisateur creant la demande + * @param User $user utilisateur creant la demande * @param int $did id de la demande a supprimer * @return int <0 if OK, >0 if KO */ diff --git a/htdocs/compta/facture/impayees.php b/htdocs/compta/facture/impayees.php index f4d6d767091..d0ce1609b2a 100644 --- a/htdocs/compta/facture/impayees.php +++ b/htdocs/compta/facture/impayees.php @@ -324,7 +324,7 @@ if ($action == 'remove_file') $langs->load("other"); $upload_dir = $diroutputpdf; $file = $upload_dir . '/' . GETPOST('file'); - $ret=dol_delete_file($file,0,0,0,''); + $ret=dol_delete_file($file); if ($ret) setEventMessage($langs->trans("FileWasRemoved", GETPOST('urlfile'))); else setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), 'errors'); $action=''; @@ -482,7 +482,8 @@ if ($resql) $formmail = new FormMail($db); print '
'; - print_fiche_titre($langs->trans("SendRemind"),'','').'
'; + print_fiche_titre($langs->trans("SendRemind"),'',''); + print '
'; $topicmail="MailTopicSendRemindUnpaidInvoices"; $modelmail="facture_relance"; diff --git a/htdocs/compta/localtax/class/localtax.class.php b/htdocs/compta/localtax/class/localtax.class.php index e2c9c94595a..d6260d1b34d 100644 --- a/htdocs/compta/localtax/class/localtax.class.php +++ b/htdocs/compta/localtax/class/localtax.class.php @@ -249,10 +249,6 @@ class Localtax extends CommonObject */ function delete($user) { - global $conf, $langs; - - $error=0; - // Call trigger $result=$this->call_trigger('LOCALTAX_DELETE',$user); if ($result < 0) return -1; @@ -270,7 +266,6 @@ class Localtax extends CommonObject return -1; } - return 1; } diff --git a/htdocs/compta/localtax/clients.php b/htdocs/compta/localtax/clients.php index 7c34cec1ed4..90d6cbe8599 100644 --- a/htdocs/compta/localtax/clients.php +++ b/htdocs/compta/localtax/clients.php @@ -104,7 +104,7 @@ $fsearch.=' '; $fsearch.=' '.$langs->trans("SalesTurnoverMinimum").': '; $fsearch.=' '; -$calc=MAIN_INFO_LOCALTAX_CALC.$local; +$calc=$conf->global->MAIN_INFO_LOCALTAX_CALC.$local; // Affiche en-tete du rapport if ($conf->global->$calc==0 || $conf->global->$calc==1) // Calculate on invoice for goods and services { diff --git a/htdocs/compta/localtax/quadri_detail.php b/htdocs/compta/localtax/quadri_detail.php index b1b4aad7722..612014ac741 100644 --- a/htdocs/compta/localtax/quadri_detail.php +++ b/htdocs/compta/localtax/quadri_detail.php @@ -124,7 +124,7 @@ $fsearch.=' '; //$fsearch.=' '.$langs->trans("SalesTurnoverMinimum").': '; //$fsearch.=' '; -$calc=MAIN_INFO_LOCALTAX_CALC.$local; +$calc=$conf->global->MAIN_INFO_LOCALTAX_CALC.$local; // Affiche en-tete du rapport if ($conf->global->$calc==0 || $conf->global->$calc==1) // Calculate on invoice for goods and services { diff --git a/htdocs/compta/paiement.php b/htdocs/compta/paiement.php index c922099cd0e..13414a5b915 100644 --- a/htdocs/compta/paiement.php +++ b/htdocs/compta/paiement.php @@ -315,7 +315,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie $(\'.fieldrequireddyn\').addClass(\'fieldrequired\'); if ($(\'#fieldchqemetteur\').val() == \'\') { - var emetteur = ('.$facture->type.' == 2) ? \''.dol_escape_htmltag(MAIN_INFO_SOCIETE_NOM).'\' : jQuery(\'#thirdpartylabel\').val(); + var emetteur = ('.$facture->type.' == 2) ? \''.dol_escape_htmltag($conf->global->MAIN_INFO_SOCIETE_NOM).'\' : jQuery(\'#thirdpartylabel\').val(); $(\'#fieldchqemetteur\').val(emetteur); } } diff --git a/htdocs/compta/paiement/cheque/card.php b/htdocs/compta/paiement/cheque/card.php index 0c5eeca3689..f87689bd202 100644 --- a/htdocs/compta/paiement/cheque/card.php +++ b/htdocs/compta/paiement/cheque/card.php @@ -355,7 +355,7 @@ if ($action == 'new') print $form->select_date($filterdate,'fd',0,0,1,'',1,1); print ''; print ''; print '
'.$langs->trans("Parameters").''.$langs->trans("Value").' 
'.$langs->trans("DefaultMenuManager").''; - print $formadmin->select_menu(empty($conf->global->MAIN_MENU_STANDARD_FORCED)?$conf->global->MAIN_MENU_STANDARD:$conf->global->MAIN_MENU_STANDARD_FORCED, 'MAIN_MENU_STANDARD', $dirstandard, empty($conf->global->MAIN_MENU_STANDARD_FORCED)?'':' disabled="disabled"'); + $formadmin->select_menu(empty($conf->global->MAIN_MENU_STANDARD_FORCED)?$conf->global->MAIN_MENU_STANDARD:$conf->global->MAIN_MENU_STANDARD_FORCED, 'MAIN_MENU_STANDARD', $dirstandard, empty($conf->global->MAIN_MENU_STANDARD_FORCED)?'':' disabled="disabled"'); print ''; - print $formadmin->select_menu(empty($conf->global->MAIN_MENUFRONT_STANDARD_FORCED)?$conf->global->MAIN_MENUFRONT_STANDARD:$conf->global->MAIN_MENUFRONT_STANDARD_FORCED, 'MAIN_MENUFRONT_STANDARD', $dirstandard, empty($conf->global->MAIN_MENUFRONT_STANDARD_FORCED)?'':' disabled="disabled"'); + $formadmin->select_menu(empty($conf->global->MAIN_MENUFRONT_STANDARD_FORCED)?$conf->global->MAIN_MENUFRONT_STANDARD:$conf->global->MAIN_MENUFRONT_STANDARD_FORCED, 'MAIN_MENUFRONT_STANDARD', $dirstandard, empty($conf->global->MAIN_MENUFRONT_STANDARD_FORCED)?'':' disabled="disabled"'); print '
'.$langs->trans("DefaultMenuSmartphoneManager").''; - print $formadmin->select_menu(empty($conf->global->MAIN_MENU_SMARTPHONE_FORCED)?$conf->global->MAIN_MENU_SMARTPHONE:$conf->global->MAIN_MENU_SMARTPHONE_FORCED, 'MAIN_MENU_SMARTPHONE', array_merge($dirstandard,$dirsmartphone), empty($conf->global->MAIN_MENU_SMARTPHONE_FORCED)?'':' disabled="disabled"'); + $formadmin->select_menu(empty($conf->global->MAIN_MENU_SMARTPHONE_FORCED)?$conf->global->MAIN_MENU_SMARTPHONE:$conf->global->MAIN_MENU_SMARTPHONE_FORCED, 'MAIN_MENU_SMARTPHONE', array_merge($dirstandard,$dirsmartphone), empty($conf->global->MAIN_MENU_SMARTPHONE_FORCED)?'':' disabled="disabled"'); print ''; - print $formadmin->select_menu(empty($conf->global->MAIN_MENUFRONT_SMARTPHONE_FORCED)?$conf->global->MAIN_MENUFRONT_SMARTPHONE:$conf->global->MAIN_MENUFRONT_SMARTPHONE_FORCED, 'MAIN_MENUFRONT_SMARTPHONE', array_merge($dirstandard,$dirsmartphone), empty($conf->global->MAIN_MENUFRONT_SMARTPHONE_FORCED)?'':' disabled="disabled"'); + $formadmin->select_menu(empty($conf->global->MAIN_MENUFRONT_SMARTPHONE_FORCED)?$conf->global->MAIN_MENUFRONT_SMARTPHONE:$conf->global->MAIN_MENUFRONT_SMARTPHONE_FORCED, 'MAIN_MENUFRONT_SMARTPHONE', array_merge($dirstandard,$dirsmartphone), empty($conf->global->MAIN_MENUFRONT_SMARTPHONE_FORCED)?'':' disabled="disabled"'); print '
'.$langs->trans('MenuHandler').''; - print $formadmin->select_menu_families($menu_handler,'menu_handler',$dirmenu); + $formadmin->select_menu_families($menu_handler,'menu_handler',$dirmenu); print ''.$langs->trans('DetailMenuHandler').'
'.$langs->trans("BankToReceiveWithdraw").''; -print $form->select_comptes($conf->global->PRELEVEMENT_ID_BANKACCOUNT,'PRELEVEMENT_ID_BANKACCOUNT',0,"courant=1",1); +$form->select_comptes($conf->global->PRELEVEMENT_ID_BANKACCOUNT,'PRELEVEMENT_ID_BANKACCOUNT',0,"courant=1",1); print '
 
'.$langs->trans('Address').''; - print dol_print_address($soc->address,'gmap','thirdparty',$soc->id); + dol_print_address($soc->address,'gmap','thirdparty',$soc->id); print '
contratid."\">".img_object($langs->trans("ShowContract","contract"))." ".$obj->ref."
contratid."\">".img_object($langs->trans("ShowContract","contract"), 'contract')." ".$obj->ref."'; $companystatic->id=$objp->rowid; $companystatic->name=$objp->name; diff --git a/htdocs/comm/mailing/cibles.php b/htdocs/comm/mailing/cibles.php index 75f2399017b..ff129a557e8 100644 --- a/htdocs/comm/mailing/cibles.php +++ b/htdocs/comm/mailing/cibles.php @@ -118,8 +118,7 @@ if ($action == 'add') if (GETPOST('clearlist')) { // Chargement de la classe - $classname = "MailingTargets"; - $obj = new $classname($db); + $obj = new MailingTargets($db); $obj->clear_target($id); header("Location: ".$_SERVER['PHP_SELF']."?id=".$id); @@ -135,8 +134,7 @@ if ($action == 'delete') { if (!empty($id)) { - $classname = "MailingTargets"; - $obj = new $classname($db); + $obj = new MailingTargets($db); $obj->update_nb($id); header("Location: ".$_SERVER['PHP_SELF']."?id=".$id); diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index 15ce2ccd330..ca4c51c3f4c 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -296,15 +296,15 @@ class Propal extends CommonObject * et le desc doit deja avoir la bonne valeur (a l'appelant de gerer le multilangue) * * @param string $desc Description de la ligne - * @param double $pu_ht Prix unitaire - * @param double $qty Quantite - * @param double $txtva Taux de tva - * @param double $txlocaltax1 Local tax 1 rate - * @param double $txlocaltax2 Local tax 2 rate + * @param float $pu_ht Prix unitaire + * @param float $qty Quantite + * @param float $txtva Taux de tva + * @param float $txlocaltax1 Local tax 1 rate + * @param float $txlocaltax2 Local tax 2 rate * @param int $fk_product Id du produit/service predefini - * @param double $remise_percent Pourcentage de remise de la ligne + * @param float $remise_percent Pourcentage de remise de la ligne * @param string $price_base_type HT or TTC - * @param double $pu_ttc Prix unitaire TTC + * @param float $pu_ttc Prix unitaire TTC * @param int $info_bits Bits de type de lignes * @param int $type Type of line (product, service) * @param int $rang Position of line @@ -320,7 +320,7 @@ class Propal extends CommonObject * * @see add_product */ - function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0, $txlocaltax2=0, $fk_product=0, $remise_percent=0, $price_base_type='HT', $pu_ttc=0, $info_bits=0, $type=0, $rang=-1, $special_code=0, $fk_parent_line=0, $fk_fournprice=0, $pa_ht=0, $label='',$date_start='', $date_end='',$array_option=0) + function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0.0, $txlocaltax2=0.0, $fk_product=0, $remise_percent=0.0, $price_base_type='HT', $pu_ttc=0.0, $info_bits=0, $type=0, $rang=-1, $special_code=0, $fk_parent_line=0, $fk_fournprice=0, $pa_ht=0, $label='',$date_start='', $date_end='',$array_option=0) { global $mysoc; @@ -477,14 +477,14 @@ class Propal extends CommonObject * Update a proposal line * * @param int $rowid Id de la ligne - * @param double $pu Prix unitaire (HT ou TTC selon price_base_type) - * @param double $qty Quantity - * @param double $remise_percent Remise effectuee sur le produit - * @param double $txtva Taux de TVA - * @param double $txlocaltax1 Local tax 1 rate - * @param double $txlocaltax2 Local tax 2 rate + * @param float $pu Prix unitaire (HT ou TTC selon price_base_type) + * @param float $qty Quantity + * @param float $remise_percent Remise effectuee sur le produit + * @param float $txtva Taux de TVA + * @param float $txlocaltax1 Local tax 1 rate + * @param float $txlocaltax2 Local tax 2 rate * @param string $desc Description - * @param double $price_base_type HT ou TTC + * @param string $price_base_type HT ou TTC * @param int $info_bits Miscellaneous informations * @param int $special_code Special code (also used by externals modules!) * @param int $fk_parent_line Id of parent line (0 in most cases, used by modules adding sublevels into lines). @@ -498,9 +498,9 @@ class Propal extends CommonObject * @param array $array_option extrafields array * @return int 0 if OK, <0 if KO */ - function updateline($rowid, $pu, $qty, $remise_percent, $txtva, $txlocaltax1=0, $txlocaltax2=0, $desc='', $price_base_type='HT', $info_bits=0, $special_code=0, $fk_parent_line=0, $skip_update_total=0, $fk_fournprice=0, $pa_ht=0, $label='', $type=0, $date_start='', $date_end='', $array_option=0) + function updateline($rowid, $pu, $qty, $remise_percent, $txtva, $txlocaltax1=0.0, $txlocaltax2=0.0, $desc='', $price_base_type='HT', $info_bits=0, $special_code=0, $fk_parent_line=0, $skip_update_total=0, $fk_fournprice=0, $pa_ht=0, $label='', $type=0, $date_start='', $date_end='', $array_option=0) { - global $conf,$user,$langs, $mysoc; + global $mysoc; dol_syslog(get_class($this)."::updateLine $rowid, $pu, $qty, $remise_percent, $txtva, $desc, $price_base_type, $info_bits"); include_once DOL_DOCUMENT_ROOT.'/core/lib/price.lib.php'; @@ -1866,8 +1866,6 @@ class Propal extends CommonObject */ function set_draft($user) { - global $conf,$langs; - $sql = "UPDATE ".MAIN_DB_PREFIX."propal SET fk_statut = 0"; $sql.= " WHERE rowid = ".$this->id; diff --git a/htdocs/comm/propal/class/propalestats.class.php b/htdocs/comm/propal/class/propalestats.class.php index dc8501c37ba..97256c840b1 100644 --- a/htdocs/comm/propal/class/propalestats.class.php +++ b/htdocs/comm/propal/class/propalestats.class.php @@ -193,8 +193,6 @@ class PropaleStats extends Stats */ function getAllByProduct($year) { - global $user; - $sql = "SELECT product.ref, COUNT(product.ref) as nb, SUM(tl.".$this->field_line.") as total, AVG(tl.".$this->field_line.") as avg"; $sql.= " FROM ".$this->from.", ".$this->from_line.", ".MAIN_DB_PREFIX."product as product"; //if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; diff --git a/htdocs/comm/prospect/class/prospect.class.php b/htdocs/comm/prospect/class/prospect.class.php index 19e56fe2cff..59f284408b8 100644 --- a/htdocs/comm/prospect/class/prospect.class.php +++ b/htdocs/comm/prospect/class/prospect.class.php @@ -41,8 +41,6 @@ class Prospect extends Societe */ function __construct($db) { - global $config; - $this->db = $db; return 0; @@ -56,7 +54,7 @@ class Prospect extends Societe */ function load_state_board() { - global $conf, $user; + global $user; $this->nb=array("customers" => 0,"prospects" => 0); $clause = "WHERE"; diff --git a/htdocs/comm/remx.php b/htdocs/comm/remx.php index 79f952fe7fd..99bfcb3a072 100644 --- a/htdocs/comm/remx.php +++ b/htdocs/comm/remx.php @@ -534,7 +534,7 @@ if ($socid > 0) } else { - print dol_print_error($db); + dol_print_error($db); } } diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index c02df68db2c..dd9018f5669 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -3667,7 +3667,7 @@ class Form * Si vendeur et acheteur dans Communauté européenne et acheteur= entreprise alors TVA par défaut=0. Fin de règle. * Sinon la TVA proposee par defaut=0. Fin de regle. * @param bool $options_only Return options only (for ajax treatment) - * @return void + * @return string */ function load_tva($htmlname='tauxtva', $selectedrate='', $societe_vendeuse='', $societe_acheteuse='', $idprod=0, $info_bits=0, $type='', $options_only=false) { diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index 8c0038f785f..9e4c72d8299 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -32,10 +32,10 @@ /** * Return array of tabs to used on pages for third parties cards. * - * @param Object $object Object company shown + * @param Societe $object Object company shown * @return array Array of tabs */ -function societe_prepare_head($object) +function societe_prepare_head(Societe $object) { global $db, $langs, $conf, $user; $h = 0; @@ -545,7 +545,7 @@ function show_projects($conf,$langs,$db,$object,$backtopage='') * @param Conf $conf Object conf * @param Translate $langs Object langs * @param DoliDB $db Database handler - * @param Object $object Third party object + * @param Societe $object Third party object * @param string $backtopage Url to go once contact is created * @return void */ @@ -809,7 +809,7 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='') * @param Conf $conf Object conf * @param Translate $langs Object langs * @param DoliDB $db Database handler - * @param Object $object Third party object + * @param Societe $object Third party object * @param string $backtopage Url to go once address is created * @return void */ diff --git a/htdocs/core/lib/emailing.lib.php b/htdocs/core/lib/emailing.lib.php index 239f36721ee..7ca2aba9db2 100644 --- a/htdocs/core/lib/emailing.lib.php +++ b/htdocs/core/lib/emailing.lib.php @@ -24,10 +24,10 @@ /** * Prepare array with list of tabs * - * @param Object $object Object related to tabs + * @param Mailing $object Object related to tabs * @return array Array of tabs to show */ -function emailing_prepare_head($object) +function emailing_prepare_head(Mailing $object) { global $user, $langs, $conf; diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 2952ffd0b39..6c3de564197 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -3188,11 +3188,11 @@ function get_localtax_by_third($local) * Instead this function must be called when adding a line to get (array of localtax and type) and * provide it to the function calcul_price_total. * - * @param float $vatrate VAT Rate - * @param int $local Number of localtax (1 or 2, or 0 to return 1 & 2) - * @param int $buyer Company object - * @param int $seller Company object - * @return array array(localtax_type1(1-6 / 0 if not found), rate of localtax1, ...) + * @param float $vatrate VAT Rate + * @param int $local Number of localtax (1 or 2, or 0 to return 1 & 2) + * @param Societe $buyer Company object + * @param Societe $seller Company object + * @return array array(localtax_type1(1-6 / 0 if not found), rate of localtax1, ...) */ function getLocalTaxesFromRate($vatrate, $local, $buyer, $seller) { diff --git a/htdocs/societe/class/address.class.php b/htdocs/societe/class/address.class.php index 7b36423cb61..632e4aea5b6 100644 --- a/htdocs/societe/class/address.class.php +++ b/htdocs/societe/class/address.class.php @@ -47,6 +47,11 @@ class Address var $fax; var $note; + /** + * Adresses liees a la societe + * @var array + */ + public $lines; /** * Constructor @@ -391,7 +396,7 @@ class Address * * @param int $id id de la societe a supprimer * @param int $socid id third party - * @return void + * @return <0 KO >0 OK */ function delete($id,$socid) { @@ -403,10 +408,11 @@ class Address $result = $this->db->query($sql); - if (!$result) - { - print $this->db->error() . '
' . $sql; + if (!$result) { + return -1; } + + return 1; } /** From 0d6d98b3959cc8f565e22d630dcb486bec492b52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 10 Feb 2015 13:17:37 +0100 Subject: [PATCH 052/137] PHPDoc and misc fixes for several folders --- htdocs/commande/class/commande.class.php | 56 +++++++++---------- htdocs/commande/list.php | 2 +- htdocs/commande/orderstoinvoice.php | 2 +- htdocs/compta/bank/account.php | 2 +- htdocs/compta/bank/card.php | 4 +- htdocs/compta/bank/class/account.class.php | 4 +- htdocs/compta/bank/ligne.php | 2 +- htdocs/compta/bank/virement.php | 4 +- htdocs/compta/deplacement/card.php | 4 +- .../deplacement/class/deplacement.class.php | 4 +- htdocs/compta/dons/card.php | 2 +- htdocs/compta/dons/class/don.class.php | 2 +- htdocs/compta/facture.php | 2 +- .../facture/class/facture-rec.class.php | 3 +- htdocs/compta/facture/class/facture.class.php | 25 ++++++--- htdocs/compta/facture/impayees.php | 5 +- .../compta/localtax/class/localtax.class.php | 5 -- htdocs/compta/localtax/clients.php | 2 +- htdocs/compta/localtax/quadri_detail.php | 2 +- htdocs/compta/paiement.php | 2 +- htdocs/compta/paiement/cheque/card.php | 2 +- .../cheque/class/remisecheque.class.php | 42 +++++++------- .../compta/paiement/class/paiement.class.php | 2 +- .../class/bonprelevement.class.php | 12 ++-- .../class/ligneprelevement.class.php | 2 +- .../class/rejetprelevement.class.php | 6 +- .../sociales/class/chargesociales.class.php | 10 ++-- htdocs/compta/tva/quadri.php | 4 +- htdocs/core/class/commonobject.class.php | 2 +- htdocs/core/class/doleditor.class.php | 2 +- htdocs/core/class/html.formother.class.php | 4 +- htdocs/core/lib/bank.lib.php | 4 +- htdocs/core/lib/order.lib.php | 4 +- htdocs/core/lib/prelevement.lib.php | 4 +- htdocs/core/lib/tax.lib.php | 4 +- htdocs/core/lib/trip.lib.php | 4 +- 36 files changed, 123 insertions(+), 119 deletions(-) diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 6c5b6c020c7..35834419a74 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -162,7 +162,6 @@ class Commande extends CommonOrder } $obj = new $classname(); - $numref = ""; $numref = $obj->getNextValue($soc,$this); if ($numref != "") @@ -1079,19 +1078,19 @@ class Commande extends CommonOrder * Add an order line into database (linked to product/service or not) * * @param string $desc Description of line - * @param double $pu_ht Unit price (without tax) - * @param double $qty Quantite - * @param double $txtva Taux de tva force, sinon -1 - * @param double $txlocaltax1 Local tax 1 rate - * @param double $txlocaltax2 Local tax 2 rate + * @param float $pu_ht Unit price (without tax) + * @param float $qty Quantite + * @param float $txtva Taux de tva force, sinon -1 + * @param float $txlocaltax1 Local tax 1 rate + * @param float $txlocaltax2 Local tax 2 rate * @param int $fk_product Id du produit/service predefini - * @param double $remise_percent Pourcentage de remise de la ligne + * @param float $remise_percent Pourcentage de remise de la ligne * @param int $info_bits Bits de type de lignes * @param int $fk_remise_except Id remise * @param string $price_base_type HT or TTC - * @param double $pu_ttc Prix unitaire TTC - * @param timestamp $date_start Start date of the line - Added by Matelli (See http://matelli.fr/showcases/patchs-dolibarr/add-dates-in-order-lines.html) - * @param timestamp $date_end End date of the line - Added by Matelli (See http://matelli.fr/showcases/patchs-dolibarr/add-dates-in-order-lines.html) + * @param float $pu_ttc Prix unitaire TTC + * @param int $date_start Start date of the line - Added by Matelli (See http://matelli.fr/showcases/patchs-dolibarr/add-dates-in-order-lines.html) + * @param int $date_end End date of the line - Added by Matelli (See http://matelli.fr/showcases/patchs-dolibarr/add-dates-in-order-lines.html) * @param int $type Type of line (0=product, 1=service) * @param int $rang Position of line * @param int $special_code Special code (also used by externals modules!) @@ -1285,16 +1284,16 @@ class Commande extends CommonOrder * $this->client must be loaded * * @param int $idproduct Product Id - * @param double $qty Quantity - * @param double $remise_percent Product discount relative - * @param timestamp $date_start Start date of the line - Added by Matelli (See http://matelli.fr/showcases/patchs-dolibarr/add-dates-in-order-lines.html) - * @param timestamp $date_end End date of the line - Added by Matelli (See http://matelli.fr/showcases/patchs-dolibarr/add-dates-in-order-lines.html) + * @param float $qty Quantity + * @param float $remise_percent Product discount relative + * @param int $date_start Start date of the line - Added by Matelli (See http://matelli.fr/showcases/patchs-dolibarr/add-dates-in-order-lines.html) + * @param int $date_end End date of the line - Added by Matelli (See http://matelli.fr/showcases/patchs-dolibarr/add-dates-in-order-lines.html) * @return void * * TODO Remplacer les appels a cette fonction par generation objet Ligne * insere dans tableau $this->products */ - function add_product($idproduct, $qty, $remise_percent=0, $date_start='', $date_end='') + function add_product($idproduct, $qty, $remise_percent=0.0, $date_start='', $date_end='') { global $conf, $mysoc; @@ -1692,7 +1691,6 @@ class Commande extends CommonOrder */ function loadExpeditions($filtre_statut=-1) { - $num=0; $this->expeditions = array(); $sql = 'SELECT cd.rowid, cd.fk_product,'; @@ -1961,7 +1959,7 @@ class Commande extends CommonOrder * Set the order date * * @param User $user Object user making change - * @param timestamp $date Date + * @param int $date Date * @return int <0 if KO, >0 if OK */ function set_date($user, $date) @@ -1995,7 +1993,7 @@ class Commande extends CommonOrder * Set the planned delivery date * * @param User $user Objet utilisateur qui modifie - * @param timestamp $date_livraison Date de livraison + * @param int $date_livraison Date de livraison * @return int <0 si ko, >0 si ok */ function set_date_livraison($user, $date_livraison) @@ -2324,16 +2322,16 @@ class Commande extends CommonOrder * * @param int $rowid Id of line to update * @param string $desc Description de la ligne - * @param double $pu Prix unitaire - * @param double $qty Quantity - * @param double $remise_percent Pourcentage de remise de la ligne - * @param double $txtva Taux TVA - * @param double $txlocaltax1 Local tax 1 rate - * @param double $txlocaltax2 Local tax 2 rate + * @param float $pu Prix unitaire + * @param float $qty Quantity + * @param float $remise_percent Pourcentage de remise de la ligne + * @param float $txtva Taux TVA + * @param float $txlocaltax1 Local tax 1 rate + * @param float $txlocaltax2 Local tax 2 rate * @param string $price_base_type HT or TTC * @param int $info_bits Miscellaneous informations on line - * @param timestamp $date_start Start date of the line - * @param timestamp $date_end End date of the line + * @param int $date_start Start date of the line + * @param int $date_end End date of the line * @param int $type Type of line (0=product, 1=service) * @param int $fk_parent_line Id of parent line (0 in most cases, used by modules adding sublevels into lines). * @param int $skip_update_total Keep fields total_xxx to 0 (used for special lines by some modules) @@ -2344,7 +2342,7 @@ class Commande extends CommonOrder * @param array $array_option extrafields array * @return int < 0 if KO, > 0 if OK */ - function updateline($rowid, $desc, $pu, $qty, $remise_percent, $txtva, $txlocaltax1=0,$txlocaltax2=0, $price_base_type='HT', $info_bits=0, $date_start='', $date_end='', $type=0, $fk_parent_line=0, $skip_update_total=0, $fk_fournprice=null, $pa_ht=0, $label='', $special_code=0, $array_option=0) + function updateline($rowid, $desc, $pu, $qty, $remise_percent, $txtva, $txlocaltax1=0.0,$txlocaltax2=0.0, $price_base_type='HT', $info_bits=0, $date_start='', $date_end='', $type=0, $fk_parent_line=0, $skip_update_total=0, $fk_fournprice=null, $pa_ht=0, $label='', $special_code=0, $array_option=0) { global $conf, $mysoc; @@ -2578,6 +2576,8 @@ class Commande extends CommonOrder */ function update_extrafields($user) { + global $hookmanager, $conf; + $action='create'; // Actions on extra fields (by external module or standard code) @@ -3167,7 +3167,7 @@ class Commande extends CommonOrder */ public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0) { - global $conf,$user,$langs,$hookmanager; + global $conf,$langs; $langs->load("orders"); diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index f42920850c2..0de3c54e1ba 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -500,7 +500,7 @@ if ($resql) } else { - print dol_print_error($db); + dol_print_error($db); } llxFooter(); diff --git a/htdocs/commande/orderstoinvoice.php b/htdocs/commande/orderstoinvoice.php index 1009b030210..930fee833fa 100644 --- a/htdocs/commande/orderstoinvoice.php +++ b/htdocs/commande/orderstoinvoice.php @@ -696,7 +696,7 @@ if (($action != 'create' && $action != 'add') || !$error) } else { - print dol_print_error($db); + dol_print_error($db); } } diff --git a/htdocs/compta/bank/account.php b/htdocs/compta/bank/account.php index 87b7d3e62c5..024e21510e1 100644 --- a/htdocs/compta/bank/account.php +++ b/htdocs/compta/bank/account.php @@ -432,7 +432,7 @@ if ($id > 0 || ! empty($ref)) print '
'; //$filtertype=array('TIP'=>'TIP','PRE'=>'PRE',...) $filtertype=''; - print $form->select_types_paiements($paiementtype,'paiementtype',$filtertype,2,1,1,8); + $form->select_types_paiements($paiementtype,'paiementtype',$filtertype,2,1,1,8); print '
'.$langs->trans("AccountType").''; - print $formbank->select_type_comptes_financiers(isset($_POST["type"])?$_POST["type"]:1,"type"); + $formbank->select_type_comptes_financiers(isset($_POST["type"])?$_POST["type"]:1,"type"); print '
'.$langs->trans("AccountType").''; - print $formbank->select_type_comptes_financiers((isset($_POST["type"])?$_POST["type"]:$account->type),"type"); + $formbank->select_type_comptes_financiers((isset($_POST["type"])?$_POST["type"]:$account->type),"type"); print '
'; - print $form->select_types_paiements($objp->fk_type,"value",'',2); + $form->select_types_paiements($objp->fk_type,"value",'',2); print ''; if ($objp->receiptid) { diff --git a/htdocs/compta/bank/virement.php b/htdocs/compta/bank/virement.php index 601db34c964..3881efd5c9b 100644 --- a/htdocs/compta/bank/virement.php +++ b/htdocs/compta/bank/virement.php @@ -167,11 +167,11 @@ print '
'; -print $form->select_comptes($account_from,'account_from',0,'',1); +$form->select_comptes($account_from,'account_from',0,'',1); print "\n"; -print $form->select_comptes($account_to,'account_to',0,'',1); +$form->select_comptes($account_to,'account_to',0,'',1); print ""; diff --git a/htdocs/compta/deplacement/card.php b/htdocs/compta/deplacement/card.php index 20433118bbf..407edf6332e 100644 --- a/htdocs/compta/deplacement/card.php +++ b/htdocs/compta/deplacement/card.php @@ -252,7 +252,7 @@ if ($action == 'create') print "
'.$langs->trans("Type").''; - print $form->select_type_fees(GETPOST('type','int'),'type',1); + $form->select_type_fees(GETPOST('type','int'),'type',1); print '
'.$langs->trans("Type").''; - print $form->select_type_fees(GETPOST('type','int')?GETPOST('type','int'):$object->type,'type',0); + $form->select_type_fees(GETPOST('type','int')?GETPOST('type','int'):$object->type,'type',0); print '
".$langs->trans("PaymentMode").""; - print $form->form_modes_reglement(null, $don->modepaiementid,'none'); + $form->form_modes_reglement(null, $don->modepaiementid,'none'); print "
'.$langs->trans("Status").''.$don->getLibStatut(4).'
'.$langs->trans("BankAccount").''; - print $form->select_comptes($filteraccountid,'accountid',0,'courant <> 2',1); + $form->select_comptes($filteraccountid,'accountid',0,'courant <> 2',1); print '
'; print '
'; diff --git a/htdocs/compta/paiement/cheque/class/remisecheque.class.php b/htdocs/compta/paiement/cheque/class/remisecheque.class.php index 922ab54ac7c..36ef0e2a1e9 100644 --- a/htdocs/compta/paiement/cheque/class/remisecheque.class.php +++ b/htdocs/compta/paiement/cheque/class/remisecheque.class.php @@ -41,6 +41,8 @@ class RemiseCheque extends CommonObject //! Numero d'erreur Plage 1024-1279 var $errno; + public $statut; + /** * Constructor * @@ -274,7 +276,7 @@ class RemiseCheque extends CommonObject * Supprime la remise en base * * @param User $user Utilisateur qui effectue l'operation - * @return void + * @return int */ function delete($user='') { @@ -292,25 +294,23 @@ class RemiseCheque extends CommonObject { $num = $this->db->affected_rows($resql); - if ($num <> 1) - { - $this->errno = -2; - dol_syslog("Remisecheque::Delete Erreur Lecture ID ($this->errno)"); - } + if ($num <> 1) { + $this->errno = -2; + dol_syslog("Remisecheque::Delete Erreur Lecture ID ($this->errno)"); + } - if ( $this->errno === 0) - { - $sql = "UPDATE ".MAIN_DB_PREFIX."bank"; - $sql.= " SET fk_bordereau = 0"; - $sql.= " WHERE fk_bordereau = '".$this->id."'"; + if ( $this->errno === 0) { + $sql = "UPDATE ".MAIN_DB_PREFIX."bank"; + $sql.= " SET fk_bordereau = 0"; + $sql.= " WHERE fk_bordereau = '".$this->id."'"; - $resql = $this->db->query($sql); - if (!$resql) - { - $this->errno = -1028; - dol_syslog("RemiseCheque::Delete ERREUR UPDATE ($this->errno)"); - } - } + $resql = $this->db->query($sql); + if (!$resql) + { + $this->errno = -1028; + dol_syslog("RemiseCheque::Delete ERREUR UPDATE ($this->errno)"); + } + } } if ($this->errno === 0) @@ -476,7 +476,7 @@ class RemiseCheque extends CommonObject * Build document * * @param string $model Model name - * @param Tranlsate $outputlangs Object langs + * @param Translate $outputlangs Object langs * @return int <0 if KO, >0 if OK */ function generatePdf($model, $outputlangs) @@ -693,7 +693,7 @@ class RemiseCheque extends CommonObject * Set the creation date * * @param User $user Object user - * @param timestamp $date Date creation + * @param int $date Date creation * @return int <0 if KO, >0 if OK */ function set_date($user, $date) @@ -727,7 +727,7 @@ class RemiseCheque extends CommonObject * Set the number of bordereau * * @param User $user Object user - * @param timestamp $number number of bordereau + * @param int $number number of bordereau * @return int <0 if KO, >0 if OK */ function set_number($user, $number) diff --git a/htdocs/compta/paiement/class/paiement.class.php b/htdocs/compta/paiement/class/paiement.class.php index 2fce476af78..e3fb7a3c824 100644 --- a/htdocs/compta/paiement/class/paiement.class.php +++ b/htdocs/compta/paiement/class/paiement.class.php @@ -573,7 +573,7 @@ class Paiement extends CommonObject /** * Updates the payment date * - * @param timestamp $date New date + * @param int $date New date * @return int <0 if KO, 0 if OK */ function update_date($date) diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php index 32820c19619..3738abac4c7 100644 --- a/htdocs/compta/prelevement/class/bonprelevement.class.php +++ b/htdocs/compta/prelevement/class/bonprelevement.class.php @@ -403,7 +403,7 @@ class BonPrelevement extends CommonObject * Set withdrawal to credited status * * @param User $user id of user - * @param timestamp $date date of action + * @param int $date date of action * @return int >0 if OK, <0 if KO */ function set_infocredit($user, $date) @@ -525,7 +525,7 @@ class BonPrelevement extends CommonObject * Set withdrawal to transmited status * * @param User $user id of user - * @param timestamp $date date of action + * @param int $date date of action * @param string $method method of transmision to bank * @return int >0 if OK, <0 if KO */ @@ -667,9 +667,9 @@ class BonPrelevement extends CommonObject { $obj = $this->db->fetch_object($resql); - return $obj->nb; - $this->db->free($resql); + + return $obj->nb; } else { @@ -1167,7 +1167,7 @@ class BonPrelevement extends CommonObject /** * Delete a notification * - * @param User $user notification user + * @param int $user notification user * @param string $action notification action * @return int >0 if OK, <0 if KO */ @@ -1631,7 +1631,7 @@ class BonPrelevement extends CommonObject * Note: The tag PmtInf is opened here but closed into caller * * @param string $configuration conf - * @param date $ladate Date + * @param int $ladate Date * @param int $nombre 0 or 1 * @param float $total Total * @param string $CrLf End of line character diff --git a/htdocs/compta/prelevement/class/ligneprelevement.class.php b/htdocs/compta/prelevement/class/ligneprelevement.class.php index 581fb3152af..2b71c5c8004 100644 --- a/htdocs/compta/prelevement/class/ligneprelevement.class.php +++ b/htdocs/compta/prelevement/class/ligneprelevement.class.php @@ -61,7 +61,7 @@ class LignePrelevement * Recupere l'objet prelevement * * @param int $rowid id de la facture a recuperer - * @return void + * @return void|int */ function fetch($rowid) { diff --git a/htdocs/compta/prelevement/class/rejetprelevement.class.php b/htdocs/compta/prelevement/class/rejetprelevement.class.php index d0b467f294b..176a561378b 100644 --- a/htdocs/compta/prelevement/class/rejetprelevement.class.php +++ b/htdocs/compta/prelevement/class/rejetprelevement.class.php @@ -71,7 +71,7 @@ class RejetPrelevement * @param User $user User object * @param int $id Id * @param string $motif Motif - * @param timestamp $date_rejet Date rejet + * @param int $date_rejet Date rejet * @param int $bonid Bon id * @param int $facturation Facturation * @return void @@ -272,7 +272,7 @@ class RejetPrelevement /** * Retrieve the list of invoices * - * @return void + * @return array */ private function getListInvoices() { @@ -318,7 +318,7 @@ class RejetPrelevement * Retrieve withdrawal object * * @param int $rowid id of invoice to retrieve - * @return void + * @return int */ function fetch($rowid) { diff --git a/htdocs/compta/sociales/class/chargesociales.class.php b/htdocs/compta/sociales/class/chargesociales.class.php index 1d684c65552..805558b4267 100644 --- a/htdocs/compta/sociales/class/chargesociales.class.php +++ b/htdocs/compta/sociales/class/chargesociales.class.php @@ -69,7 +69,7 @@ class ChargeSociales extends CommonObject * * @param int $id Id * @param string $ref Ref - * @return void + * @return int <0 KO >0 OK */ function fetch($id, $ref='') { @@ -99,13 +99,14 @@ class ChargeSociales extends CommonObject $this->paye = $obj->paye; $this->periode = $this->db->jdate($obj->periode); + $this->db->free($resql); + return 1; } else { return 0; } - $this->db->free($resql); } else { @@ -308,6 +309,7 @@ class ChargeSociales extends CommonObject if ($this->db->num_rows($result)) { $obj = $this->db->fetch_object($result); + $this->db->free($result); return $obj->amount; } else @@ -315,8 +317,6 @@ class ChargeSociales extends CommonObject return 0; } - $this->db->free($result); - } else { @@ -520,8 +520,6 @@ class ChargeSociales extends CommonObject */ function initAsSpecimen() { - global $user,$langs,$conf; - // Initialize parameters $this->id=0; $this->ref = 'SPECIMEN'; diff --git a/htdocs/compta/tva/quadri.php b/htdocs/compta/tva/quadri.php index f5d0065e7f3..4b399d65248 100644 --- a/htdocs/compta/tva/quadri.php +++ b/htdocs/compta/tva/quadri.php @@ -54,7 +54,7 @@ $result = restrictedArea($user, 'tax', '', '', 'charges'); * @param DoliDB $db Database handler * @param int $y Year * @param int $q Year quarter (1-4) - * @return void + * @return array */ function tva_coll($db,$y,$q) { @@ -122,7 +122,7 @@ function tva_coll($db,$y,$q) * @param DoliDB $db Database handler object * @param int $y Year * @param int $q Year quarter (1-4) - * @return void + * @return array */ function tva_paye($db, $y,$q) { diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 3e58e7b5c7d..c9ff161cef1 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -821,7 +821,7 @@ abstract class CommonObject * Update a specific field into database * * @param string $field Field to update - * @param mixte $value New value + * @param mixed $value New value * @param string $table To force other table element or element line (should not be used) * @param int $id To force other object id (should not be used) * @param string $format Data format ('text', 'date'). 'text' is used if not defined diff --git a/htdocs/core/class/doleditor.class.php b/htdocs/core/class/doleditor.class.php index 6dc726b084e..d6e23beac70 100644 --- a/htdocs/core/class/doleditor.class.php +++ b/htdocs/core/class/doleditor.class.php @@ -142,7 +142,7 @@ class DolEditor * * @param int $noprint 1=Return HTML string instead of printing it to output * @param string $morejs Add more js. For example: ".on( \'saveSnapshot\', function(e) { alert(\'ee\'); });" - * @return void + * @return void|string */ function Create($noprint=0,$morejs='') { diff --git a/htdocs/core/class/html.formother.class.php b/htdocs/core/class/html.formother.class.php index fd5a07ffcba..b7971d52c53 100644 --- a/htdocs/core/class/html.formother.class.php +++ b/htdocs/core/class/html.formother.class.php @@ -761,7 +761,7 @@ class FormOther * @param string $selected Preselected value * @param string $htmlname Nom de la zone select * @param int $useempty Affiche valeur vide dans liste - * @return void + * @return string */ function select_month($selected='',$htmlname='monthid',$useempty=0) { @@ -803,7 +803,7 @@ class FormOther * @param int $offset Offset * @param int $invert Invert * @param string $option Option - * @return void + * @return string */ function select_year($selected='',$htmlname='yearid',$useempty=0, $min_year=10, $max_year=5, $offset=0, $invert=0, $option='') { diff --git a/htdocs/core/lib/bank.lib.php b/htdocs/core/lib/bank.lib.php index 488a4c3a530..fdb7d0e76ec 100644 --- a/htdocs/core/lib/bank.lib.php +++ b/htdocs/core/lib/bank.lib.php @@ -27,10 +27,10 @@ /** * Prepare array with list of tabs * - * @param Object $object Object related to tabs + * @param Account $object Object related to tabs * @return array Array of tabs to show */ -function bank_prepare_head($object) +function bank_prepare_head(Account $object) { global $langs, $conf, $user; $h = 0; diff --git a/htdocs/core/lib/order.lib.php b/htdocs/core/lib/order.lib.php index abdf1b648a5..d30068a5e98 100644 --- a/htdocs/core/lib/order.lib.php +++ b/htdocs/core/lib/order.lib.php @@ -28,10 +28,10 @@ /** * Prepare array with list of tabs * - * @param Object $object Object related to tabs + * @param Commande $object Object related to tabs * @return array Array of tabs to show */ -function commande_prepare_head($object) +function commande_prepare_head(Commande $object) { global $langs, $conf, $user; if (! empty($conf->expedition->enabled)) $langs->load("sendings"); diff --git a/htdocs/core/lib/prelevement.lib.php b/htdocs/core/lib/prelevement.lib.php index 53f54d66f70..18608a55a04 100644 --- a/htdocs/core/lib/prelevement.lib.php +++ b/htdocs/core/lib/prelevement.lib.php @@ -28,10 +28,10 @@ /** * Prepare array with list of tabs * - * @param Object $object Object related to tabs + * @param BonPrelevement $object Object related to tabs * @return array Array of tabs to show */ -function prelevement_prepare_head($object) +function prelevement_prepare_head(BonPrelevement $object) { global $langs, $conf, $user; $langs->load("withdrawals"); diff --git a/htdocs/core/lib/tax.lib.php b/htdocs/core/lib/tax.lib.php index cc9478f5d61..be9cf9923c9 100644 --- a/htdocs/core/lib/tax.lib.php +++ b/htdocs/core/lib/tax.lib.php @@ -28,10 +28,10 @@ /** * Prepare array with list of tabs * - * @param Object $object Object related to tabs + * @param ChargeSociales $object Object related to tabs * @return array Array of tabs to show */ -function tax_prepare_head($object) +function tax_prepare_head(ChargeSociales $object) { global $langs, $conf; diff --git a/htdocs/core/lib/trip.lib.php b/htdocs/core/lib/trip.lib.php index 45619b10d6f..33f977bcf34 100644 --- a/htdocs/core/lib/trip.lib.php +++ b/htdocs/core/lib/trip.lib.php @@ -24,10 +24,10 @@ /** * Prepare array with list of tabs * - * @param Object $object Object related to tabs + * @param Deplacement $object Object related to tabs * @return array Array of tabs to show */ -function trip_prepare_head($object) +function trip_prepare_head(Deplacement $object) { global $langs, $conf; From 863c1f7a13cd73b4d1ee56a62ddf3bfc1338ff13 Mon Sep 17 00:00:00 2001 From: Arnaud Aujon Chevallier Date: Tue, 10 Feb 2015 13:21:36 +0100 Subject: [PATCH 053/137] fix typo in createOrder --- htdocs/webservices/server_order.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/webservices/server_order.php b/htdocs/webservices/server_order.php index 8cd69b352a7..0c0d7559aec 100644 --- a/htdocs/webservices/server_order.php +++ b/htdocs/webservices/server_order.php @@ -640,7 +640,7 @@ function createOrder($authentication,$order) $newobject->statut=0; // We start with status draft $newobject->facturee=$order['facturee']; $newobject->fk_project=$order['project_id']; - $newObject->fk_delivery_address=$order['fk_delivery_address']; + $newobject->fk_delivery_address=$order['fk_delivery_address']; $newobject->cond_reglement_id=$order['cond_reglement_id']; $newobject->demand_reason_id=$order['demand_reason_id']; $newobject->date_creation=$now; From 530186c59d78ed847014c9cb17a601d80dd6ebe3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 10 Feb 2015 13:32:00 +0100 Subject: [PATCH 054/137] PHPDoc and misc fixes for several folders --- htdocs/contact/class/contact.class.php | 2 -- htdocs/contrat/card.php | 2 +- htdocs/contrat/class/contrat.class.php | 11 +++++------ htdocs/core/class/commonobject.class.php | 2 +- htdocs/core/class/vcard.class.php | 2 +- htdocs/core/lib/contact.lib.php | 4 ++-- htdocs/core/lib/contract.lib.php | 4 ++-- 7 files changed, 12 insertions(+), 15 deletions(-) diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php index 6a7776b27bd..c906488b35b 100644 --- a/htdocs/contact/class/contact.class.php +++ b/htdocs/contact/class/contact.class.php @@ -996,8 +996,6 @@ class Contact extends CommonObject */ function initAsSpecimen() { - global $user,$langs; - // Get first id of existing company and save it into $socid $socid = 0; $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."societe ORDER BY rowid LIMIT 1"; diff --git a/htdocs/contrat/card.php b/htdocs/contrat/card.php index b2b99a9dde3..fdd0acfec74 100644 --- a/htdocs/contrat/card.php +++ b/htdocs/contrat/card.php @@ -659,7 +659,7 @@ else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->contr // Close all lines else if ($action == 'confirm_close' && $confirm == 'yes' && $user->rights->contrat->creer) { - $result = $object->cloture($user); + $object->cloture($user); } else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->contrat->supprimer) diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index 37be98fa2c4..d2bbe28726a 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -236,7 +236,6 @@ class Contrat extends CommonObject } $obj = new $classname(); - $numref = ""; $numref = $obj->getNextValue($soc,$this); if ( $numref != "") @@ -1589,11 +1588,11 @@ class Contrat extends CommonObject // Load $this->lines array // $this->fetch_lines(); - $newstatut=1; - foreach($this->lines as $key => $contractline) - { - // if ($contractline) // Loop on each service - } +// $newstatut=1; +// foreach($this->lines as $key => $contractline) +// { +// // if ($contractline) // Loop on each service +// } return 1; } diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index c9ff161cef1..8a8258ca641 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -2412,7 +2412,7 @@ abstract class CommonObject * TODO Move this into html.class.php * But for the moment we don't know if it's possible as we keep a method available on overloaded objects. * - * @return void + * @return int */ function showLinkedObjectBlock() { diff --git a/htdocs/core/class/vcard.class.php b/htdocs/core/class/vcard.class.php index 512aa011d98..bc9f9081a49 100644 --- a/htdocs/core/class/vcard.class.php +++ b/htdocs/core/class/vcard.class.php @@ -306,7 +306,7 @@ class vCard /** * permet d'obtenir une vcard * - * @return void + * @return string */ function getVCard() { diff --git a/htdocs/core/lib/contact.lib.php b/htdocs/core/lib/contact.lib.php index 8d9ba9296a4..3eeca82c993 100644 --- a/htdocs/core/lib/contact.lib.php +++ b/htdocs/core/lib/contact.lib.php @@ -25,10 +25,10 @@ /** * Prepare array with list of tabs * - * @param Object $object Object related to tabs + * @param Contact $object Object related to tabs * @return array Array of tabs to show */ -function contact_prepare_head($object) +function contact_prepare_head(Contact $object) { global $langs, $conf, $user; diff --git a/htdocs/core/lib/contract.lib.php b/htdocs/core/lib/contract.lib.php index b7e82c6dbf2..fff83e4c4bc 100644 --- a/htdocs/core/lib/contract.lib.php +++ b/htdocs/core/lib/contract.lib.php @@ -25,10 +25,10 @@ /** * Prepare array with list of tabs * - * @param Object $object Object related to tabs + * @param Contrat $object Object related to tabs * @return array Array of tabs to show */ -function contract_prepare_head($object) +function contract_prepare_head(Contrat $object) { global $langs, $conf; $h = 0; From e485dd413dc3795e7fd86ccdd59edb1008646075 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 10 Feb 2015 13:41:59 +0100 Subject: [PATCH 055/137] PHPDoc and misc fixes for several folders --- htdocs/core/lib/cron.lib.php | 4 ++-- htdocs/cron/class/cronjob.class.php | 29 +++++++++---------------- htdocs/ecm/class/ecmdirectory.class.php | 5 +---- htdocs/ecm/class/htmlecm.form.class.php | 2 +- 4 files changed, 14 insertions(+), 26 deletions(-) diff --git a/htdocs/core/lib/cron.lib.php b/htdocs/core/lib/cron.lib.php index 79e23e90089..c3867839e84 100644 --- a/htdocs/core/lib/cron.lib.php +++ b/htdocs/core/lib/cron.lib.php @@ -50,10 +50,10 @@ function cronadmin_prepare_head() /** * Return array of tabs to used on a cron job * - * @param Object $object Object cron + * @param Cronjob $object Object cron * @return array Array of tabs */ -function cron_prepare_head($object) +function cron_prepare_head(Cronjob $object) { global $langs, $conf, $user; $h = 0; diff --git a/htdocs/cron/class/cronjob.class.php b/htdocs/cron/class/cronjob.class.php index aaa69ec7f42..723660f1d9c 100644 --- a/htdocs/cron/class/cronjob.class.php +++ b/htdocs/cron/class/cronjob.class.php @@ -273,7 +273,6 @@ class Cronjob extends CommonObject */ function fetch($id) { - global $langs; $sql = "SELECT"; $sql.= " t.rowid,"; @@ -655,15 +654,14 @@ class Cronjob extends CommonObject */ function delete($user, $notrigger=0) { - global $conf, $langs; $error=0; $this->db->begin(); - if (! $error) - { - if (! $notrigger) - { +// if (! $error) +// { +// if (! $notrigger) +// { // Uncomment this and change MYOBJECT to your own tag if you // want this action calls a trigger. @@ -673,18 +671,18 @@ class Cronjob extends CommonObject //$result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf); //if ($result < 0) { $error++; $this->errors=$interface->errors; } //// End call triggers - } - } +// } +// } - if (! $error) - { +// if (! $error) +// { $sql = "DELETE FROM ".MAIN_DB_PREFIX."cronjob"; $sql.= " WHERE rowid=".$this->id; dol_syslog(get_class($this)."::delete", LOG_DEBUG); $resql = $this->db->query($sql); if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } - } +// } // Commit or rollback if ($error) @@ -803,12 +801,10 @@ class Cronjob extends CommonObject /** * Load object information * - * @return void + * @return int */ function info() { - global $langs; - $sql = "SELECT"; $sql.= " f.rowid, f.datec, f.tms, f.fk_user_mod, f.fk_user_author"; $sql.= " FROM ".MAIN_DB_PREFIX."cronjob as f"; @@ -849,7 +845,6 @@ class Cronjob extends CommonObject { global $langs, $conf; - $error=0; $now=dol_now(); $langs->load('cron'); @@ -935,7 +930,6 @@ class Cronjob extends CommonObject // Create Object for the call module $object = new $this->objectname($this->db); - $params_arr = array(); $params_arr = explode(", ",$this->params); if (!is_array($params_arr)) { @@ -978,7 +972,6 @@ class Cronjob extends CommonObject return -1; } dol_syslog(get_class($this) . "::run_jobs " . $this->libname . "::" . $this->methodename."(" . $this->params . ");", LOG_DEBUG); - $params_arr = array(); $params_arr = explode(", ", $this->params); if (!is_array($params_arr)) { @@ -1074,8 +1067,6 @@ class Cronjob extends CommonObject */ function reprogram_jobs($userlogin) { - global $langs, $conf; - dol_syslog(get_class($this)."::reprogram_jobs userlogin:$userlogin", LOG_DEBUG); require_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php'; diff --git a/htdocs/ecm/class/ecmdirectory.class.php b/htdocs/ecm/class/ecmdirectory.class.php index 6c0de13d15b..d099d017ecd 100644 --- a/htdocs/ecm/class/ecmdirectory.class.php +++ b/htdocs/ecm/class/ecmdirectory.class.php @@ -244,8 +244,6 @@ class EcmDirectory // extends CommonObject */ function changeNbOfFiles($sign) { - global $conf, $langs; - // Update request $sql = "UPDATE ".MAIN_DB_PREFIX."ecm_directories SET"; $sql.= " cachenbofdoc = cachenbofdoc ".$sign." 1"; @@ -320,7 +318,7 @@ class EcmDirectory // extends CommonObject * Delete object on database and/or on disk * * @param User $user User that delete - * @param int $mode 'all'=delete all, 'databaseonly'=only database entry, 'fileonly' (not implemented) + * @param string $mode 'all'=delete all, 'databaseonly'=only database entry, 'fileonly' (not implemented) * @return int <0 if KO, >0 if OK */ function delete($user, $mode='all') @@ -329,7 +327,6 @@ class EcmDirectory // extends CommonObject require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; $error=0; - $result=0; if ($mode != 'databaseonly') $relativepath=$this->getRelativePath(1); // Ex: dir1/dir2/dir3 diff --git a/htdocs/ecm/class/htmlecm.form.class.php b/htdocs/ecm/class/htmlecm.form.class.php index 58286371941..87b4af190ae 100644 --- a/htdocs/ecm/class/htmlecm.form.class.php +++ b/htdocs/ecm/class/htmlecm.form.class.php @@ -51,7 +51,7 @@ class FormEcm * @param string $select_name Nom formulaire HTML * @return string String with HTML select */ - function select_all_sections($selected='',$select_name='') + function select_all_sections($selected=0,$select_name='') { global $langs; $langs->load("ecm"); From 2820bd24ac17495e00878911c57cbd38b6788d60 Mon Sep 17 00:00:00 2001 From: jean Date: Tue, 10 Feb 2015 16:03:31 +0100 Subject: [PATCH 056/137] fetch must contain an left join on c_actioncom for correct function --- htdocs/comm/action/class/actioncomm.class.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index 09a2abf329a..4b8ab94d93d 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -337,7 +337,8 @@ class ActionComm extends CommonObject $sql.= " c.id as type_id, c.code as type_code, c.libelle,"; $sql.= " s.nom as socname,"; $sql.= " u.firstname, u.lastname as lastname"; - $sql.= " FROM (".MAIN_DB_PREFIX."c_actioncomm as c, ".MAIN_DB_PREFIX."actioncomm as a)"; + $sql.= " FROM ".MAIN_DB_PREFIX."actioncomm as a "; + $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_actioncomm as c ON a.fk_action=c.id "; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as u on u.rowid = a.fk_user_author"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s on s.rowid = a.fk_soc"; $sql.= " WHERE a.fk_action=c.id"; From fce7a0e36e51fa7f6f3e01469e370a7bc66720e3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 10 Feb 2015 21:01:44 +0100 Subject: [PATCH 057/137] Bad translation --- htdocs/langs/en_US/orders.lang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/langs/en_US/orders.lang b/htdocs/langs/en_US/orders.lang index 4127de804c6..e8c0556d550 100644 --- a/htdocs/langs/en_US/orders.lang +++ b/htdocs/langs/en_US/orders.lang @@ -29,7 +29,7 @@ StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated StatusOrderSentShort=In process StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Reception +StatusOrderOnProcessShort=Order sent StatusOrderProcessedShort=Processed StatusOrderToBillShort=Delivered StatusOrderToBill2Short=To bill @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Everything received StatusOrderCanceled=Canceled StatusOrderDraft=Draft (needs to be validated) StatusOrderValidated=Validated -StatusOrderOnProcess=Waiting to receive +StatusOrderOnProcess=Order sent - Standby reception StatusOrderProcessed=Processed StatusOrderToBill=Delivered StatusOrderToBill2=To bill From 621976317a211ea8651448051d172ca40e6c0254 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 10 Feb 2015 21:08:02 +0100 Subject: [PATCH 058/137] Fixed error management --- htdocs/fourn/commande/dispatch.php | 35 ++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/htdocs/fourn/commande/dispatch.php b/htdocs/fourn/commande/dispatch.php index 11158b21f60..c9884ab46de 100644 --- a/htdocs/fourn/commande/dispatch.php +++ b/htdocs/fourn/commande/dispatch.php @@ -68,6 +68,8 @@ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->rece $commande = new CommandeFournisseur($db); $commande->fetch($id); + $error=0; + $db->begin(); foreach($_POST as $key => $value) @@ -81,12 +83,18 @@ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->rece if (GETPOST($ent,'int') > 0) { $result = $commande->DispatchProduct($user, GETPOST($prod,'int'),GETPOST($qty), GETPOST($ent,'int'), GETPOST($pu), GETPOST("comment")); + if ($result < 0) + { + setEventMessages($commande->error, $commande->errors, 'errors'); + $error++; + } } else { dol_syslog('No dispatch for line '.$key.' as no warehouse choosed'); $text = $langs->transnoentities('Warehouse').', '.$langs->transnoentities('Line').'' .($reg[1]-1); setEventMessage($langs->trans('ErrorFieldRequired',$text), 'errors'); + $error++; } } else if (preg_match('/^product_([0-9]+)_([0-9]+)$/i', $key, $reg)) { //eat-by date dispatch @@ -103,29 +111,44 @@ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->rece dol_syslog('No dispatch for line '.$key.' as no warehouse choosed'); $text = $langs->transnoentities('Warehouse').', '.$langs->transnoentities('Line').'' .($reg[1]-1); setEventMessage($langs->trans('ErrorFieldRequired',$text), 'errors'); - } + $error++; + } if (!((GETPOST($qty) > 0 ) && ( $_POST[$lot] or $dDLUO or $dDLC) )) { dol_syslog('No dispatch for line '.$key.' as qty is not set or eat-by date are not set'); $text = $langs->transnoentities('atleast1batchfield').', '.$langs->transnoentities('Line').'' .($reg[1]-1); setEventMessage($langs->trans('ErrorFieldRequired',$text), 'errors'); - } else { + $error++; + } + else + { $result = $commande->DispatchProduct($user, GETPOST($prod,'int'),GETPOST($qty), GETPOST($ent,'int'), GETPOST($pu), GETPOST("comment"), $dDLC, $dDLUO, GETPOST($lot)); - } + if ($result < 0) + { + setEventMessages($commande->error, $commande->errors, 'errors'); + $error++; + } + } } } - if (! $notrigger) + if (! $notrigger && ! $error) { global $conf, $langs, $user; // Call trigger $result=$commande->call_trigger('ORDER_SUPPLIER_DISPATCH',$user); // End call triggers + + if ($result < 0) + { + setEventMessages($commande->error, $commande->errors, 'errors'); + $error++; + } } - if ($result > 0) + if ($result > 0 && ! $error) { $db->commit(); @@ -135,8 +158,6 @@ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->rece else { $db->rollback(); - - $mesg='
'.$langs->trans($commande->error).'
'; } } From f124079817242bb54a2f4fdd90a6680421e73acb Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 10 Feb 2015 21:49:39 +0100 Subject: [PATCH 059/137] Fix ruleset --- dev/codesniffer/ruleset.xml | 166 +++++++----------------------------- 1 file changed, 31 insertions(+), 135 deletions(-) diff --git a/dev/codesniffer/ruleset.xml b/dev/codesniffer/ruleset.xml index 6ee57ace8ef..ab0f29988ff 100755 --- a/dev/codesniffer/ruleset.xml +++ b/dev/codesniffer/ruleset.xml @@ -184,6 +184,11 @@ + + + 0 + + @@ -196,137 +201,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - 0 - - - - 0 - - - 0 - - - 0 - - - - 0 - - - 0 - - - - - 0 - - - 0 - - - 0 - - - 0 - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - 0 - - - 0 - - - 0 - - - 0 - - - - 0 - - - 0 - - - 0 - - - 0 - - ->>>>>>> refs/remotes/origin/3.7 + - - 0 - + + 5 - + + 0 + + + 0 + + + + + + + + + + + + 0 + + + + 0 + + 0 From 2e3400a0392e0c7e62138b5c5a612c718261fb6f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 11 Feb 2015 12:29:39 +0100 Subject: [PATCH 060/137] Enhance help when running script from command line --- scripts/cron/cron_run_jobs.php | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/scripts/cron/cron_run_jobs.php b/scripts/cron/cron_run_jobs.php index 94bde0fb153..52bc3c993c8 100755 --- a/scripts/cron/cron_run_jobs.php +++ b/scripts/cron/cron_run_jobs.php @@ -42,22 +42,24 @@ if (substr($sapi_type, 0, 3) == 'cgi') { exit(-1); } +require_once ($path."../../htdocs/master.inc.php"); +require_once (DOL_DOCUMENT_ROOT."/cron/class/cronjob.class.php"); +require_once (DOL_DOCUMENT_ROOT.'/user/class/user.class.php'); + +// Check parameters if (! isset($argv[1]) || ! $argv[1]) { - print "Usage: ".$script_file." securitykey userlogin cronjobid(optional)\n"; + usage($path,$script_file); exit(-1); } $key=$argv[1]; if (! isset($argv[2]) || ! $argv[2]) { - print "Usage: ".$script_file." securitykey userlogin cronjobid(optional)\n"; + usage($path,$script_file); exit(-1); } else { $userlogin=$argv[2]; } -require_once ($path."../../htdocs/master.inc.php"); -require_once (DOL_DOCUMENT_ROOT."/cron/class/cronjob.class.php"); -require_once (DOL_DOCUMENT_ROOT.'/user/class/user.class.php'); // Global variables $version=DOL_VERSION; @@ -160,3 +162,17 @@ if(is_array($object->lines) && (count($object->lines)>0)) $db->close(); exit(0); + + + +function usage($path,$script_file) +{ + global $conf; + + print "Usage: ".$script_file." securitykey userlogin [cronjobid]\n"; + print "\n"; + print "On Linux system, you can have cron jobs ran automatically by adding an entry into cron.\n"; + print "For example, to run pending tasks each day at 3:30, you can add this line:\n"; + print "30 3 * * * ".$path.$script_file." securitykey userlogin > ".DOL_DATA_ROOT."/".$script_file.".log\n"; +} + From d5ec19ef83118ac6b875f8f7f781fbdd4343088b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 11 Feb 2015 13:21:12 +0100 Subject: [PATCH 061/137] Enhance help when running cron script from command line --- htdocs/core/lib/cron.lib.php | 2 ++ htdocs/cron/admin/cron.php | 10 ++++++---- htdocs/langs/en_US/cron.lang | 4 ++-- scripts/cron/cron_run_jobs.php | 3 +++ 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/htdocs/core/lib/cron.lib.php b/htdocs/core/lib/cron.lib.php index 79e23e90089..2f14b0242d4 100644 --- a/htdocs/core/lib/cron.lib.php +++ b/htdocs/core/lib/cron.lib.php @@ -115,6 +115,8 @@ function dol_print_cron_urls() if ($linuxlike) { print $langs->trans("CronExplainHowToRunUnix"); + print '
'; + print '
'; } else { diff --git a/htdocs/cron/admin/cron.php b/htdocs/cron/admin/cron.php index d03dff03b3e..b77a8048db8 100644 --- a/htdocs/cron/admin/cron.php +++ b/htdocs/cron/admin/cron.php @@ -71,12 +71,13 @@ print_fiche_titre($langs->trans("CronSetup"),$linkback,'setup'); // Configuration header $head = cronadmin_prepare_head(); +print '
'; +print ''; + dol_fiche_head($head,'setup',$langs->trans("Module2300Name"),0,'cron'); print "
\n"; -print ''; -print ''; print ''; print ''; @@ -96,13 +97,14 @@ print ''; print '
'; -print '
'; +dol_fiche_end(); + +print '
'; print ''; print '
'; print ''; -dol_fiche_end(); print '

'; diff --git a/htdocs/langs/en_US/cron.lang b/htdocs/langs/en_US/cron.lang index 5432c5b5b52..10ce884e3cc 100644 --- a/htdocs/langs/en_US/cron.lang +++ b/htdocs/langs/en_US/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/scripts/cron/cron_run_jobs.php b/scripts/cron/cron_run_jobs.php index 52bc3c993c8..ad6f97e3d5c 100755 --- a/scripts/cron/cron_run_jobs.php +++ b/scripts/cron/cron_run_jobs.php @@ -170,9 +170,12 @@ function usage($path,$script_file) global $conf; print "Usage: ".$script_file." securitykey userlogin [cronjobid]\n"; + print "The script return 0 when everything worked successfully.\n"; print "\n"; print "On Linux system, you can have cron jobs ran automatically by adding an entry into cron.\n"; print "For example, to run pending tasks each day at 3:30, you can add this line:\n"; print "30 3 * * * ".$path.$script_file." securitykey userlogin > ".DOL_DATA_ROOT."/".$script_file.".log\n"; + print "For example, to run pending tasks every 5mn, you can add this line:\n"; + print "*/5 * * * * ".$path.$script_file." securitykey userlogin > ".DOL_DATA_ROOT."/".$script_file.".log\n"; } From 8a6d3aa6339410298ccf8339ed1fbf527fe8b48c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 11 Feb 2015 14:22:44 +0100 Subject: [PATCH 062/137] Clean module print system --- htdocs/core/modules/modPrinting.class.php | 3 +- .../modules/printing/printgcp.modules.php | 8 ++-- .../modules/printing/printipp.modules.php | 26 +++++++------ htdocs/langs/en_US/printing.lang | 10 ++++- htdocs/printing/admin/printing.php | 32 +++++++++------- htdocs/printing/lib/printing.lib.php | 37 ++++++++++++------- 6 files changed, 71 insertions(+), 45 deletions(-) diff --git a/htdocs/core/modules/modPrinting.class.php b/htdocs/core/modules/modPrinting.class.php index f578c463d43..91839139f41 100644 --- a/htdocs/core/modules/modPrinting.class.php +++ b/htdocs/core/modules/modPrinting.class.php @@ -50,7 +50,8 @@ class modPrinting extends DolibarrModules $this->family = "other"; // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) $this->name = preg_replace('/^mod/i','',get_class($this)); - $this->description = "Enable Printing System."; + // Module description, used if translation string 'ModuleXXXDesc' not found (where XXX is value of numeric property 'numero' of module) + $this->description = "Enable Direct Printing System."; $this->version = 'dolibarr'; // 'development' or 'experimental' or 'dolibarr' or version $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); // Where to store the module in setup page (0=common,1=interface,2=others,3=very specific) diff --git a/htdocs/core/modules/printing/printgcp.modules.php b/htdocs/core/modules/printing/printgcp.modules.php index 2d4cb8a2c98..e5fbcdbd3bc 100644 --- a/htdocs/core/modules/printing/printgcp.modules.php +++ b/htdocs/core/modules/printing/printgcp.modules.php @@ -26,8 +26,7 @@ include_once DOL_DOCUMENT_ROOT.'/core/modules/printing/modules_printing.php'; /** - * \class mailing_example - * \brief Class to provide printing with Google Cloud Print + * Class to provide printing with Google Cloud Print */ class printing_printgcp extends PrintingDriver { @@ -175,7 +174,7 @@ class printing_printgcp extends PrintingDriver if ($subdir!='') $fileprint.='/'.$subdir; $fileprint.='/'.$file; // select printer uri for module order, propal,... - $sql = 'SELECT rowid, printer_id, copy FROM '.MAIN_DB_PREFIX.'printing WHERE module="'.$module.'" AND driver="printgcp" AND userid='.$user->id; + $sql = "SELECT rowid, printer_id, copy FROM ".MAIN_DB_PREFIX."printing WHERE module='".$module."' AND driver='printgcp' AND userid=".$user->id; $result = $db->query($sql); if ($result) { @@ -196,6 +195,7 @@ class printing_printgcp extends PrintingDriver } } } + else dol_print_error($db); $this->sendPrintToPrinter($printer_id, $file, $fileprint, 'application/pdf'); } @@ -204,7 +204,7 @@ class printing_printgcp extends PrintingDriver * Sends document to the printer * * @param string $printerid Printer id returned by Google Cloud Print - * @param string $printjobtitle Job Title + * @param string $printjobtitle Job Title * @param string $filepath File Path to be send to Google Cloud Print * @param string $contenttype File content type by example application/pdf, image/png * @return array status array diff --git a/htdocs/core/modules/printing/printipp.modules.php b/htdocs/core/modules/printing/printipp.modules.php index c8a19bffa31..3fbb66fb088 100644 --- a/htdocs/core/modules/printing/printipp.modules.php +++ b/htdocs/core/modules/printing/printipp.modules.php @@ -26,8 +26,7 @@ include_once DOL_DOCUMENT_ROOT.'/core/modules/printing/modules_printing.php'; /** - * \class mailing_example - * \brief Class to provide printing with PrintIPP + * Class to provide printing with PrintIPP */ class printing_printipp extends PrintingDriver { @@ -61,8 +60,8 @@ class printing_printipp extends PrintingDriver $this->password=$conf->global->PRINTIPP_PASSWORD; $this->conf[] = array('varname'=>'PRINTIPP_HOST', 'required'=>1, 'example'=>'localhost', 'type'=>'text'); $this->conf[] = array('varname'=>'PRINTIPP_PORT', 'required'=>1, 'example'=>'631', 'type'=>'text'); - $this->conf[] = array('varname'=>'PRINTIPP_USER', 'required'=>0, 'example'=>'', 'type'=>'text'); - $this->conf[] = array('varname'=>'PRINTIPP_PASSWORD', 'required'=>0, 'example'=>'', 'type'=>'password'); + $this->conf[] = array('varname'=>'PRINTIPP_USER', 'required'=>0, 'example'=>'', 'type'=>'text', 'moreattributes'=>'autocomplete="off"'); + $this->conf[] = array('varname'=>'PRINTIPP_PASSWORD', 'required'=>0, 'example'=>'', 'type'=>'password', 'moreattributes'=>'autocomplete="off"'); } /** @@ -79,7 +78,7 @@ class printing_printipp extends PrintingDriver global $conf, $user, $db; include_once DOL_DOCUMENT_ROOT.'/includes/printipp/CupsPrintIPP.php'; - + $ipp = new CupsPrintIPP(); $ipp->setLog(DOL_DATA_ROOT.'/dolibarr_printipp.log','file',3); // logging very verbose $ipp->setHost($this->host); @@ -89,28 +88,31 @@ class printing_printipp extends PrintingDriver if (! empty($this->user)) $ipp->setAuthentication($this->user,$this->password); // select printer uri for module order, propal,... - $sql = 'SELECT rowid,printer_id,copy FROM '.MAIN_DB_PREFIX.'printing WHERE module="'.$module.'" AND driver="printipp" AND userid='.$user->id; + $sql = "SELECT rowid,printer_id,copy FROM ".MAIN_DB_PREFIX."printing WHERE module = '".$module."' AND driver = 'printipp' AND userid = ".$user->id; $result = $db->query($sql); if ($result) { $obj = $this->db->fetch_object($result); if ($obj) { + dol_syslog("Found a default printer for user ".$user->id." = ".$obj->printer_id); $ipp->setPrinterURI($obj->printer_id); } else { if (! empty($conf->global->PRINTIPP_URI_DEFAULT)) { + dol_syslog("Will use default printer conf->global->PRINTIPP_URI_DEFAULT = ".$conf->global->PRINTIPP_URI_DEFAULT); $ipp->setPrinterURI($conf->global->PRINTIPP_URI_DEFAULT); } else - { + { return 'NoDefaultPrinterDefined'; } } } - + else dol_print_error($db); + // Set number of copy $ipp->setCopies($obj->copy); $fileprint=$conf->{$module}->dir_output; @@ -118,7 +120,7 @@ class printing_printipp extends PrintingDriver $fileprint.='/'.$file; $ipp->setData($fileprint); $ipp->printJob(); - + return ''; } @@ -170,8 +172,10 @@ class printing_printipp extends PrintingDriver $html.= img_picto($langs->trans("Default"),'on'); } else - $html.= ''.img_picto($langs->trans("Disabled"),'off').''; - $html.= ''; + { + $html.= ''.img_picto($langs->trans("Disabled"),'off').''; + } + $html.= ''; $html.= ''."\n"; } diff --git a/htdocs/langs/en_US/printing.lang b/htdocs/langs/en_US/printing.lang index 77c63884636..e90f8efed0b 100644 --- a/htdocs/langs/en_US/printing.lang +++ b/htdocs/langs/en_US/printing.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - printing -PrintingSetup=Setup of Printing System -PrintingDesc=This module adds a Print button to send documents directly to a printer with various module. +PrintingSetup=Setup of Direct Printing System +PrintingDesc=This module adds a Print button to send documents directly to a printer (without opening document into an application) with various module. ModuleDriverSetup=Setup Module Driver PrintingDriverDesc=Configuration variables for printing driver. ListDrivers=List of drivers @@ -8,3 +8,9 @@ PrintTestDesc=List of Printers. FileWasSentToPrinter=File %s was sent to printer NoActivePrintingModuleFound=No active module to print document PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +Module112000Name=Direct Printing +Module112000Desc=Enable Direct Printing System diff --git a/htdocs/printing/admin/printing.php b/htdocs/printing/admin/printing.php index 63784e560f0..572b5f1a379 100644 --- a/htdocs/printing/admin/printing.php +++ b/htdocs/printing/admin/printing.php @@ -109,15 +109,15 @@ llxHeader('',$langs->trans("PrintingSetup")); $linkback=''.$langs->trans("BackToModuleList").''; print_fiche_titre($langs->trans("PrintingSetup"),$linkback,'setup'); -$head=printingadmin_prepare_head(); +$head=printingadmin_prepare_head($mode); if ($mode == 'setup' && $user->admin) { - print '
'; + print ''; print ''; print ''; - dol_fiche_head($head, $mode, $langs->trans("ModuleDriverSetup"), 0, 'technic'); + dol_fiche_head($head, $mode, $langs->trans("ModuleSetup"), 0, 'technic'); print $langs->trans("PrintingDriverDesc".$driver)."

\n"; @@ -128,18 +128,22 @@ if ($mode == 'setup' && $user->admin) print ''.$langs->trans("Value").''; print "\n"; - if (! empty($driver)) { + if (! empty($driver)) + { require_once DOL_DOCUMENT_ROOT.'/core/modules/printing/'.$driver.'.modules.php'; $classname = 'printing_'.$driver; $langs->load($driver); $printer = new $classname($db); //print '
'.print_r($printer, true).'
'; $i=0; - foreach ($printer->conf as $key) { + foreach ($printer->conf as $key) + { $var=!$var; print ''; print ''.$langs->trans($key['varname']).''; - print ''; + print ''; print ''; print ' '.($key['example']!=''?$langs->trans("Example").' : '.$key['example']:''); print ''; @@ -150,7 +154,8 @@ if ($mode == 'setup' && $user->admin) } print ''; - if (! empty($driver)) { + if (! empty($driver)) + { print '
'; } print ''; @@ -162,7 +167,7 @@ if ($mode == 'config' && $user->admin) dol_fiche_head($head, $mode, $langs->trans("ModuleSetup"), 0, 'technic'); print $langs->trans("PrintingDesc")."

\n"; - + print ''."\n"; $var=true; @@ -170,7 +175,7 @@ if ($mode == 'config' && $user->admin) print ''; print ''; print ''; - print ''; + print ''; print "\n"; $object = new PrintingDriver($db); @@ -212,12 +217,13 @@ if ($mode == 'config' && $user->admin) if ($mode == 'test' && $user->admin) { - dol_fiche_head($head, $mode, $langs->trans("PrintingTest"), 0, 'technic'); + dol_fiche_head($head, $mode, $langs->trans("ModuleSetup"), 0, 'technic'); print $langs->trans('PrintTestDesc'.$driver)."

\n"; - + print '
'.$langs->trans("Description").''.$langs->trans("Active").''.$langs->trans("Setup").''.$langs->trans("Test").''.$langs->trans("TargetedPrinter").'
'; - if (! empty($driver)) { + if (! empty($driver)) + { require_once DOL_DOCUMENT_ROOT.'/core/modules/printing/'.$driver.'.modules.php'; $classname = 'printing_'.$driver; $langs->load($driver); @@ -235,7 +241,7 @@ if ($mode == 'test' && $user->admin) if ($mode == 'userconf' && $user->admin) { - dol_fiche_head($head, $mode, $langs->trans("UserConf"), 0, 'technic'); + dol_fiche_head($head, $mode, $langs->trans("ModuleSetup"), 0, 'technic'); print $langs->trans('PrintUserConfDesc'.$driver)."

\n"; diff --git a/htdocs/printing/lib/printing.lib.php b/htdocs/printing/lib/printing.lib.php index 1d09daba0dc..0c4d84c6302 100644 --- a/htdocs/printing/lib/printing.lib.php +++ b/htdocs/printing/lib/printing.lib.php @@ -26,9 +26,10 @@ /** * Define head array for tabs of printing tools setup pages * - * @return Array of head + * @param $mode string Mode + * @return Array of head */ -function printingadmin_prepare_head() +function printingadmin_prepare_head($mode) { global $langs, $conf; @@ -40,20 +41,28 @@ function printingadmin_prepare_head() $head[$h][2] = 'config'; $h++; - $head[$h][0] = DOL_URL_ROOT."/printing/admin/printing.php?mode=setup"; - $head[$h][1] = $langs->trans("SetupDriver"); - $head[$h][2] = 'setup'; - $h++; + if ($mode == 'setup') + { + $head[$h][0] = DOL_URL_ROOT."/printing/admin/printing.php?mode=setup"; + $head[$h][1] = $langs->trans("SetupDriver"); + $head[$h][2] = 'setup'; + $h++; + } - $head[$h][0] = DOL_URL_ROOT."/printing/admin/printing.php?mode=test"; - $head[$h][1] = $langs->trans("TestDriver"); - $head[$h][2] = 'test'; - $h++; + if ($mode == 'test') + { + $head[$h][0] = DOL_URL_ROOT."/printing/admin/printing.php?mode=test"; + $head[$h][1] = $langs->trans("TargetedPrinter"); + $head[$h][2] = 'test'; + $h++; + } - $head[$h][0] = DOL_URL_ROOT."/printing/admin/printing.php?mode=userconf"; - $head[$h][1] = $langs->trans("UserConf"); - $head[$h][2] = 'userconf'; - $h++; + /** TODO This feature seem to be not ready yet. + $head[$h][0] = DOL_URL_ROOT."/printing/admin/printing.php?mode=userconf"; + $head[$h][1] = $langs->trans("UserConf"); + $head[$h][2] = 'userconf'; + $h++; + */ //$object=new stdClass(); From fd206dbb55388eafd98dc55e025cf2ac56d38e4b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 11 Feb 2015 14:28:20 +0100 Subject: [PATCH 063/137] Fix ruleset.xml --- dev/codesniffer/ruleset.xml | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/dev/codesniffer/ruleset.xml b/dev/codesniffer/ruleset.xml index ab0f29988ff..199c4a4ad73 100755 --- a/dev/codesniffer/ruleset.xml +++ b/dev/codesniffer/ruleset.xml @@ -191,15 +191,26 @@ - + + 0 + - + + 0 + - + + 0 + - - - + + 0 + + + + 0 + + '; - print ''; - print ''; - } else { - print ''; - print ''; + print ''; + print ''; + print ''; + print ''; // Qty ordered + qty already dispatached } // Dispatch - print ''; + print ''; // Warehouse print '\n"; + print "\n"; } } @@ -430,11 +481,13 @@ if ($id > 0 || ! empty($ref)) print 'trans("DispatchSupplierOrder",$commande->ref); // print ' / '.$commande->ref_supplier; // Not yet available - print '" class="flat">

'; + print '" class="flat">   '; - print '
'; + print '
'; + print '>'; + //print ''; } if (! $nbproduct && $nbfreeproduct) { @@ -449,7 +502,7 @@ if ($id > 0 || ! empty($ref)) // List of already dispatching $sql = "SELECT p.ref, p.label,"; $sql.= " e.rowid as warehouse_id, e.label as entrepot,"; - $sql.= " cfd.rowid, cfd.fk_product, cfd.qty, cfd.comment, cfd.status"; + $sql.= " cfd.rowid, cfd.fk_product, cfd.qty, cfd.eatby, cfd.sellby, cfd.batch, cfd.comment, cfd.status"; $sql.= " FROM ".MAIN_DB_PREFIX."product as p,"; $sql.= " ".MAIN_DB_PREFIX."commande_fournisseur_dispatch as cfd"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."entrepot as e ON cfd.fk_entrepot = e.rowid"; @@ -473,6 +526,12 @@ if ($id > 0 || ! empty($ref)) print ''; print ''; + if (! empty($conf->productbatch->enabled)) + { + print ''; + print ''; + print ''; + } print ''; print ''; print ''; @@ -491,6 +550,13 @@ if ($id > 0 || ! empty($ref)) print ' - '.$objp->label; print "\n"; + if (! empty($conf->productbatch->enabled)) + { + print ''; + print ''; + print ''; + } + // Qty print ''; print ''; diff --git a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql index 573646b94c3..b08cc76c4e8 100755 --- a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql +++ b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql @@ -105,6 +105,8 @@ ALTER TABLE llx_product_fournisseur_price ADD COLUMN delivery_time_days integer; ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN comment varchar(255); ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN status integer; ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN tms timestamp; - +ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN eatby date DEFAULT NULL; +ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN sellby date DEFAULT NULL; +ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN batch varchar(30) DEFAULT NULL; \ No newline at end of file diff --git a/htdocs/install/mysql/tables/llx_commande_fournisseur_dispatch.sql b/htdocs/install/mysql/tables/llx_commande_fournisseur_dispatch.sql index 56709573721..912ea14d1f2 100644 --- a/htdocs/install/mysql/tables/llx_commande_fournisseur_dispatch.sql +++ b/htdocs/install/mysql/tables/llx_commande_fournisseur_dispatch.sql @@ -14,6 +14,9 @@ -- You should have received a copy of the GNU General Public License -- along with this program. If not, see . -- +-- This table is just an history table to track all receiving done for a +-- particular supplier order. A movement with same information is also done +-- into stock_movement so this table may be useless. -- =================================================================== create table llx_commande_fournisseur_dispatch @@ -25,6 +28,9 @@ create table llx_commande_fournisseur_dispatch fk_entrepot integer, fk_user integer, comment varchar(255), -- comment on movement + eatby date DEFAULT NULL, + sellby date DEFAULT NULL, + batch varchar(30) DEFAULT NULL, status integer, datec datetime, tms timestamp diff --git a/htdocs/langs/en_US/errors.lang b/htdocs/langs/en_US/errors.lang index 08b031690b4..79e55f7f597 100755 --- a/htdocs/langs/en_US/errors.lang +++ b/htdocs/langs/en_US/errors.lang @@ -158,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/en_US/productbatch.lang b/htdocs/langs/en_US/productbatch.lang index ca3e49749ab..8dd31df3412 100644 --- a/htdocs/langs/en_US/productbatch.lang +++ b/htdocs/langs/en_US/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number \ No newline at end of file diff --git a/htdocs/langs/en_US/stocks.lang b/htdocs/langs/en_US/stocks.lang index 66e23987f09..27bad0cdbbb 100644 --- a/htdocs/langs/en_US/stocks.lang +++ b/htdocs/langs/en_US/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a warehouse automatically when creating a user QtyDispatched=Quantity dispatched +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Stock dispatching RuleForStockManagementDecrease=Rule for stock management decrease RuleForStockManagementIncrease=Rule for stock management increase @@ -125,3 +127,4 @@ StockMustBeEnoughForShipment= Stock level must be enough to add product/service MovementLabel=Label of movement InventoryCode=Inventory code IsInPackage=Contained into package +ShowWarehouse=Show warehouse diff --git a/htdocs/langs/fr_FR/stocks.lang b/htdocs/langs/fr_FR/stocks.lang index 8749207cd83..81dbd123038 100644 --- a/htdocs/langs/fr_FR/stocks.lang +++ b/htdocs/langs/fr_FR/stocks.lang @@ -122,4 +122,3 @@ RuleForStockAvailability=Règles d'exigence sur les stocks StockMustBeEnoughForInvoice=Le niveau de stock doit être suffisant pour ajouter un produit/service dans une facture StockMustBeEnoughForOrder=Le niveau de stock doit être suffisant pour ajouter un produit/service dans une commande StockMustBeEnoughForShipment= Le niveau de stock doit être suffisant pour ajouter un produit/service dans une expédition - diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 1bca1a64f4e..a478f65a8ca 100755 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -3057,6 +3057,51 @@ class Product extends CommonObject } } + /** + * Adjust stock in a warehouse for product with batch number + * + * @param User $user user asking change + * @param int $id_entrepot id of warehouse + * @param double $nbpiece nb of units + * @param int $movement 0 = add, 1 = remove + * @param string $label Label of stock movement + * @param double $price Price to use for stock eval + * @param date $dlc eat-by date + * @param date $dluo sell-by date + * @param string $lot Lot number + * @param string $inventorycode Inventory code + * @return int <0 if KO, >0 if OK + */ + function correct_stock_batch($user, $id_entrepot, $nbpiece, $movement, $label='', $price=0, $dlc='', $dluo='',$lot='', $inventorycode='') + { + if ($id_entrepot) + { + $this->db->begin(); + + require_once DOL_DOCUMENT_ROOT .'/product/stock/class/mouvementstock.class.php'; + + $op[0] = "+".trim($nbpiece); + $op[1] = "-".trim($nbpiece); + + $movementstock=new MouvementStock($this->db); + $result=$movementstock->_create($user,$this->id,$id_entrepot,$op[$movement],$movement,$price,$label,$inventorycode,'',$dlc,$dluo,$lot); + + if ($result >= 0) + { + $this->db->commit(); + return 1; + } + else + { + $this->error=$movementstock->error; + $this->errors=$movementstock->errors; + + $this->db->rollback(); + return -1; + } + } + } + /** * Load information about stock of a product into stock_warehouse[] and stock_reel * @@ -3646,48 +3691,6 @@ class Product extends CommonObject return ($this->status_batch == 1 ? true : false); } - /** - * Adjust stock in a warehouse for product with batch number - * - * @param User $user user asking change - * @param int $id_entrepot id of warehouse - * @param double $nbpiece nb of units - * @param int $movement 0 = add, 1 = remove - * @param string $label Label of stock movement - * @param double $price Price to use for stock eval - * @param date $dlc eat-by date - * @param date $dluo sell-by date - * @param string $lot Lot number - * @param string $inventorycode Inventory code - * @return int <0 if KO, >0 if OK - */ - function correct_stock_batch($user, $id_entrepot, $nbpiece, $movement, $label='', $price=0, $dlc='', $dluo='',$lot='', $inventorycode='') - { - if ($id_entrepot) - { - $this->db->begin(); - - require_once DOL_DOCUMENT_ROOT .'/product/stock/class/mouvementstock.class.php'; - - $op[0] = "+".trim($nbpiece); - $op[1] = "-".trim($nbpiece); - - $movementstock=new MouvementStock($this->db); - $result=$movementstock->_create($user,$this->id,$id_entrepot,$op[$movement],$movement,$price,$label,$inventorycode,'',$dlc,$dluo,$lot); - - if ($result >= 0) - { - $this->db->commit(); - return 1; - } - else - { - $this->error=$movementstock->error; - $this->db->rollback(); - return -1; - } - } - } /** * Return minimum product recommended price diff --git a/htdocs/product/class/productbatch.class.php b/htdocs/product/class/productbatch.class.php index 088dccf6861..4362d54a403 100644 --- a/htdocs/product/class/productbatch.class.php +++ b/htdocs/product/class/productbatch.class.php @@ -87,13 +87,12 @@ class Productbatch extends CommonObject $sql.= "import_key"; $sql.= ") VALUES ("; $sql.= " ".(! isset($this->fk_product_stock)?'NULL':$this->fk_product_stock).","; - $sql.= " ".(! isset($this->sellby) || dol_strlen($this->sellby)==0?'NULL':$this->db->idate($this->sellby)).","; - $sql.= " ".(! isset($this->eatby) || dol_strlen($this->eatby)==0?'NULL':$this->db->idate($this->eatby)).","; + $sql.= " ".(! isset($this->sellby) || dol_strlen($this->sellby)==0?'NULL':"'".$this->db->idate($this->sellby)."'").","; + $sql.= " ".(! isset($this->eatby) || dol_strlen($this->eatby)==0?'NULL':"'".$this->db->idate($this->eatby)."'").","; $sql.= " ".(! isset($this->batch)?'NULL':"'".$this->db->escape($this->batch)."'").","; $sql.= " ".(! isset($this->qty)?'NULL':$this->qty).","; $sql.= " ".(! isset($this->import_key)?'NULL':"'".$this->db->escape($this->import_key)."'").""; - $sql.= ")"; $this->db->begin(); @@ -122,11 +121,6 @@ class Productbatch extends CommonObject // Commit or rollback if ($error) { - foreach($this->errors as $errmsg) - { - dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR); - $this->error.=($this->error?', '.$errmsg:$errmsg); - } $this->db->rollback(); return -1*$error; } diff --git a/htdocs/product/stock/class/entrepot.class.php b/htdocs/product/stock/class/entrepot.class.php index 3c3d127223e..09c7c21a0d5 100644 --- a/htdocs/product/stock/class/entrepot.class.php +++ b/htdocs/product/stock/class/entrepot.class.php @@ -510,6 +510,7 @@ class Entrepot extends CommonObject function getNomUrl($withpicto=0,$option='') { global $langs; + $langs->load("stocks"); $result=''; $label = '' . $langs->trans("ShowWarehouse").''; diff --git a/htdocs/product/stock/class/mouvementstock.class.php b/htdocs/product/stock/class/mouvementstock.class.php index 0c8553e424d..e4e231906a9 100644 --- a/htdocs/product/stock/class/mouvementstock.class.php +++ b/htdocs/product/stock/class/mouvementstock.class.php @@ -74,7 +74,7 @@ class MouvementStock extends CommonObject // Clean parameters if (empty($price)) $price=0; $now=(! empty($datem) ? $datem : dol_now()); - + // Check parameters if (empty($fk_product)) return 0; @@ -83,7 +83,7 @@ class MouvementStock extends CommonObject $this->entrepot_id = $entrepot_id; $this->qty = $qty; $this->type = $type; - + $this->db->begin(); $product = new Product($this->db); @@ -94,7 +94,20 @@ class MouvementStock extends CommonObject return -1; } $product->load_stock(); - + + // Test if product require batch data. If yes, and there is not, we throw an error. + if ($product->hasbatch() && ! $skip_sellby) + { + if (empty($batch) && empty($eatby) && empty($sellby)) + { + $this->errors[]="ErrorTryToMakeMoveOnProductRequiringBatchData"; + dol_syslog("Try to make a movement of a product with status_batch on without any batch data"); + + $this->db->rollback(); + return -2; + } + } + // Define if we must make the stock change (If product type is a service or if stock is used also for services) $movestock=0; if ($product->type != 1 || ! empty($conf->global->STOCK_SUPPORTS_SERVICES)) $movestock=1; @@ -110,7 +123,7 @@ class MouvementStock extends CommonObject } $mvid = 0; - + $sql = "INSERT INTO ".MAIN_DB_PREFIX."stock_mouvement"; $sql.= " (datem, fk_product, fk_entrepot, value, type_mouvement, fk_user_author, label, inventorycode, price, fk_origin, origintype)"; $sql.= " VALUES ('".$this->db->idate($now)."', ".$this->product_id.", ".$this->entrepot_id.", ".$this->qty.", ".$this->type.","; @@ -127,7 +140,7 @@ class MouvementStock extends CommonObject if ($resql) { $mvid = $this->db->last_insert_id(MAIN_DB_PREFIX."stock_mouvement"); - $this->id = $mvid; + $this->id = $mvid; } else { @@ -190,11 +203,11 @@ class MouvementStock extends CommonObject $this->error=$this->db->lasterror(); $error = -4; } - + $oldqtytouse=($oldqty >= 0?$oldqty:0); // We make a test on oldpmp>0 to avoid to use normal rule on old data with no pmp field defined if ($oldpmp > 0) $newpmp=price2num((($oldqtytouse * $oldpmp) + ($qty * $price)) / ($oldqtytouse + $qty), 'MU'); - else + else { $newpmp=$price; // For this product, PMP was not yet set. We will set it later. } @@ -208,7 +221,7 @@ class MouvementStock extends CommonObject } else if ($type == 1 || $type == 2) { - // After a stock decrease, we don't change value of PMP for product. + // After a stock decrease, we don't change value of PMP for product. } else { @@ -217,7 +230,7 @@ class MouvementStock extends CommonObject } } */ - + // Update denormalized value of stock in product_stock and product if (! $error) { @@ -239,7 +252,7 @@ class MouvementStock extends CommonObject { $this->error=$this->db->lasterror(); $error = -3; - } + } else if(empty($fk_product_stock)) { $fk_product_stock = $this->db->last_insert_id(MAIN_DB_PREFIX."product_stock"); @@ -250,7 +263,7 @@ class MouvementStock extends CommonObject // Update detail stock for sell-by date if (($product->hasbatch()) && (! $error) && (! $skip_sellby)) { - $param_batch=array('fk_product_stock' =>$fk_product_stock, 'eatby'=>$eatby,'sellby'=>$sellby,'batchnumber'=>$batch); + $param_batch=array('fk_product_stock' =>$fk_product_stock, 'eatby'=>$eatby, 'sellby'=>$sellby, 'batchnumber'=>$batch); $result=$this->_create_batch($param_batch, $qty); if ($result<0) $error++; } @@ -282,7 +295,7 @@ class MouvementStock extends CommonObject { // Call trigger $result=$this->call_trigger('STOCK_MOVEMENT',$user); - if ($result < 0) $error++; + if ($result < 0) $error++; // End call triggers } @@ -324,7 +337,7 @@ class MouvementStock extends CommonObject $sql.= " WHERE fk_product_pere = ".$idProduct; // TODO Select only subproduct with incdec tag //$sql.= " AND incdec = 1"; - + dol_syslog(get_class($this)."::_createSubProduct", LOG_DEBUG); $resql=$this->db->query($sql); if ($resql) @@ -427,7 +440,7 @@ class MouvementStock extends CommonObject /** * Count number of product in stock before a specific date - * + * * @param int $productidselected Id of product to count * @param timestamp $datebefore Date limit * @return int Number @@ -435,11 +448,11 @@ class MouvementStock extends CommonObject function calculateBalanceForProductBefore($productidselected, $datebefore) { $nb=0; - + $sql = 'SELECT SUM(value) as nb from '.MAIN_DB_PREFIX.'stock_mouvement'; $sql.= ' WHERE fk_product = '.$productidselected; $sql.= " AND datem < '".$this->db->idate($datebefore)."'"; - + dol_syslog(get_class($this).__METHOD__.'', LOG_DEBUG); $resql=$this->db->query($sql); if ($resql) @@ -448,7 +461,7 @@ class MouvementStock extends CommonObject if ($obj) $nb = $obj->nb; return (empty($nb)?0:$nb); } - else + else { dol_print_error($this->db); return -1; @@ -462,10 +475,13 @@ class MouvementStock extends CommonObject * @param int $qty Quantity of product with batch number * @return int <0 if KO, else return productbatch id */ - function _create_batch($dluo, $qty ) { - $pdluo=New Productbatch($this->db); - - //Try to find an existing record with batch same batch number or id + function _create_batch($dluo, $qty ) + { + $pdluo=new Productbatch($this->db); + + $result=0; + + // Try to find an existing record with batch same batch number or id if (is_numeric($dluo)) { $result=$pdluo->fetch($dluo); } else if (is_array($dluo)) { @@ -481,25 +497,34 @@ class MouvementStock extends CommonObject } } else { dol_syslog(get_class($this)."::_create_batch error invalid param dluo".$error, LOG_ERR); - $result = -1; + $result = -1; } //batch record found so we update it - if ($result>0) { - if ($pdluo->id >0) { + if ($result>0) + { + if ($pdluo->id >0) + { $pdluo->qty +=$qty; if ($pdluo->qty == 0) { $result=$pdluo->delete(0,1); } else { $result=$pdluo->update(0,1); } - } else { + } + else + { $pdluo->fk_product_stock=$vfk_product_stock; $pdluo->qty = $qty; $pdluo->eatby = $veatby; $pdluo->sellby = $vsellby; $pdluo->batch = $vbatchnumber; $result=$pdluo->create(0,1); + if ($result < 0) + { + $this->error=$pdluo->error; + $this->errors=$pdluo->errors; + } } return $result; } else { @@ -537,12 +562,12 @@ class MouvementStock extends CommonObject require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; $origin = new FactureFournisseur($this->db); break; - + default: return ''; break; } - + $origin->fetch($fk_origin); return $origin->getNomUrl(1); } diff --git a/htdocs/product/stock/mouvement.php b/htdocs/product/stock/mouvement.php index c9451a2d744..682d20e7318 100644 --- a/htdocs/product/stock/mouvement.php +++ b/htdocs/product/stock/mouvement.php @@ -78,10 +78,10 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both * Actions */ -if ($cancel) $action=''; +if ($cancel) $action=''; // Protection to avoid action for all cancel buttons // Correct stock -if ($action == "correct_stock" && ! $_POST["cancel"]) +if ($action == "correct_stock") { if (is_numeric($_POST["nbpiece"]) && $product_id) { @@ -342,7 +342,7 @@ if ($resql) print '     '; print ''; print ''; - + print ''; } diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php index 8517a384f06..5a4e619dd05 100644 --- a/htdocs/product/stock/product.php +++ b/htdocs/product/stock/product.php @@ -47,13 +47,17 @@ if (! empty($conf->productbatch->enabled)) $langs->load("productbatch"); $action=GETPOST("action"); $cancel=GETPOST('cancel'); -// Security check $id=GETPOST('id', 'int'); $ref=GETPOST('ref', 'alpha'); $stocklimit = GETPOST('stocklimit'); $desiredstock = GETPOST('desiredstock'); $cancel = GETPOST('cancel'); $fieldid = isset($_GET["ref"])?'ref':'rowid'; +$d_eatby=dol_mktime(12, 0, 0, $_POST['eatbymonth'], $_POST['eatbyday'], $_POST['eatbyyear']); +$d_sellby=dol_mktime(12, 0, 0, $_POST['sellbymonth'], $_POST['sellbyday'], $_POST['sellbyyear']); +$pdluoid=GETPOST('pdluoid','int'); + +// Security check if ($user->societe_id) $socid=$user->societe_id; $result=restrictedArea($user,'produit&stock',$id,'product&product','','',$fieldid); @@ -128,8 +132,6 @@ if ($action == "correct_stock" && ! $cancel) } if ($product->hasbatch()) { - $d_eatby=dol_mktime(12, 0, 0, $_POST['eatbymonth'], $_POST['eatbyday'], $_POST['eatbyyear']); - $d_sellby=dol_mktime(12, 0, 0, $_POST['sellbymonth'], $_POST['sellbyday'], $_POST['sellbyyear']); $result=$product->correct_stock_batch( $user, GETPOST("id_entrepot"), @@ -185,91 +187,116 @@ if ($action == "transfert_stock" && ! $cancel) $error++; $action='transfert'; } + if (GETPOST("id_entrepot_source",'int') == GETPOST("id_entrepot_destination",'int')) + { + setEventMessage($langs->trans("ErrorSrcAndTargetWarehouseMustDiffers"), 'errors'); + $error++; + $action='transfert'; + } if (! $error) { - if (GETPOST("id_entrepot_source",'int') <> GETPOST("id_entrepot_destination",'int')) + if ($id) { - if (GETPOST("nbpiece",'int') && $id) + $product = new Product($db); + $result=$product->fetch($id); + + $db->begin(); + + $product->load_stock(); // Load array product->stock_warehouse + + // Define value of products moved + $pricesrc=0; + //if (isset($product->stock_warehouse[GETPOST("id_entrepot_source")]->pmp)) $pricesrc=$product->stock_warehouse[GETPOST("id_entrepot_source")]->pmp; + if (isset($product->pmp)) $pricesrc=$product->pmp; + $pricedest=$pricesrc; + + if ($product->hasbatch()) { - $product = new Product($db); - $result=$product->fetch($id); + $pdluo = new Productbatch($db); - $db->begin(); - - $product->load_stock(); // Load array product->stock_warehouse - - // Define value of products moved - $pricesrc=0; - //if (isset($product->stock_warehouse[GETPOST("id_entrepot_source")]->pmp)) $pricesrc=$product->stock_warehouse[GETPOST("id_entrepot_source")]->pmp; - if (isset($product->pmp)) $pricesrc=$product->pmp; - $pricedest=$pricesrc; - - $pdluoid=GETPOST('pdluoid','int'); - - if ($pdluoid>0) + if ($pdluoid > 0) { - $pdluo = new Productbatch($db); - $result=$pdluo->fetch($pdluoid); - - if ($result>0 && $pdluo->id) - { - // Remove stock - $result1=$product->correct_stock_batch( - $user, - $pdluo->warehouseid, - GETPOST("nbpiece",'int'), - 1, - GETPOST("label",'san_alpha'), - $pricesrc, - $pdluo->eatby,$pdluo->sellby,$pdluo->batch - ); - // Add stock - $result2=$product->correct_stock_batch( - $user, - GETPOST("id_entrepot_destination",'int'), - GETPOST("nbpiece",'int'), - 0, - GETPOST("label",'san_alpha'), - $pricedest, - $pdluo->eatby,$pdluo->sellby,$pdluo->batch - ); - } + $result=$pdluo->fetch($pdluoid); + if ($result) + { + $srcwarehouseid=$pdluo->warehouseid; + $batch=$pdluo->batch; + $eatby=$pdluo->eatby; + $sellby=$pdluo->sellby; + } + else + { + setEventMessages($pdluo->error, $pdluo->errors, 'errors'); + $error++; + } } else { - // Remove stock - $result1=$product->correct_stock( - $user, - GETPOST("id_entrepot_source"), - GETPOST("nbpiece"), - 1, - GETPOST("label"), - $pricesrc - ); + $srcwarehouseid=GETPOST('id_entrepot_source','int'); + $batch=GETPOST('batch_number'); + $eatby=$d_eatby; + $sellby=$d_sellby; + } - // Add stock - $result2=$product->correct_stock( - $user, - GETPOST("id_entrepot_destination"), - GETPOST("nbpiece"), - 0, - GETPOST("label"), - $pricedest - ); - } - if ($result1 >= 0 && $result2 >= 0) + if (! $error) { - $db->commit(); - header("Location: product.php?id=".$product->id); - exit; - } - else - { - setEventMessage($product->error, 'errors'); - $db->rollback(); + // Remove stock + $result1=$product->correct_stock_batch( + $user, + $srcwarehouseid, + GETPOST("nbpiece",'int'), + 1, + GETPOST("label",'san_alpha'), + $pricesrc, + $eatby,$sellby,$batch + ); + // Add stock + $result2=$product->correct_stock_batch( + $user, + GETPOST("id_entrepot_destination",'int'), + GETPOST("nbpiece",'int'), + 0, + GETPOST("label",'san_alpha'), + $pricedest, + $eatby,$sellby,$batch + ); } } + else + { + // Remove stock + $result1=$product->correct_stock( + $user, + GETPOST("id_entrepot_source"), + GETPOST("nbpiece"), + 1, + GETPOST("label"), + $pricesrc + ); + + // Add stock + $result2=$product->correct_stock( + $user, + GETPOST("id_entrepot_destination"), + GETPOST("nbpiece"), + 0, + GETPOST("label"), + $pricedest + ); + } + if (! $error && $result1 >= 0 && $result2 >= 0) + { + $db->commit(); + header("Location: product.php?id=".$product->id); + exit; + } + else + { + setEventMessages($product->error, $product->errors, 'errors'); + $db->rollback(); + $action='transfert'; + } } } } @@ -578,14 +605,15 @@ if ($id > 0 || $ref) print ''; print ''; - // Label + // Purchase price print ''; print ''; print ''; print ''; - //eat-by date - if ((! empty($conf->productbatch->enabled)) && $product->hasbatch()) { + // Eat-by date + if ((! empty($conf->productbatch->enabled)) && $product->hasbatch()) + { print ''; print ''; print ''; print ''; - + print '
'; - $form->select_date('','dlc'.$suffix,'','',1,""); - print ''; - $form->select_date('','dluo'.$suffix,'','',1,""); - print ''; - print ''; print ' '; + print ''; + print ''; + $form->select_date('','dlc'.$suffix,'','',1,""); + print ''; + $form->select_date('','dluo'.$suffix,'','',1,""); + print ' '; + if (empty($conf->productbatch->enabled) || $objp->tobatch!=1) + { + print ''; + print ''; + } + print ''; + print ''; @@ -409,6 +459,7 @@ if ($id > 0 || ! empty($ref)) print $langs->trans("NoWarehouseDefined"); } print "
'.$langs->trans("Description").''.$langs->trans("batch_number").''.$langs->trans("l_eatby").''.$langs->trans("l_sellby").''.$langs->trans("QtyDispatched").''.$langs->trans("Warehouse").''.$objp->batch.''.dol_print_date($db->jdate($objp->eatby),'day').''.dol_print_date($db->jdate($objp->sellby),'day').''.$objp->qty.' '.$langs->trans("NumberOfUnit").'
'.$langs->trans("UnitPurchaseValue").'
'.$langs->trans("batch_number").''; print ''; @@ -609,9 +637,9 @@ if ($id > 0 || $ref) print ''.$langs->trans("InventoryCode").'
'; - + print '
'; print ''; print '     '; @@ -627,9 +655,10 @@ if ($id > 0 || $ref) { $pdluoid=GETPOST('pdluoid','int'); + $pdluo = new Productbatch($db); + if ($pdluoid > 0) { - $pdluo = new Productbatch($db); $result=$pdluo->fetch($pdluoid); if ($result > 0) @@ -653,25 +682,43 @@ if ($id > 0 || $ref) print ''; print ''; - print ''; - print ''; - print ''; + print ''; print ''; + // Eat-by date + if ((! empty($conf->productbatch->enabled)) && $product->hasbatch()) + { + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + // Label print ''; - print ''; + print ''; print ''; @@ -699,9 +746,9 @@ if ($id > 0 || $ref) print ''; print ''; print '
'.$langs->trans("WarehouseSource").''; + print ''.$langs->trans("WarehouseSource").''; if ($pdluoid) { print $formproduct->selectWarehouses($pdluo->warehouseid,'id_entrepot_source','',1,1); } else { - print $formproduct->selectWarehouses((GETPOST("dwid")?GETPOT("dwid",'int'):(GETPOST('id_entrepot')?GETPOST('id_entrepot_source','int'):'ifone')),'id_entrepot_source','',1); + print $formproduct->selectWarehouses((GETPOST("dwid")?GETPOT("dwid",'int'):(GETPOST('id_entrepot_source')?GETPOST('id_entrepot_source','int'):'ifone')),'id_entrepot_source','',1); } print ''.$langs->trans("WarehouseTarget").''; + print ''.$langs->trans("WarehouseTarget").''; print $formproduct->selectWarehouses(GETPOST('id_entrepot_destination'),'id_entrepot_destination','',1); print ''.$langs->trans("NumberOfUnit").''.$langs->trans("NumberOfUnit").'
'.$langs->trans("batch_number").''; + print ' 0 ? ' disabled="true"':'').' value="'.(GETPOST('batch_number')?GETPOST('batch_number'):$pdluo->batch).'">'; // If form was opened for a specific pdluoid, field is disabled + print '
'.$langs->trans("l_eatby").''; + print $form->select_date(($d_eatby?$d_eatby:$pdluo->eatby),'eatby','','',1,"", 1, 0, 1, ($pdluoid > 0 ? 1 : 0)); // If form was opened for a specific pdluoid, field is disabled + print ''.$langs->trans("l_sellby").''; + print $form->select_date(($d_sellby?$d_sellby:$pdluo->sellby),'sellby','','',1,"", 1, 0, 1, ($pdluoid > 0 ? 1 : 0)); // If form was opened for a specific pdluoid, field is disabled + print '
'.$langs->trans("LabelMovement").''.$langs->trans("MovementLabel").''; print ''; print '
'; - print ''; + print ''; print ''; print '
'.$langs->trans("Warehouse").''; + print ''.$langs->trans("Warehouse").''; print $formproduct->selectWarehouses('','id_entrepot','',1); - print ''.$langs->trans("NumberOfUnit").'
'.$langs->trans("NumberOfUnit").'
 '; print '
'; @@ -731,7 +778,8 @@ if (empty($action) && $product->id) print ''.$langs->trans("StockCorrection").''; } - if (($user->rights->stock->mouvement->creer) && !$product->hasbatch()) + //if (($user->rights->stock->mouvement->creer) && ! $product->hasbatch()) + if (($user->rights->stock->mouvement->creer)) { print ''.$langs->trans("StockMovement").''; } @@ -753,7 +801,8 @@ print ''.$langs->trans("EstimatedStockValueShort").''; print ''.$langs->trans("SellPriceMin").''; print ''.$langs->trans("EstimatedStockValueSellShort").''; print ''; -if ( (! empty($conf->productbatch->enabled)) && $product->hasbatch()) { +if ((! empty($conf->productbatch->enabled)) && $product->hasbatch()) +{ print ''; print ''.$langs->trans("batch_number").''; print ''.$langs->trans("l_eatby").''; @@ -798,7 +847,7 @@ if ($resql) print ''; if (empty($conf->global->PRODUIT_MULTI_PRICES)) print price(price2num($product->price,'MU'),1); else print $langs->trans("Variable"); - print ''; // Ditto : Show PMP from movement or from product + print ''; // Value sell print ''; if (empty($conf->global->PRODUIT_MULTI_PRICES)) print price(price2num($product->price*$obj->reel,'MT'),1).''; // Ditto : Show PMP from movement or from product @@ -835,8 +884,10 @@ if ($resql) { print "\n".''; print 'id.'">'.$langs->trans("StockMovement").''; - print 'id.'#'.$pdluo->id.'">'; - print img_edit().''; + // Disabled, because edition of stock content must use the "Correct stock menu". + // Do not use this, or data will be wrong (bad tracking of movement label, inventory code, ... + //print 'id.'#'.$pdluo->id.'">'; + //print img_edit().''; print ''.$pdluo->batch.''; print ''. dol_print_date($pdluo->eatby,'day') .''; print ''. dol_print_date($pdluo->sellby,'day') .''; From 689354f92718b2c713b99d6a6ae82e3327e45ba0 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 11 Feb 2015 23:54:42 +0100 Subject: [PATCH 071/137] New: A default label is suggested for stock correction and transfer instead of empty string. --- ChangeLog | 1 + htdocs/langs/en_US/stocks.lang | 4 ++- htdocs/product/stock/mouvement.php | 47 ++++++++++++++++-------------- htdocs/product/stock/product.php | 27 ++++++++++------- 4 files changed, 46 insertions(+), 33 deletions(-) diff --git a/ChangeLog b/ChangeLog index 158ec290a40..86f25196179 100644 --- a/ChangeLog +++ b/ChangeLog @@ -8,6 +8,7 @@ For users: - New: Add check list from table for extrafield type - New: Use new combobox. - New: Add hidden option MAXTABS_IN_CARD. +- New: A default label is suggested for stock correction and transfer instead of empty string. - Fix / Improve : [ bug #1747 ] Remove creation of batch 'Undefined' - Add Weighted average price as default price for buying price for margin calculation. Add option MARGIN_PMP_AS_DEFAULT_BUY_PRICE to replace with first supplier price. diff --git a/htdocs/langs/en_US/stocks.lang b/htdocs/langs/en_US/stocks.lang index 27bad0cdbbb..9c7a6f7acbd 100644 --- a/htdocs/langs/en_US/stocks.lang +++ b/htdocs/langs/en_US/stocks.lang @@ -125,6 +125,8 @@ StockMustBeEnoughForInvoice=Stock level must be enough to add product/service in StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment MovementLabel=Label of movement -InventoryCode=Inventory code +InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/product/stock/mouvement.php b/htdocs/product/stock/mouvement.php index 682d20e7318..42ce38c2101 100644 --- a/htdocs/product/stock/mouvement.php +++ b/htdocs/product/stock/mouvement.php @@ -430,13 +430,13 @@ if ($resql) print ""; //print_liste_field_titre($langs->trans("Id"),$_SERVER["PHP_SELF"], "m.rowid","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"], "m.datem","",$param,"",$sortfield,$sortorder); - print_liste_field_titre($langs->trans("LabelMovement"),$_SERVER["PHP_SELF"], "m.label","",$param,"",$sortfield,$sortorder); - print_liste_field_titre($langs->trans("InventoryCode"),$_SERVER["PHP_SELF"], "m.inventorycode","",$param,"",$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Source"),$_SERVER["PHP_SELF"], "m.label","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("ProductRef"),$_SERVER["PHP_SELF"], "p.ref","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("ProductLabel"),$_SERVER["PHP_SELF"], "p.ref","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Warehouse"),$_SERVER["PHP_SELF"], "","",$param,"",$sortfield,$sortorder); // We are on a specific warehouse card, no filter on other should be possible print_liste_field_titre($langs->trans("Author"),$_SERVER["PHP_SELF"], "m.fk_user_author","",$param,"",$sortfield,$sortorder); + print_liste_field_titre($langs->trans("InventoryCode"),$_SERVER["PHP_SELF"], "m.inventorycode","",$param,"",$sortfield,$sortorder); + print_liste_field_titre($langs->trans("LabelMovement"),$_SERVER["PHP_SELF"], "m.label","",$param,"",$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Source"),$_SERVER["PHP_SELF"], "m.label","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Units"),$_SERVER["PHP_SELF"], "m.value","",$param,'align="right"',$sortfield,$sortorder); print "\n"; @@ -451,18 +451,6 @@ if ($resql) $syear = GETPOST('year')?GETPOST('year'):-1; $formother->select_year($syear,'year',1, 20, 5); print ''; - // Label of movement - print ''; - print ''; - print ''; - // Inventory code - print ''; - print ''; - print ''; - // Origin of movement - print ''; - print '  '; - print ''; // Product Ref print ''; print ''; @@ -471,12 +459,27 @@ if ($resql) print ''; print ''; print ''; + // Warehouse print ''; - if (empty($idproduct) || $idproduct < 0) print ''; // We are on a specific warehouse card, no filter on other should be possible + print ''; print ''; + // Author print ''; print ''; print ''; + // Inventory code + print ''; + print ''; + print ''; + // Label of movement + print ''; + print ''; + print ''; + // Origin of movement + print ''; + print '  '; + print ''; + print ''; print ''; print ''; @@ -504,12 +507,6 @@ if ($resql) //print ''.$objp->mid.''; // This is primary not movement id // Date print ''.dol_print_date($db->jdate($objp->datem),'dayhour').''; - // Label of movement - print ''.$objp->label.''; - // Inventory code - print ''.$objp->inventorycode.''; - // Origin of movement - print ''.$origin.''; // Product ref print ''; $productstatic->id=$objp->rowid; @@ -538,6 +535,12 @@ if ($resql) $userstatic->lastname=$objp->login; print $userstatic->getNomUrl(1); print "\n"; + // Inventory code + print ''.$objp->inventorycode.''; + // Label of movement + print ''.$objp->label.''; + // Origin of movement + print ''.$origin.''; // Value print ''; if ($objp->value > 0) print '+'; diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php index 5a4e619dd05..f49fe2344d7 100644 --- a/htdocs/product/stock/product.php +++ b/htdocs/product/stock/product.php @@ -249,7 +249,8 @@ if ($action == "transfert_stock" && ! $cancel) 1, GETPOST("label",'san_alpha'), $pricesrc, - $eatby,$sellby,$batch + $eatby,$sellby,$batch, + GETPOST('inventorycode') ); // Add stock $result2=$product->correct_stock_batch( @@ -259,7 +260,8 @@ if ($action == "transfert_stock" && ! $cancel) 0, GETPOST("label",'san_alpha'), $pricedest, - $eatby,$sellby,$batch + $eatby,$sellby,$batch, + GETPOST('inventorycode') ); } } @@ -272,7 +274,8 @@ if ($action == "transfert_stock" && ! $cancel) GETPOST("nbpiece"), 1, GETPOST("label"), - $pricesrc + $pricesrc, + GETPOST('inventorycode') ); // Add stock @@ -282,7 +285,8 @@ if ($action == "transfert_stock" && ! $cancel) GETPOST("nbpiece"), 0, GETPOST("label"), - $pricedest + $pricedest, + GETPOST('inventorycode') ); } if (! $error && $result1 >= 0 && $result2 >= 0) @@ -630,20 +634,21 @@ if ($id > 0 || $ref) } // Label of mouvement of id of inventory + $valformovementlabel=(GETPOST("label")?GETPOST("label"):$langs->trans("MovementCorrectStock", $product->ref)); print ''; print ''.$langs->trans("MovementLabel").''; print ''; - print ''; + print ''; print ''; - print ''.$langs->trans("InventoryCode").''; + print ''.$langs->trans("InventoryCode").''; print ''; print ''; print '
'; - print ''; + print ''; print '     '; - print ''; + print ''; print '
'; print ''; } @@ -717,11 +722,13 @@ if ($id > 0 || $ref) } // Label + $valformovementlabel=(GETPOST("label")?GETPOST("label"):$langs->trans("MovementTransferStock", $product->ref)); print ''; print ''.$langs->trans("MovementLabel").''; - print ''; - print ''; + print ''; + print ''; print ''; + print ''.$langs->trans("InventoryCode").''; print ''; print ''; From 78ba1fe86ee88e7474a8fc87e8a0fc98f3d7d0cf Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 12 Feb 2015 00:01:31 +0100 Subject: [PATCH 072/137] Fix bad null management --- htdocs/product/stock/class/mouvementstock.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/product/stock/class/mouvementstock.class.php b/htdocs/product/stock/class/mouvementstock.class.php index e4e231906a9..db73e541a55 100644 --- a/htdocs/product/stock/class/mouvementstock.class.php +++ b/htdocs/product/stock/class/mouvementstock.class.php @@ -129,7 +129,7 @@ class MouvementStock extends CommonObject $sql.= " VALUES ('".$this->db->idate($now)."', ".$this->product_id.", ".$this->entrepot_id.", ".$this->qty.", ".$this->type.","; $sql.= " ".$user->id.","; $sql.= " '".$this->db->escape($label)."',"; - $sql.= " '".$this->db->escape($inventorycode)."',"; + $sql.= " ".($inventorycode?"'".$this->db->escape($inventorycode)."'":"null").","; $sql.= " '".price2num($price)."',"; $sql.= " '".$fk_origin."',"; $sql.= " '".$origintype."'"; From 122a7c199c6a84e63e29e6508cb2ce5295e904f4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 12 Feb 2015 00:10:15 +0100 Subject: [PATCH 073/137] Prepare a module for mail document generation. --- ...t.class.php => modDocumentGeneration.class.php} | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) rename htdocs/core/modules/{modDocument.class.php => modDocumentGeneration.class.php} (92%) diff --git a/htdocs/core/modules/modDocument.class.php b/htdocs/core/modules/modDocumentGeneration.class.php similarity index 92% rename from htdocs/core/modules/modDocument.class.php rename to htdocs/core/modules/modDocumentGeneration.class.php index 5b6937e9ee0..ea40750a161 100644 --- a/htdocs/core/modules/modDocument.class.php +++ b/htdocs/core/modules/modDocumentGeneration.class.php @@ -31,7 +31,7 @@ include_once DOL_DOCUMENT_ROOT .'/core/modules/DolibarrModules.class.php'; /** * Classe de description et activation du module Document */ -class modDocument extends DolibarrModules +class modDocumentGeneration extends DolibarrModules { /** @@ -42,12 +42,12 @@ class modDocument extends DolibarrModules function __construct($db) { $this->db = $db; - $this->numero = 1510; + $this->numero = 1520; $this->family = "technic"; // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) $this->name = preg_replace('/^mod/i','',get_class($this)); - $this->description = "Generation de courriers/publipostages papiers"; + $this->description = "Direct mail document generation"; // Possible values for version are: 'development', 'experimental', 'dolibarr' or version $this->version = 'development'; @@ -56,7 +56,7 @@ class modDocument extends DolibarrModules $this->picto='email'; // Data directories to create when module is enabled - $this->dirs = array("/document/temp"); + $this->dirs = array("/documentgeneration/temp"); // Config pages //$this->config_page_url = array("document.php"); @@ -65,7 +65,7 @@ class modDocument extends DolibarrModules $this->depends = array(); $this->requiredby = array(); $this->conflictwith = array(); - $this->langfiles = array("orders","bills","companies"); + $this->langfiles = array("orders","bills","companies","mails"); // Constantes @@ -80,14 +80,14 @@ class modDocument extends DolibarrModules $r=0; - $this->rights[$r][0] = 1511; + $this->rights[$r][0] = 1521; $this->rights[$r][1] = 'Lire les documents'; $this->rights[$r][2] = 'r'; $this->rights[$r][3] = 1; $this->rights[$r][4] = 'lire'; $r++; - $this->rights[$r][0] = 1512; + $this->rights[$r][0] = 1522; $this->rights[$r][1] = 'Supprimer les documents clients'; $this->rights[$r][2] = 'd'; $this->rights[$r][3] = 0; From be56f767439fd89541fc6adea2ab02d2f48065fd Mon Sep 17 00:00:00 2001 From: Gauthier Date: Thu, 12 Feb 2015 12:56:21 +0100 Subject: [PATCH 074/137] FIX : Display error on dispatched quantity when we have several times same product in a supplier order --- .../fourn/class/fournisseur.commande.class.php | 6 +++--- htdocs/fourn/commande/dispatch.php | 17 ++++++++++------- htdocs/install/mysql/migration/3.6.0-3.7.0.sql | 2 ++ .../llx_commande_fournisseur_dispatch.sql | 1 + 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index d95816a1511..efc59943a23 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -1272,7 +1272,7 @@ class CommandeFournisseur extends CommonOrder * @param string $batch Lot number * @return int <0 if KO, >0 if OK */ - function DispatchProduct($user, $product, $qty, $entrepot, $price=0, $comment='', $eatby='', $sellby='', $batch='') + function DispatchProduct($user, $product, $qty, $entrepot, $price=0, $comment='', $eatby='', $sellby='', $batch='', $fk_commandefourndet='') { global $conf; $error = 0; @@ -1292,8 +1292,8 @@ class CommandeFournisseur extends CommonOrder $this->db->begin(); $sql = "INSERT INTO ".MAIN_DB_PREFIX."commande_fournisseur_dispatch "; - $sql.= " (fk_commande,fk_product, qty, fk_entrepot, fk_user, datec) VALUES "; - $sql.= " ('".$this->id."','".$product."','".$qty."',".($entrepot>0?"'".$entrepot."'":"null").",'".$user->id."','".$this->db->idate($now)."')"; + $sql.= " (fk_commande,fk_product, qty, fk_entrepot, fk_user, datec, fk_commandefourndet) VALUES "; + $sql.= " ('".$this->id."','".$product."','".$qty."',".($entrepot>0?"'".$entrepot."'":"null").",'".$user->id."','".$this->db->idate($now)."','".$fk_commandefourndet."')"; dol_syslog(get_class($this)."::DispatchProduct", LOG_DEBUG); $resql = $this->db->query($sql); diff --git a/htdocs/fourn/commande/dispatch.php b/htdocs/fourn/commande/dispatch.php index bea467340e6..d5ace69a09f 100644 --- a/htdocs/fourn/commande/dispatch.php +++ b/htdocs/fourn/commande/dispatch.php @@ -78,9 +78,10 @@ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->rece $qty = "qty_".$reg[1]; $ent = "entrepot_".$reg[1]; $pu = "pu_".$reg[1]; // This is unit price including discount + $fk_commandefourndet = "fk_commandefourndet_".$reg[1]; if (GETPOST($ent,'int') > 0) { - $result = $commande->DispatchProduct($user, GETPOST($prod,'int'),GETPOST($qty), GETPOST($ent,'int'), GETPOST($pu), GETPOST("comment")); + $result = $commande->DispatchProduct($user, GETPOST($prod,'int'),GETPOST($qty), GETPOST($ent,'int'), GETPOST($pu), GETPOST("comment"), '', '', '', GETPOST($fk_commandefourndet, 'int')); } else { @@ -251,22 +252,23 @@ if ($id > 0 || ! empty($ref)) print ''; print ''; - $sql = "SELECT cfd.fk_product, sum(cfd.qty) as qty"; + $sql = "SELECT l.rowid, cfd.fk_product, sum(cfd.qty) as qty"; $sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseur_dispatch as cfd"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."commande_fournisseurdet as l on (l.rowid = cfd.fk_commandefourndet)"; $sql.= " WHERE cfd.fk_commande = ".$commande->id; - $sql.= " GROUP BY cfd.fk_product"; + $sql.= " GROUP BY l.rowid"; $resql = $db->query($sql); if ($resql) { while ( $row = $db->fetch_row($resql) ) { - $products_dispatched[$row[0]] = $row[1]; + $products_dispatched[$row[0]] = $row[2]; } $db->free($resql); } - $sql = "SELECT l.fk_product, l.subprice, l.remise_percent, SUM(l.qty) as qty,"; + $sql = "SELECT l.rowid, l.fk_product, l.subprice, l.remise_percent, SUM(l.qty) as qty,"; $sql.= " p.ref, p.label, p.tobatch"; $sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseurdet as l"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON l.fk_product=p.rowid"; @@ -317,7 +319,7 @@ if ($id > 0 || ! empty($ref)) } else { - $remaintodispatch=($objp->qty - $products_dispatched[$objp->fk_product]); // Calculation of dispatched + $remaintodispatch=($objp->qty - $products_dispatched[$objp->rowid]); // Calculation of dispatched if ($remaintodispatch < 0) $remaintodispatch=0; if ($remaintodispatch) { @@ -343,7 +345,7 @@ if ($id > 0 || ! empty($ref)) print "\n"; print ''; - print ''; + print ''; if ( !(empty($conf->productbatch->enabled)) && $objp->tobatch==1) { print ''; @@ -361,6 +363,7 @@ if ($id > 0 || ! empty($ref)) print ''; } else { print ''; + print ''; print ''; } diff --git a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql index 4421ad032eb..7199cd8ebf3 100755 --- a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql +++ b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql @@ -1155,3 +1155,5 @@ ALTER TABLE llx_resource MODIFY COLUMN entity integer DEFAULT 1 NOT NULL; -- This request make mysql drop (mysql bug, so we add it at end): ALTER TABLE llx_product ADD CONSTRAINT fk_product_barcode_type FOREIGN KEY (fk_barcode_type) REFERENCES llx_c_barcode_type(rowid); +-- Add id commandefourndet in llx_commande_fournisseur_dispatch to correct /fourn/commande/dispatch.php display when several times same product in supplier order +ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN fk_commandefourndet INT(11) NOT NULL DEFAULT '0' AFTER fk_product; \ No newline at end of file diff --git a/htdocs/install/mysql/tables/llx_commande_fournisseur_dispatch.sql b/htdocs/install/mysql/tables/llx_commande_fournisseur_dispatch.sql index 7eeb02ab5cf..1c2cd348a74 100644 --- a/htdocs/install/mysql/tables/llx_commande_fournisseur_dispatch.sql +++ b/htdocs/install/mysql/tables/llx_commande_fournisseur_dispatch.sql @@ -21,6 +21,7 @@ create table llx_commande_fournisseur_dispatch rowid integer AUTO_INCREMENT PRIMARY KEY, fk_commande integer, fk_product integer, + fk_commandefourndet integer, qty float, -- qty fk_entrepot integer, fk_user integer, From 09013c7e1c4c3f5e1fd641bcb668c51b842d9cbe Mon Sep 17 00:00:00 2001 From: Sof Date: Thu, 12 Feb 2015 13:00:22 +0100 Subject: [PATCH 075/137] FIX : Let ability to use IDPROF verifications even if new entry is "private" We do not check for duplicate or empty id_prof fields while inserting a new entry when verifications options are set to "ON" in the third party configuration panel. --- htdocs/societe/soc.php | 44 +++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/htdocs/societe/soc.php b/htdocs/societe/soc.php index d0d9c9cbb47..23d9aa2d8e1 100644 --- a/htdocs/societe/soc.php +++ b/htdocs/societe/soc.php @@ -242,30 +242,34 @@ if (empty($reshook)) } // Check for duplicate or mandatory prof id - for ($i = 1; $i < 5; $i++) + // Only for companies + if (!($object->particulier || $private)) { - $slabel="idprof".$i; - $_POST[$slabel]=trim($_POST[$slabel]); - $vallabel=$_POST[$slabel]; - if ($vallabel && $object->id_prof_verifiable($i)) - { - if($object->id_prof_exists($i,$vallabel,$object->id)) + for ($i = 1; $i < 5; $i++) + { + $slabel="idprof".$i; + $_POST[$slabel]=trim($_POST[$slabel]); + $vallabel=$_POST[$slabel]; + if ($vallabel && $object->id_prof_verifiable($i)) + { + if($object->id_prof_exists($i,$vallabel,$object->id)) + { + $langs->load("errors"); + $error++; $errors[] = $langs->transcountry('ProfId'.$i, $object->country_code)." ".$langs->trans("ErrorProdIdAlreadyExist", $vallabel); + $action = (($action=='add'||$action=='create')?'create':'edit'); + } + } + + $idprof_mandatory ='SOCIETE_IDPROF'.($i).'_MANDATORY'; + + if (! $vallabel && ! empty($conf->global->$idprof_mandatory)) { $langs->load("errors"); - $error++; $errors[] = $langs->transcountry('ProfId'.$i, $object->country_code)." ".$langs->trans("ErrorProdIdAlreadyExist", $vallabel); - $action = (($action=='add'||$action=='create')?'create':'edit'); + $error++; + $errors[] = $langs->trans("ErrorProdIdIsMandatory", $langs->transcountry('ProfId'.$i, $object->country_code)); + $action = (($action=='add'||$action=='create')?'create':'edit'); } - } - - $idprof_mandatory ='SOCIETE_IDPROF'.($i).'_MANDATORY'; - - if (! $vallabel && ! empty($conf->global->$idprof_mandatory)) - { - $langs->load("errors"); - $error++; - $errors[] = $langs->trans("ErrorProdIdIsMandatory", $langs->transcountry('ProfId'.$i, $object->country_code)); - $action = (($action=='add'||$action=='create')?'create':'edit'); - } + } } } From 105e024c4869a51743670e31eba739b1e0bd3015 Mon Sep 17 00:00:00 2001 From: Gauthier Date: Thu, 12 Feb 2015 13:20:03 +0100 Subject: [PATCH 076/137] @param desc --- .../class/fournisseur.commande.class.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index efc59943a23..70514223c73 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -1261,15 +1261,16 @@ class CommandeFournisseur extends CommonOrder /** * Add a product into a stock warehouse. * - * @param User $user User object making change - * @param int $product Id of product to dispatch - * @param double $qty Qty to dispatch - * @param int $entrepot Id of warehouse to add product - * @param double $price Unit Price for PMP value calculation (Unit price without Tax and taking into account discount) - * @param string $comment Comment for stock movement - * @param date $eatby eat-by date - * @param date $sellby sell-by date - * @param string $batch Lot number + * @param User $user User object making change + * @param int $product Id of product to dispatch + * @param double $qty Qty to dispatch + * @param int $entrepot Id of warehouse to add product + * @param double $price Unit Price for PMP value calculation (Unit price without Tax and taking into account discount) + * @param string $comment Comment for stock movement + * @param date $eatby eat-by date + * @param date $sellby sell-by date + * @param string $batch Lot number + * @param int $fk_commandefourndet Id of supplier order line * @return int <0 if KO, >0 if OK */ function DispatchProduct($user, $product, $qty, $entrepot, $price=0, $comment='', $eatby='', $sellby='', $batch='', $fk_commandefourndet='') From b49c8f84b6ee5fe6ed8f7228ed781759eecd39b3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 12 Feb 2015 15:22:04 +0100 Subject: [PATCH 077/137] Fix bad translation --- htdocs/langs/en_US/sendings.lang | 8 ++++++-- htdocs/product/stock/product.php | 34 +++++++++++++++++--------------- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/htdocs/langs/en_US/sendings.lang b/htdocs/langs/en_US/sendings.lang index 61a216fe5b0..794c9019c86 100644 --- a/htdocs/langs/en_US/sendings.lang +++ b/htdocs/langs/en_US/sendings.lang @@ -62,8 +62,12 @@ ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is do RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Catch by customer diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php index f49fe2344d7..a1dcd7bc4ef 100644 --- a/htdocs/product/stock/product.php +++ b/htdocs/product/stock/product.php @@ -508,24 +508,25 @@ if ($id > 0 || $ref) if (! empty($conf->commande->enabled)) { if ($found) print '
'; else $found=1; - print $langs->trans("CustomersOrdersRunning").': '.$product->stats_commande['qty']; + print $langs->trans("ProductQtyInCustomersOrdersRunning").': '.$product->stats_commande['qty']; $result=$product->load_stats_commande(0,'0'); if ($result < 0) dol_print_error($db,$product->error); print ' ('.$langs->trans("Draft").': '.$product->stats_commande['qty'].')'; } // Number of product from customer order already sent (partial shipping) - if (! empty($conf->expedition->enabled)) { + if (! empty($conf->expedition->enabled)) + { if ($found) print '
'; else $found=1; $result=$product->load_stats_sending(0,'2'); - print $langs->trans("SendingRunning").': '.$product->stats_expedition['qty']; + print $langs->trans("ProductQtyInShipmentAlreadySent").': '.$product->stats_expedition['qty']; } // Number of supplier order running if (! empty($conf->fournisseur->enabled)) { if ($found) print '
'; else $found=1; $result=$product->load_stats_commande_fournisseur(0,'3,4'); - print $langs->trans("SuppliersOrdersRunning").': '.$product->stats_commande_fournisseur['qty']; + print $langs->trans("ProductQtyInSuppliersOrdersRunning").': '.$product->stats_commande_fournisseur['qty']; $result=$product->load_stats_commande_fournisseur(0,'0,1,2'); if ($result < 0) dol_print_error($db,$product->error); print ' ('.$langs->trans("DraftOrWaitingApproved").': '.$product->stats_commande_fournisseur['qty'].')'; @@ -534,7 +535,7 @@ if ($id > 0 || $ref) // Number of product from supplier order already received (partial receipt) if (! empty($conf->fournisseur->enabled)) { if ($found) print '
'; else $found=1; - print $langs->trans("SuppliersReceiptRunning").': '.$product->stats_reception['qty']; + print $langs->trans("ProductQtyInSuppliersShipmentAlreadyRecevied").': '.$product->stats_reception['qty']; } print '
'; @@ -599,7 +600,7 @@ if ($id > 0 || $ref) print ''; print ''; print ''; print ''; print ''; print ''; print ''; - print ''; - print ''; + print ''; + print ''; print ''; print ''; } @@ -876,10 +877,10 @@ if ($resql) print "\n".''; print ''; - print ''; - print ''; + print ''; + print ''; print ''; print ''; } From 6adfc6f6f42e8e9565c73a2b324a42e1d13e66f7 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 12 Feb 2015 15:23:31 +0100 Subject: [PATCH 078/137] Work on batch module. Add batch, eatby and sellby into movement table. Clean language files for direct print module. --- .tx/config | 12 ---- build/rpm/dolibarr_fedora.spec | 2 +- build/rpm/dolibarr_generic.spec | 2 +- build/rpm/dolibarr_mandriva.spec | 2 +- build/rpm/dolibarr_opensuse.spec | 2 +- .../modules/printing/printgcp.modules.php | 2 +- .../install/mysql/migration/3.7.0-3.8.0.sql | 7 ++- .../llx_commande_fournisseur_dispatch.sql | 2 +- .../mysql/tables/llx_stock_mouvement.sql | 3 + htdocs/langs/en_US/printgcp.lang | 25 -------- htdocs/langs/en_US/printing.lang | 62 ++++++++++++++++++- htdocs/langs/en_US/printipp.lang | 37 ----------- htdocs/product/class/product.class.php | 2 +- htdocs/product/stock/card.php | 2 +- .../stock/class/mouvementstock.class.php | 12 +++- htdocs/product/stock/mouvement.php | 33 ++++++++-- 16 files changed, 113 insertions(+), 94 deletions(-) delete mode 100644 htdocs/langs/en_US/printgcp.lang delete mode 100644 htdocs/langs/en_US/printipp.lang diff --git a/.tx/config b/.tx/config index 74875508f29..da8b4c4111e 100644 --- a/.tx/config +++ b/.tx/config @@ -236,24 +236,12 @@ source_file = htdocs/langs/en_US/paypal.lang source_lang = en_US type = MOZILLAPROPERTIES -[dolibarr.printgcp] -file_filter = htdocs/langs//printgcp.lang -source_file = htdocs/langs/en_US/printgcp.lang -source_lang = en_US -type = MOZILLAPROPERTIES - [dolibarr.printing] file_filter = htdocs/langs//printing.lang source_file = htdocs/langs/en_US/printing.lang source_lang = en_US type = MOZILLAPROPERTIES -[dolibarr.printipp] -file_filter = htdocs/langs//printipp.lang -source_file = htdocs/langs/en_US/printipp.lang -source_lang = en_US -type = MOZILLAPROPERTIES - [dolibarr.productbatch] file_filter = htdocs/langs//productbatch.lang source_file = htdocs/langs/en_US/productbatch.lang diff --git a/build/rpm/dolibarr_fedora.spec b/build/rpm/dolibarr_fedora.spec index 05de30b3d6d..5312ea52bf7 100755 --- a/build/rpm/dolibarr_fedora.spec +++ b/build/rpm/dolibarr_fedora.spec @@ -190,7 +190,7 @@ done >>%{name}.lang %_datadir/dolibarr/htdocs/opensurvey %_datadir/dolibarr/htdocs/paybox %_datadir/dolibarr/htdocs/paypal -%_datadir/dolibarr/htdocs/printipp +%_datadir/dolibarr/htdocs/printing %_datadir/dolibarr/htdocs/product %_datadir/dolibarr/htdocs/projet %_datadir/dolibarr/htdocs/public diff --git a/build/rpm/dolibarr_generic.spec b/build/rpm/dolibarr_generic.spec index 9ba38083e46..7d02cd24c16 100755 --- a/build/rpm/dolibarr_generic.spec +++ b/build/rpm/dolibarr_generic.spec @@ -270,7 +270,7 @@ done >>%{name}.lang %_datadir/dolibarr/htdocs/opensurvey %_datadir/dolibarr/htdocs/paybox %_datadir/dolibarr/htdocs/paypal -%_datadir/dolibarr/htdocs/printipp +%_datadir/dolibarr/htdocs/printing %_datadir/dolibarr/htdocs/product %_datadir/dolibarr/htdocs/projet %_datadir/dolibarr/htdocs/public diff --git a/build/rpm/dolibarr_mandriva.spec b/build/rpm/dolibarr_mandriva.spec index ec5dbc3b4a8..e10e5028a0b 100755 --- a/build/rpm/dolibarr_mandriva.spec +++ b/build/rpm/dolibarr_mandriva.spec @@ -187,7 +187,7 @@ done >>%{name}.lang %_datadir/dolibarr/htdocs/opensurvey %_datadir/dolibarr/htdocs/paybox %_datadir/dolibarr/htdocs/paypal -%_datadir/dolibarr/htdocs/printipp +%_datadir/dolibarr/htdocs/printing %_datadir/dolibarr/htdocs/product %_datadir/dolibarr/htdocs/projet %_datadir/dolibarr/htdocs/public diff --git a/build/rpm/dolibarr_opensuse.spec b/build/rpm/dolibarr_opensuse.spec index c770c25e2e6..126ca639bbc 100755 --- a/build/rpm/dolibarr_opensuse.spec +++ b/build/rpm/dolibarr_opensuse.spec @@ -198,7 +198,7 @@ done >>%{name}.lang %_datadir/dolibarr/htdocs/opensurvey %_datadir/dolibarr/htdocs/paybox %_datadir/dolibarr/htdocs/paypal -%_datadir/dolibarr/htdocs/printipp +%_datadir/dolibarr/htdocs/printing %_datadir/dolibarr/htdocs/product %_datadir/dolibarr/htdocs/projet %_datadir/dolibarr/htdocs/public diff --git a/htdocs/core/modules/printing/printgcp.modules.php b/htdocs/core/modules/printing/printgcp.modules.php index e5fbcdbd3bc..302adaeb965 100644 --- a/htdocs/core/modules/printing/printgcp.modules.php +++ b/htdocs/core/modules/printing/printgcp.modules.php @@ -69,7 +69,7 @@ class printing_printgcp extends PrintingDriver function listAvailablePrinters() { global $bc, $conf, $langs; - $langs->load('printgcp'); + $langs->load('printing'); $var=true; $html = ''; diff --git a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql index b08cc76c4e8..1f61a1a5a9b 100755 --- a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql +++ b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql @@ -105,8 +105,9 @@ ALTER TABLE llx_product_fournisseur_price ADD COLUMN delivery_time_days integer; ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN comment varchar(255); ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN status integer; ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN tms timestamp; +ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN batch varchar(30) DEFAULT NULL; ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN eatby date DEFAULT NULL; ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN sellby date DEFAULT NULL; -ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN batch varchar(30) DEFAULT NULL; - - \ No newline at end of file +ALTER TABLE llx_stock_mouvement ADD COLUMN batch varchar(30) DEFAULT NULL; +ALTER TABLE llx_stock_mouvement ADD COLUMN eatby date DEFAULT NULL; +ALTER TABLE llx_stock_mouvement ADD COLUMN sellby date DEFAULT NULL; diff --git a/htdocs/install/mysql/tables/llx_commande_fournisseur_dispatch.sql b/htdocs/install/mysql/tables/llx_commande_fournisseur_dispatch.sql index 912ea14d1f2..0ad1b37b410 100644 --- a/htdocs/install/mysql/tables/llx_commande_fournisseur_dispatch.sql +++ b/htdocs/install/mysql/tables/llx_commande_fournisseur_dispatch.sql @@ -28,9 +28,9 @@ create table llx_commande_fournisseur_dispatch fk_entrepot integer, fk_user integer, comment varchar(255), -- comment on movement + batch varchar(30) DEFAULT NULL, eatby date DEFAULT NULL, sellby date DEFAULT NULL, - batch varchar(30) DEFAULT NULL, status integer, datec datetime, tms timestamp diff --git a/htdocs/install/mysql/tables/llx_stock_mouvement.sql b/htdocs/install/mysql/tables/llx_stock_mouvement.sql index 345ba8bc478..c757b5df7e1 100644 --- a/htdocs/install/mysql/tables/llx_stock_mouvement.sql +++ b/htdocs/install/mysql/tables/llx_stock_mouvement.sql @@ -23,6 +23,9 @@ create table llx_stock_mouvement tms timestamp, datem datetime, fk_product integer NOT NULL, + batch varchar(30) DEFAULT NULL, + eatby date DEFAULT NULL, + sellby date DEFAULT NULL, fk_entrepot integer NOT NULL, value real, price float(13,4) DEFAULT 0, diff --git a/htdocs/langs/en_US/printgcp.lang b/htdocs/langs/en_US/printgcp.lang deleted file mode 100644 index ded5fb63d6e..00000000000 --- a/htdocs/langs/en_US/printgcp.lang +++ /dev/null @@ -1,25 +0,0 @@ -# Dolibarr language file - Source file is en_US - printgccp -PRINTGCP=Google Cloud Print -PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. -PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. -PrintTestDescprintgcp=List of Printers for Google Cloud Print. -PRINTGCP_LOGIN=Google Account Login -PRINTGCP_PASSWORD=Google Account Password -STATE_ONLINE=Online -STATE_UNKNOWN=Unknown -STATE_OFFLINE=Offline -STATE_DORMANT=Offline for quite a while -TYPE_GOOGLE=Google -TYPE_HP=HP Printer -TYPE_DOCS=DOCS -TYPE_DRIVE=Google Drive -TYPE_FEDEX=Fedex -TYPE_ANDROID_CHROME_SNAPSHOT=Android -TYPE_IOS_CHROME_SNAPSHOT=IOS -GCP_Name=Name -GCP_displayName=Display Name -GCP_Id=Printer Id -GCP_OwnerName=Owner Name -GCP_State=Printer State -GCP_connectionStatus=Online State -GCP_Type=Printer Type diff --git a/htdocs/langs/en_US/printing.lang b/htdocs/langs/en_US/printing.lang index e90f8efed0b..f0cd2a40292 100644 --- a/htdocs/langs/en_US/printing.lang +++ b/htdocs/langs/en_US/printing.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=Enable Direct Printing System PrintingSetup=Setup of Direct Printing System PrintingDesc=This module adds a Print button to send documents directly to a printer (without opening document into an application) with various module. ModuleDriverSetup=Setup Module Driver @@ -12,5 +14,61 @@ SetupDriver=Driver setup TestDriver=Test TargetedPrinter=Targeted printer UserConf=Setup per user -Module112000Name=Direct Printing -Module112000Desc=Enable Direct Printing System +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +FileWasSentToPrinter=File %s was sent to printer +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/en_US/printipp.lang b/htdocs/langs/en_US/printipp.lang deleted file mode 100644 index e85d53627c4..00000000000 --- a/htdocs/langs/en_US/printipp.lang +++ /dev/null @@ -1,37 +0,0 @@ -# Dolibarr language file - Source file is en_US - printipp -PRINTIPP=PrintIPP Driver -PrintIPPSetup=Setup of Direct Print module -PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. -PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. -PrintTestDescprintipp=List of Printers for driver PrintIPP. -PRINTIPP_ENABLED=Show "Direct print" icon in document lists -PRINTIPP_HOST=Print server -PRINTIPP_PORT=Port -PRINTIPP_USER=Login -PRINTIPP_PASSWORD=Password -NoPrinterFound=No printers found (check your CUPS setup) -FileWasSentToPrinter=File %s was sent to printer -NoDefaultPrinterDefined=No default printer defined -DefaultPrinter=Default printer -Printer=Printer -CupsServer=CUPS Server -IPP_Uri=Printer Uri -IPP_Name=Printer Name -IPP_State=Printer State -IPP_State_reason=State reason -IPP_State_reason1=State reason1 -IPP_BW=BW -IPP_Color=Color -IPP_Device=Device -IPP_Media=Printer media -IPP_Supported=Type of media -STATE_IPP_idle=Idle -STATE_IPP_stopped=Stopped -STATE_IPP_paused=Paused -STATE_IPP_toner-low-report=Low Toner -STATE_IPP_none=None -MEDIA_IPP_stationery=Stationery -MEDIA_IPP_thermal=Thermal -IPP_COLOR_print-black=BW Printer -IPP_COLOR_print-color=Color Printer -IPP_COLOR_=No diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index a478f65a8ca..3f3786016e5 100755 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -1763,7 +1763,7 @@ class Product extends CommonObject * * @param int $socid Id societe pour filtrer sur une societe * @param int $filtrestatut Id statut pour filtrer sur un statut - * @return array Tableau des stats + * @return array Array of stats (nb=nb of order, qty=qty ordered) */ function load_stats_commande($socid=0,$filtrestatut='') { diff --git a/htdocs/product/stock/card.php b/htdocs/product/stock/card.php index 0d21b91d109..0bd061b4a0c 100644 --- a/htdocs/product/stock/card.php +++ b/htdocs/product/stock/card.php @@ -468,7 +468,7 @@ else if ($user->rights->stock->mouvement->creer) { print '"; } diff --git a/htdocs/product/stock/class/mouvementstock.class.php b/htdocs/product/stock/class/mouvementstock.class.php index db73e541a55..f175d75db6f 100644 --- a/htdocs/product/stock/class/mouvementstock.class.php +++ b/htdocs/product/stock/class/mouvementstock.class.php @@ -124,9 +124,15 @@ class MouvementStock extends CommonObject $mvid = 0; - $sql = "INSERT INTO ".MAIN_DB_PREFIX."stock_mouvement"; - $sql.= " (datem, fk_product, fk_entrepot, value, type_mouvement, fk_user_author, label, inventorycode, price, fk_origin, origintype)"; - $sql.= " VALUES ('".$this->db->idate($now)."', ".$this->product_id.", ".$this->entrepot_id.", ".$this->qty.", ".$this->type.","; + $sql = "INSERT INTO ".MAIN_DB_PREFIX."stock_mouvement("; + $sql.= " datem, fk_product, batch, eatby, sellby,"; + $sql.= " fk_entrepot, value, type_mouvement, fk_user_author, label, inventorycode, price, fk_origin, origintype"; + $sql.= ")"; + $sql.= " VALUES ('".$this->db->idate($now)."', ".$this->product_id.", "; + $sql.= " ".($batch?"'".$batch."'":"null").", "; + $sql.= " ".($eatby?"'".$this->db->idate($eatby)."'":"null").", "; + $sql.= " ".($sellby?"'".$this->db->idate($sellby)."'":"null").", "; + $sql.= " ".$this->entrepot_id.", ".$this->qty.", ".$this->type.","; $sql.= " ".$user->id.","; $sql.= " '".$this->db->escape($label)."',"; $sql.= " ".($inventorycode?"'".$this->db->escape($inventorycode)."'":"null").","; diff --git a/htdocs/product/stock/mouvement.php b/htdocs/product/stock/mouvement.php index 42ce38c2101..44cf9df493f 100644 --- a/htdocs/product/stock/mouvement.php +++ b/htdocs/product/stock/mouvement.php @@ -122,6 +122,7 @@ $formproduct=new FormProduct($db); $sql = "SELECT p.rowid, p.ref as product_ref, p.label as produit, p.fk_product_type as type,"; $sql.= " e.label as stock, e.rowid as entrepot_id, e.lieu,"; $sql.= " m.rowid as mid, m.value, m.datem, m.fk_user_author, m.label, m.inventorycode, m.fk_origin, m.origintype,"; +$sql.= " m.batch,m.eatby,m.sellby,"; $sql.= " u.login"; $sql.= " FROM (".MAIN_DB_PREFIX."entrepot as e,"; $sql.= " ".MAIN_DB_PREFIX."product as p,"; @@ -426,12 +427,22 @@ if ($resql) if ($id) print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder,'',$num,0,''); else print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder,'',$num); + print ''; + if ($id) print ''; + print '
'.$objp->qty.''.$products_dispatched[$objp->fk_product].''.$products_dispatched[$objp->rowid].''.img_picto_common($langs->trans('AddDispatchBatchLine'),'treemenu/plustop2.gif','onClick="AddLineBatch('.$i.')"').' 
'.$langs->trans("Warehouse").''; - print $formproduct->selectWarehouses((GETPOST("dwid")?GETPOT("dwid",'int'):(GETPOST('id_entrepot')?GETPOST('id_entrepot','int'):'ifone')),'id_entrepot','',1); + print $formproduct->selectWarehouses((GETPOST("dwid")?GETPOST("dwid",'int'):(GETPOST('id_entrepot')?GETPOST('id_entrepot','int'):'ifone')),'id_entrepot','',1); print ''; print '
'.$langs->trans("WarehouseSource").''; - if ($pdluoid) + if ($pdluoid > 0) { print $formproduct->selectWarehouses($pdluo->warehouseid,'id_entrepot_source','',1,1); } else { - print $formproduct->selectWarehouses((GETPOST("dwid")?GETPOT("dwid",'int'):(GETPOST('id_entrepot_source')?GETPOST('id_entrepot_source','int'):'ifone')),'id_entrepot_source','',1); + print $formproduct->selectWarehouses((GETPOST("dwid")?GETPOST("dwid",'int'):(GETPOST('id_entrepot_source')?GETPOST('id_entrepot_source','int'):'ifone')),'id_entrepot_source','',1); } print ''.$langs->trans("WarehouseTarget").''; @@ -812,8 +813,8 @@ if ((! empty($conf->productbatch->enabled)) && $product->hasbatch()) { print '
'.$langs->trans("batch_number").''.$langs->trans("l_eatby").''.$langs->trans("l_sellby").''.$langs->trans("l_eatby").''.$langs->trans("l_sellby").'
'; print '
'; print ''; - print ''; - print ''; print ''; @@ -888,16 +889,17 @@ if ($resql) print '
'; + print ''; $form->select_date($pdluo->eatby,'eatby','','',1,""); print ''; + print ''; $form->select_date($pdluo->sellby,'sellby','','',1,""); print ''.$pdluo->qty.($pdluo->qty<0?' '.img_warning():'').'
'; } else - { + { print "\n".'
'; - print 'id.'">'.$langs->trans("StockMovement").''; + print img_picto($langs->trans("Tranfer"),'uparrow','class="hideonsmartphone"').' '; + print 'id.'">'.$langs->trans("StockMovement").''; // Disabled, because edition of stock content must use the "Correct stock menu". // Do not use this, or data will be wrong (bad tracking of movement label, inventory code, ... //print 'id.'#'.$pdluo->id.'">'; //print img_edit().''.$pdluo->batch.''. dol_print_date($pdluo->eatby,'day') .''. dol_print_date($pdluo->sellby,'day') .''. dol_print_date($pdluo->eatby,'day') .''. dol_print_date($pdluo->sellby,'day') .''.$pdluo->qty.($pdluo->qty<0?' '.img_warning():'').'
'; - print img_picto($langs->trans("StockMovement"),'uparrow.png').' '.$langs->trans("StockMovement"); + print img_picto($langs->trans("StockMovement"),'uparrow.png','class="hideonsmartphone"').' '.$langs->trans("StockMovement"); print "
'; print ""; //print_liste_field_titre($langs->trans("Id"),$_SERVER["PHP_SELF"], "m.rowid","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"], "m.datem","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("ProductRef"),$_SERVER["PHP_SELF"], "p.ref","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("ProductLabel"),$_SERVER["PHP_SELF"], "p.ref","",$param,"",$sortfield,$sortorder); + if (! empty($conf->productbatch->enabled)) + { + $langs->load("productbatch"); + print ''; + print ''; + print ''; + } print_liste_field_titre($langs->trans("Warehouse"),$_SERVER["PHP_SELF"], "","",$param,"",$sortfield,$sortorder); // We are on a specific warehouse card, no filter on other should be possible print_liste_field_titre($langs->trans("Author"),$_SERVER["PHP_SELF"], "m.fk_user_author","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("InventoryCode"),$_SERVER["PHP_SELF"], "m.inventorycode","",$param,"",$sortfield,$sortorder); @@ -441,14 +452,14 @@ if ($resql) print "\n"; // Lignes des champs de filtre - print ''; - if ($id) print ''; print ''; print ''; // Product Ref @@ -459,6 +470,13 @@ if ($resql) print ''; + // Batch + if (! empty($conf->productbatch->enabled)) + { + print ''; + print ''; + print ''; + } // Warehouse print '\n"; + // Batch + if (! empty($conf->productbatch->enabled)) + { + print ''; + print ''; + print ''; + } // Warehouse print ''; @@ -526,7 +527,7 @@ if ($id > 0 || $ref) print ''; print ''; print ''; print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + $i++; + } + + print ''; + print ''; + print ''; + print ''; + print ''; + + } + else + { + $this->error=$db->error(); + return -1; + } + } + + } + + function recalculer($id){ + $sql = 'SELECT tt.total_ht, tt.total_ttc, tt.total_tva'; + $sql.= ' FROM '.MAIN_DB_PREFIX.$this->table_element_line.' as tt'; + $sql.= ' WHERE tt.'.$this->fk_element.' = '.$id; + + $total_ht = 0; $total_tva = 0; $total_ttc = 0; + + dol_syslog('ExpenseReport::recalculer sql='.$sql,LOG_DEBUG); + + $result = $this->db->query($sql); + if($result): + $num = $this->db->num_rows($result); + $i = 0; + while ($i < $num): + $objp = $this->db->fetch_object($result); + $total_ht+=$objp->total_ht; + $total_tva+=$objp->total_tva; + $i++; + endwhile; + + $total_ttc = $total_ht + $total_tva; + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET"; + $sql.= " total_ht = ".$total_ht; + $sql.= " , total_ttc = ".$total_ttc; + $sql.= " , total_tva = ".$total_tva; + $sql.= " WHERE rowid = ".$id; + $result = $this->db->query($sql); + if($result): + $this->db->free($result); + return 1; + else: + $this->error=$this->db->error(); + dol_syslog('ExpenseReport::recalculer: Error '.$this->error,LOG_ERR); + return -3; + endif; + else: + $this->error=$this->db->error(); + dol_syslog('ExpenseReport::recalculer: Error '.$this->error,LOG_ERR); + return -3; + endif; + } + + function fetch_lines() + { + $sql = ' SELECT de.rowid, de.comments, de.qty, de.value_unit, de.date,'; + $sql.= ' de.'.$this->fk_element.', de.fk_c_type_fees, de.fk_projet, de.fk_c_tva,'; + $sql.= ' de.total_ht, de.total_tva, de.total_ttc,'; + $sql.= ' ctf.code as code_type_fees, ctf.label as libelle_type_fees,'; + $sql.= ' ctv.taux as taux_tva,'; + $sql.= ' p.ref as ref_projet, p.title as title_projet'; + $sql.= ' FROM '.MAIN_DB_PREFIX.$this->table_element_line.' as de'; + $sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_type_fees ctf ON de.fk_c_type_fees = ctf.id'; + $sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_tva ctv ON de.fk_c_tva = ctv.rowid'; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet p ON de.fk_projet = p.rowid'; + $sql.= ' WHERE de.'.$this->fk_element.' = '.$this->id; + + dol_syslog('ExpenseReport::fetch_lines sql='.$sql, LOG_DEBUG); + $result = $this->db->query($sql); + if ($result) + { + $num = $this->db->num_rows($result); + $i = 0; + while ($i < $num) + { + $objp = $this->db->fetch_object($result); + $deplig = new ExpenseReportLigne($this->db); + + $deplig->rowid = $objp->rowid; + $deplig->comments = $objp->comments; + $deplig->qty = $objp->qty; + $deplig->value_unit = $objp->value_unit; + $deplig->date = $objp->date; + + $deplig->fk_expensereport = $objp->fk_expensereport; + $deplig->fk_c_type_fees = $objp->fk_c_type_fees; + $deplig->fk_projet = $objp->fk_projet; + $deplig->fk_c_tva = $objp->fk_c_tva; + + $deplig->total_ht = $objp->total_ht; + $deplig->total_tva = $objp->total_tva; + $deplig->total_ttc = $objp->total_ttc; + + $deplig->type_fees_code = $objp->code_type_fees; + $deplig->type_fees_libelle = $objp->libelle_type_fees; + $deplig->tva_taux = $objp->taux_tva; + $deplig->projet_ref = $objp->ref_projet; + $deplig->projet_title = $objp->title_projet; + + $this->lignes[$i] = $deplig; + $i++; + } + $this->db->free($result); + return 1; + } + else + { + $this->error=$this->db->error(); + dol_syslog('ExpenseReport::fetch_lines: Error '.$this->error,LOG_ERR); + return -3; + } + } + + function delete($rowid=0) + { + global $user,$langs,$conf; + + if (!$rowid) $rowid=$this->id; + + $sql = 'DELETE FROM '.MAIN_DB_PREFIX.$this->table_element_line.' WHERE '.$this->fk_element.' = '.$rowid; + if ($this->db->query($sql)) + { + $sql = 'DELETE FROM '.MAIN_DB_PREFIX.$this->table_element.' WHERE rowid = '.$rowid; + $resql=$this->db->query($sql); + if ($resql) + { + $this->db->commit(); + return 1; + } + else + { + $this->error=$this->db->error()." sql=".$sql; + dol_syslog("ExpenseReport.class::delete ".$this->error, LOG_ERR); + $this->db->rollback(); + return -6; + } + } + else + { + $this->error=$this->db->error()." sql=".$sql; + dol_syslog("ExpenseReport.class::delete ".$this->error, LOG_ERR); + $this->db->rollback(); + return -4; + } + } + + function set_save($user){ + global $conf,$langs; + + $expld_car = (empty($conf->global->NDF_EXPLODE_CHAR))?"-":$conf->global->NDF_EXPLODE_CHAR; + + // Sélection du numéro de ref suivant + $ref_next = $this->getNextNumRef(); + $ref_number_int = ($this->ref_number+1)-1; + + // Sélection de la date de début de la NDF + $sql = 'SELECT date_debut'; + $sql.= ' FROM '.MAIN_DB_PREFIX.$this->table_element; + $sql.= ' WHERE rowid = '.$this->id; + $result = $this->db->query($sql); + $objp = $this->db->fetch_object($result); + $this->date_debut = $objp->date_debut; + $expld_date_debut = explode("-",$this->date_debut); + $this->date_debut = $expld_date_debut[0].$expld_date_debut[1].$expld_date_debut[2]; + + // Création du ref_number suivant + if($ref_next): + $this->ref_number = strtoupper($user->login).$expld_car."NDF".$this->ref_number.$expld_car.$this->date_debut; + endif; + + if ($this->fk_c_expensereport_statuts != 2): + $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; + $sql.= " SET ref_number = '".$this->ref_number."', fk_c_expensereport_statuts = 2"; + $sql.= " ,ref_number_int = $ref_number_int"; + $sql.= ' WHERE rowid = '.$this->id; + + dol_syslog(get_class($this)."::set_save sql=".$sql, LOG_DEBUG); + + if ($this->db->query($sql)): + return 1; + else: + $this->error=$this->db->error(); + return -1; + endif; + + else: + + dol_syslog(get_class($this)."::set_save expensereport already with save status", LOG_WARNING); + + endif; + } + + function set_save_from_refuse($user){ + global $conf,$langs; + + // Sélection de la date de début de la NDF + $sql = 'SELECT date_debut'; + $sql.= ' FROM '.MAIN_DB_PREFIX.$this->table_element; + $sql.= ' WHERE rowid = '.$this->id; + + $result = $this->db->query($sql); + + $objp = $this->db->fetch_object($result); + + $this->date_debut = $objp->date_debut; + $expld_date_debut = explode("-",$this->date_debut); + $this->date_debut = $expld_date_debut[0].$expld_date_debut[1].$expld_date_debut[2]; + + if ($this->fk_c_expensereport_statuts != 2): + $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; + $sql.= " SET fk_c_expensereport_statuts = 2"; + $sql.= ' WHERE rowid = '.$this->id; + + dol_syslog(get_class($this)."::set_save_from_refuse sql=".$sql, LOG_DEBUG); + + if ($this->db->query($sql)): + return 1; + else: + $this->error=$this->db->error(); + return -1; + endif; + + else: + + dol_syslog(get_class($this)."::set_save_from_refuse expensereport already with save status", LOG_WARNING); + + endif; + } + + function set_valide($user){ + // date de validation + $this->date_valide = $this->db->idate(gmmktime()); + if ($this->fk_c_expensereport_statuts != 5): + $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; + $sql.= " SET ref_number = '".$this->ref_number."', fk_c_expensereport_statuts = 5, fk_user_valid = ".$user->id; + $sql.= ', date_valide='.$this->date_valide; + $sql.= ' WHERE rowid = '.$this->id; + + dol_syslog(get_class($this)."::set_valide sql=".$sql, LOG_DEBUG); + + if ($this->db->query($sql)): + return 1; + else: + $this->error=$this->db->error(); + return -1; + endif; + else: + dol_syslog(get_class($this)."::set_valide expensereport already with valide status", LOG_WARNING); + endif; + } + + /** + * Refuse + * + * @param User $user User + * @param Details $details Details + */ + function set_refuse($user,$details) + { + // date de refus + $this->date_refuse = $this->db->idate(gmmktime()); + if ($this->fk_c_expensereport_statuts != 99): + $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; + $sql.= " SET ref_number = '".$this->ref_number."', fk_c_expensereport_statuts = 99, fk_user_refuse = ".$user->id; + $sql.= ', date_refuse='.$this->date_refuse; + $sql.= ", detail_refuse='".addslashes($details)."'"; + $sql.= ' WHERE rowid = '.$this->id; + + dol_syslog(get_class($this)."::set_refuse sql=".$sql, LOG_DEBUG); + + if ($this->db->query($sql)): + return 1; + else: + $this->error=$this->db->error(); + return -1; + endif; + else: + dol_syslog(get_class($this)."::set_refuse expensereport already with refuse status", LOG_WARNING); + endif; + } + + function set_paid($user){ + $this->date_paiement = $this->db->idate(gmmktime()); + if ($this->fk_c_expensereport_statuts != 6): + $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; + $sql.= " SET fk_c_expensereport_statuts = 6, fk_user_paid = ".$user->id; + $sql.= ', date_paiement='.$this->date_paiement; + $sql.= ' WHERE rowid = '.$this->id; + + dol_syslog(get_class($this)."::set_paid sql=".$sql, LOG_DEBUG); + + if ($this->db->query($sql)): + return 1; + else: + $this->error=$this->db->error(); + return -1; + endif; + else: + dol_syslog(get_class($this)."::set_paid expensereport already with paid status", LOG_WARNING); + endif; + } + + function set_unpaid($user) + { + if ($this->fk_c_expensereport_statuts != 5) + { + $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; + $sql.= " SET fk_c_expensereport_statuts = 5"; + $sql.= ' WHERE rowid = '.$this->id; + + dol_syslog(get_class($this)."::set_unpaid sql=".$sql, LOG_DEBUG); + + if ($this->db->query($sql)): + return 1; + else: + $this->error=$this->db->error(); + return -1; + endif; + } + else + { + dol_syslog(get_class($this)."::set_unpaid expensereport already with unpaid status", LOG_WARNING); + } + } + + function set_draft($user) + { + if ($this->fk_c_expensereport_statuts != 1) + { + $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; + $sql.= " SET fk_c_expensereport_statuts = 1,"; + //$sql.= " , ref_number = '(PROV".$this->id.")', ref_number_int = 0"; + $sql.= " ref_number_int = 0"; + $sql.= ' WHERE rowid = '.$this->id; + + dol_syslog(get_class($this)."::set_draft sql=".$sql, LOG_DEBUG); + + if ($this->db->query($sql)) return 1; + else + { + $this->error=$this->db->error(); + return -1; + } + } + else + { + dol_syslog(get_class($this)."::set_draft expensereport already with draft status", LOG_WARNING); + } + } + + function set_to_valide($user) + { + if ($this->fk_c_expensereport_statuts != 2): + $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; + $sql.= " SET fk_c_expensereport_statuts = 2, fk_user_validator = ".$this->fk_user_validator; + $sql.= ' WHERE rowid = '.$this->id; + + dol_syslog(get_class($this)."::set_to_valide sql=".$sql, LOG_DEBUG); + + if ($this->db->query($sql)): + return 1; + else: + $this->error=$this->db->error(); + return -1; + endif; + else: + dol_syslog(get_class($this)."::set_to_valide expensereport already with to-valide status", LOG_WARNING); + endif; + } + + function set_cancel($user,$detail){ + $this->date_cancel = $this->db->idate(gmmktime()); + if ($this->fk_c_expensereport_statuts != 4): + $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; + $sql.= " SET fk_c_expensereport_statuts = 4, fk_user_cancel = ".$user->id; + $sql.= ', date_cancel='.$this->date_cancel; + $sql.= " ,detail_cancel='".addslashes($detail)."'"; + $sql.= ' WHERE rowid = '.$this->id; + + dol_syslog(get_class($this)."::set_cancel sql=".$sql, LOG_DEBUG); + + if ($this->db->query($sql)): + return 1; + else: + $this->error=$this->db->error(); + return -1; + endif; + else: + dol_syslog(get_class($this)."::set_cancel expensereport already with cancel status", LOG_WARNING); + endif; + } + + function getNextNumRef(){ + global $conf; + + $expld_car = (empty($conf->global->NDF_EXPLODE_CHAR))?"-":$conf->global->NDF_EXPLODE_CHAR; + $num_car = (empty($conf->global->NDF_NUM_CAR_REF))?"5":$conf->global->NDF_NUM_CAR_REF; + + $sql = 'SELECT de.ref_number_int'; + $sql.= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' de'; + $sql.= ' ORDER BY de.ref_number_int DESC'; + + $result = $this->db->query($sql); + + if($this->db->num_rows($result) > 0): + $objp = $this->db->fetch_object($result); + $this->ref_number = $objp->ref_number_int; + $this->ref_number++; + while(strlen($this->ref_number) < $num_car): + $this->ref_number = "0".$this->ref_number; + endwhile; + else: + $this->ref_number = 1; + while(strlen($this->ref_number) < $num_car): + $this->ref_number = "0".$this->ref_number; + endwhile; + endif; + + if ($result): + return 1; + else: + $this->error=$this->db->error(); + return -1; + endif; + } + + + /** + * Return clicable name (with picto eventually) + * + * @param int $withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul + * @return string Chaine avec URL + */ + function getNomUrl($withpicto=0) + { + global $langs; + + $result=''; + + $lien = ''; + $lienfin=''; + + $picto='trip'; + + $label=$langs->trans("Show").': '.$this->ref; + + if ($withpicto) $result.=($lien.img_object($label,$picto).$lienfin); + if ($withpicto && $withpicto != 2) $result.=' '; + if ($withpicto != 2) $result.=$lien.$this->ref.$lienfin; + return $result; + } + + + function update_totaux_add($ligne_total_ht,$ligne_total_tva){ + $this->total_ht = $this->total_ht + $ligne_total_ht; + $this->total_tva = $this->total_tva + $ligne_total_tva; + $this->total_ttc = $this->total_ht + $this->total_tva; + + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET"; + $sql.= " total_ht = ".$this->total_ht; + $sql.= " , total_ttc = ".$this->total_ttc; + $sql.= " , total_tva = ".$this->total_tva; + $sql.= " WHERE rowid = ".$this->id; + + $result = $this->db->query($sql); + if ($result): + return 1; + else: + $this->error=$this->db->error(); + return -1; + endif; + } + + function update_totaux_del($ligne_total_ht,$ligne_total_tva){ + $this->total_ht = $this->total_ht - $ligne_total_ht; + $this->total_tva = $this->total_tva - $ligne_total_tva; + $this->total_ttc = $this->total_ht + $this->total_tva; + + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET"; + $sql.= " total_ht = ".$this->total_ht; + $sql.= " , total_ttc = ".$this->total_ttc; + $sql.= " , total_tva = ".$this->total_tva; + $sql.= " WHERE rowid = ".$this->id; + + $result = $this->db->query($sql); + if ($result): + return 1; + else: + $this->error=$this->db->error(); + return -1; + endif; + } + + + + function updateline($rowid, $type_fees_id, $projet_id, $c_tva, $comments, $qty, $value_unit, $date, $expensereport_id) + { + if ($this->fk_c_expensereport_statuts==1 || $this->fk_c_expensereport_statuts==99) + { + $this->db->begin(); + + // Select du taux de tva par rapport au code + $sql = "SELECT t.taux as taux_tva"; + $sql.= " FROM ".MAIN_DB_PREFIX."c_tva t"; + $sql.= " WHERE t.rowid = ".$c_tva; + $result = $this->db->query($sql); + $objp_tva = $this->db->fetch_object($result); + + // calcul de tous les totaux de la ligne + $total_ttc = $qty*$value_unit; + $total_ttc = number_format($total_ttc,2,'.',''); + + $tx_tva = $objp_tva->taux_tva/100; + $tx_tva = $tx_tva + 1; + $total_ht = $total_ttc/$tx_tva; + $total_ht = number_format($total_ht,2,'.',''); + + $total_tva = $total_ttc - $total_ht; + // fin calculs + + $ligne = new ExpenseReportLigne($this->db); + $ligne->comments = $comments; + $ligne->qty = $qty; + $ligne->value_unit = $value_unit; + $ligne->date = $date; + + $ligne->fk_expensereport = $expensereport_id; + $ligne->fk_c_type_fees = $type_fees_id; + $ligne->fk_projet = $projet_id; + $ligne->fk_c_tva = $c_tva; + + $ligne->total_ht = $total_ht; + $ligne->total_tva = $total_tva; + $ligne->total_ttc = $total_ttc; + $ligne->tva_taux = $objp_tva->taux_tva; + $ligne->rowid = $rowid; + + // Select des infos sur le type fees + $sql = "SELECT c.code as code_type_fees, c.label as libelle_type_fees"; + $sql.= " FROM ".MAIN_DB_PREFIX."c_type_fees c"; + $sql.= " WHERE c.id = ".$type_fees_id; + $result = $this->db->query($sql); + $objp_fees = $this->db->fetch_object($result); + $ligne->type_fees_code = $objp_fees->code_type_fees; + $ligne->type_fees_libelle = $objp_fees->libelle_type_fees; + + // Select des informations du projet + $sql = "SELECT p.ref as ref_projet, p.title as title_projet"; + $sql.= " FROM ".MAIN_DB_PREFIX."projet p"; + $sql.= " WHERE p.rowid = ".$projet_id; + $result = $this->db->query($sql); + $objp_projet = $this->db->fetch_object($result); + $ligne->projet_ref = $objp_projet->ref_projet; + $ligne->projet_title = $objp_projet->title_projet; + + $result = $ligne->update(); + if ($result > 0): + $this->db->commit(); + return 1; + else: + $this->error=$ligne->error; + $this->db->rollback(); + return -2; + endif; + + } + } + + /** + * deleteline + * + * @param unknown_type $rowid + * @param unknown_type $user + * @return number + */ + function deleteline($rowid, $user='') + { + $this->db->begin(); + + $sql = 'DELETE FROM '.MAIN_DB_PREFIX.$this->table_element_line; + $sql.= ' WHERE rowid = '.$rowid; + + dol_syslog(get_class($this)."::deleteline sql=".$sql); + $result = $this->db->query($sql); + if (!$result) + { + $this->error=$this->db->error(); + dol_syslog(get_class($this)."::deleteline Error ".$this->error, LOG_ERR); + $this->db->rollback(); + return -1; + } + + $this->db->commit(); + + return 1; + } + + /** + * dumpp + * + * @param unknown_type $value + */ + function dumpp($value) + { + echo '
'; + var_dump("
",$value,"
"); + echo '
'; + } + + /** + * periode_existe + * + * @param unknown_type $user + * @param unknown_type $date_debut + * @param unknown_type $date_fin + */ + function periode_existe($user,$date_debut,$date_fin) + { + $sql = "SELECT rowid,date_debut,date_fin"; + $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element; + $sql.= " WHERE fk_user_author = '{$user->id}'"; + + dol_syslog(get_class($this)."::periode_existe sql=".$sql); + $result = $this->db->query($sql); + if($result): + $num_lignes = $this->db->num_rows($result); $i = 0; + + if($num_lignes>0): + $date_d_form = explode("-",$date_debut); // 1 + $date_f_form = explode("-",$date_fin); // 2 + $date_d_form = mktime(12,0,0,$date_d_form[1],$date_d_form[2],$date_d_form[0]); + $date_f_form = mktime(12,0,0,$date_f_form[1],$date_f_form[2],$date_f_form[0]); + + $existe = false; + + while ($i < $num_lignes): + $objp = $this->db->fetch_object($result); + + $date_d_req = explode("-",$objp->date_debut); // 3 + $date_f_req = explode("-",$objp->date_fin); // 4 + $date_d_req = mktime(12,0,0,$date_d_req[1],$date_d_req[2],$date_d_req[0]); + $date_f_req = mktime(12,0,0,$date_f_req[1],$date_f_req[2],$date_f_req[0]); + + if(!($date_f_form < $date_d_req OR $date_d_form > $date_f_req)) $existe = true; + + $i++; + endwhile; + + if($existe) return 1; + else return 0; + + else: + return 0; + endif; + else: + $this->error=$this->db->error(); + dol_syslog(get_class($this)."::periode_existe Error ".$this->error, LOG_ERR); + return -1; + endif; + } + + + /** + * Return list of people with permission to validate trips and expenses + * + * @return array Array of user ids + */ + function fetch_users_approver_expensereport() + { + $users_validator=array(); + + $sql = "SELECT fk_user"; + $sql.= " FROM ".MAIN_DB_PREFIX."user_rights as ur, ".MAIN_DB_PREFIX."rights_def as rd"; + $sql.= " WHERE ur.fk_id = rd.id and module = 'expensereport' AND perms = 'to_validate'"; // Permission 'Approve'; + + dol_syslog(get_class($this)."::fetch_users_approver_expensereport sql=".$sql); + $result = $this->db->query($sql); + if($result) + { + $num_lignes = $this->db->num_rows($result); $i = 0; + while ($i < $num_lignes) + { + $objp = $this->db->fetch_object($result); + array_push($users_validator,$objp->fk_user); + $i++; + } + return $users_validator; + } + else + { + $this->error=$this->db->lasterror(); + dol_syslog(get_class($this)."::fetch_users_approver_expensereport Error ".$this->error, LOG_ERR); + return -1; + } + } +} + + +/** + * Class of expense report details lines + */ +class ExpenseReportLigne +{ + var $db; + var $error; + + var $rowid; + var $comments; + var $qty; + var $value_unit; + var $date; + + var $fk_c_tva; + var $fk_c_type_fees; + var $fk_projet; + var $fk_expensereport; + + var $type_fees_code; + var $type_fees_libelle; + + var $projet_ref; + var $projet_title; + + var $tva_taux; + + var $total_ht; + var $total_tva; + var $total_ttc; + + + function ExpenseReportLigne($DB) + { + $this->db= $DB ; + } + + function fetch($rowid) + { + $sql = 'SELECT fde.rowid, fde.fk_expensereport, fde.fk_c_type_fees, fde.fk_projet, fde.date,'; + $sql.= ' fde.fk_c_tva, fde.comments, fde.qty, fde.value_unit, fde.total_ht, fde.total_tva, fde.total_ttc,'; + $sql.= ' ctf.code as type_fees_code, ctf.label as type_fees_libelle,'; + $sql.= ' pjt.rowid as projet_id, pjt.title as projet_title, pjt.ref as projet_ref,'; + $sql.= ' tva.rowid as tva_id, tva.taux as tva_taux'; + $sql.= ' FROM '.MAIN_DB_PREFIX.'expensereport_det fde'; + $sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_type_fees ctf ON fde.fk_c_type_fees=ctf.id'; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet pjt ON fde.fk_projet=pjt.rowid'; + $sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_tva tva ON fde.fk_c_tva=tva.rowid'; + $sql.= ' WHERE fde.rowid = '.$rowid; + + $result = $this->db->query($sql); + + if($result) { + $objp = $this->db->fetch_object($result); + + $this->rowid = $objp->rowid; + $this->fk_expensereport = $objp->fk_expensereport; + $this->comments = $objp->comments; + $this->qty = $objp->qty; + $this->date = $objp->date; + $this->value_unit = $objp->value_unit; + $this->fk_c_tva = $objp->fk_c_tva; + $this->fk_c_type_fees = $objp->fk_c_type_fees; + $this->fk_projet = $objp->fk_projet; + $this->type_fees_code = $objp->type_fees_code; + $this->type_fees_libelle = $objp->type_fees_libelle; + $this->projet_ref = $objp->projet_ref; + $this->projet_title = $objp->projet_title; + $this->tva_taux = $objp->tva_taux; + $this->total_ht = $objp->total_ht; + $this->total_tva = $objp->total_tva; + $this->total_ttc = $objp->total_ttc; + + $this->db->free($result); + } else { + dol_print_error($this->db); + } + } + + function insert($notrigger=0) + { + global $langs,$user,$conf; + + dol_syslog("ExpenseReportLigne::Insert rang=".$this->rang, LOG_DEBUG); + + // Clean parameters + $this->comments=trim($this->comments); + if (!$this->value_unit_HT) $this->value_unit_HT=0; + $this->qty = price2num($this->qty); + + $this->db->begin(); + + $sql = 'INSERT INTO '.MAIN_DB_PREFIX.'expensereport_det'; + $sql.= ' (fk_expensereport, fk_c_type_fees, fk_projet,'; + $sql.= ' fk_c_tva, comments, qty, value_unit, total_ht, total_tva, total_ttc, date)'; + $sql.= " VALUES (".$this->fk_expensereport.","; + $sql.= " ".$this->fk_c_type_fees.","; + $sql.= " ".($this->fk_projet>0?$this->fk_projet:'null').","; + $sql.= " ".$this->fk_c_tva.","; + $sql.= " '".$this->db->escape($this->comments)."',"; + $sql.= " ".$this->qty.","; + $sql.= " ".$this->value_unit.","; + $sql.= " ".$this->total_ht.","; + $sql.= " ".$this->total_tva.","; + $sql.= " ".$this->total_ttc.","; + $sql.= "'".$this->date."'"; + $sql.= ")"; + + dol_syslog("ExpenseReportLigne::insert sql=".$sql); + + $resql=$this->db->query($sql); + + if ($resql): + $this->rowid=$this->db->last_insert_id(MAIN_DB_PREFIX.'expensereport_det'); + $this->db->commit(); + return $this->rowid; + else: + $this->error=$this->db->error(); + dol_syslog("ExpenseReportLigne::insert Error ".$this->error, LOG_ERR); + $this->db->rollback(); + return -2; + endif; + } + + function update() + { + global $user,$langs,$conf; + + // Clean parameters + $this->comments=trim($this->comments); + + $this->db->begin(); + + // Mise a jour ligne en base + $sql = "UPDATE ".MAIN_DB_PREFIX."expensereport_det SET"; + $sql.= " comments='".addslashes($this->comments)."'"; + $sql.= ",value_unit=".$this->value_unit.""; + $sql.= ",qty=".$this->qty.""; + if ($this->date) { $sql.= ",date='".$this->date."'"; } + else { $sql.=',date=null'; } + $sql.= ",total_ht=".$this->total_ht.""; + $sql.= ",total_tva=".$this->total_tva.""; + $sql.= ",total_ttc=".$this->total_ttc.""; + if ($this->fk_c_type_fees) $sql.= ",fk_c_type_fees=".$this->fk_c_type_fees; + else $sql.= ",fk_c_type_fees=null"; + if ($this->fk_projet) $sql.= ",fk_projet=".$this->fk_projet; + else $sql.= ",fk_projet=null"; + if ($this->fk_c_tva) $sql.= ",fk_c_tva=".$this->fk_c_tva; + else $sql.= ",fk_c_tva=null"; + $sql.= " WHERE rowid = ".$this->rowid; + + dol_syslog("ExpenseReportLigne::update sql=".$sql); + + $resql=$this->db->query($sql); + if ($resql) + { + $this->db->commit(); + return 1; + } + else + { + $this->error=$this->db->error(); + dol_syslog("ExpenseReportLigne::update Error ".$this->error, LOG_ERR); + $this->db->rollback(); + return -2; + } + } + + function fetch_taux($id){ + $sql = "SELECT taux"; + $sql .= " FROM ".MAIN_DB_PREFIX ."c_tva"; + $sql .= " WHERE rowid = ".$id; + $resql=$this->db->query($sql); + $objp = $this->db->fetch_object($result); + $this->tva_taux = $objp->taux; + } +} + +/** + * Retourne la liste deroulante des differents etats d'une note de frais. + * Les valeurs de la liste sont les id de la table c_expensereport_statuts + * + * @param int $selected etat pre-selectionne + * @param string $htmlname Name of HTML select + * @param int $useempty 1=Add empty line + * @return string HTML select with sattus + */ +function select_expensereport_statut($selected='',$htmlname='fk_c_expensereport_statuts',$useempty=1) +{ + global $db; + + $tmpep=new ExpenseReport($db); + + print ''; +} + +/** + * + * @param unknown_type $selected + * @param unknown_type $filter + * @param unknown_type $htmlname + * + * TODO Utiliser le select project officiel + */ +function select_projet($selected='',$filter='', $htmlname='fk_projet') +{ + global $conf,$user,$langs,$db; + + $out=''; + + $sql = "SELECT p.rowid, p.ref, p.title"; + $sql.= " FROM ".MAIN_DB_PREFIX."projet as p"; + $sql.= " WHERE p.entity = ".$conf->entity; + if (is_numeric($selected)) $sql.= " AND p.rowid = ".$selected; + + dol_syslog("Form::select_projet sql=".$sql); + $resql=$db->query($sql); + if ($resql) + { + if ($conf->use_javascript_ajax && ! $forcecombo) + { + $minLength = (is_numeric($conf->global->COMPANY_USE_SEARCH_TO_SELECT)?$conf->global->COMPANY_USE_SEARCH_TO_SELECT:2); + + $projetid = 0; + + if ($selected) + { + $obj = $db->fetch_object($resql); + $projetid = $obj->rowid?$obj->rowid:''; + } + + $out.= "\n".''."\n"; + $out.= '
'.$langs->trans("batch_number").''.$langs->trans("l_eatby").''.$langs->trans("l_sellby").'
'; print $langs->trans('Month').': '; - print ' '.$langs->trans('Year').': '; - $syear = GETPOST('year')?GETPOST('year'):-1; + if (empty($conf->productbatch->enabled)) print ' '; + else print '
'; + print $langs->trans('Year').': '; + $syear = $year?$year:-1; $formother->select_year($syear,'year',1, 20, 5); print '
'; print ''; print ''; print ''; @@ -522,6 +540,13 @@ if ($resql) $productstatic->type=$objp->type; print $productstatic->getNomUrl(1,'',16); print "'.$objp->batch.''. dol_print_date($objp->eatby,'day') .''. dol_print_date($objp->sellby,'day') .''; $warehousestatic->id=$objp->entrepot_id; From c727e2b8ecb2bfa443de3390fa541a3444341f6d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 12 Feb 2015 15:29:21 +0100 Subject: [PATCH 079/137] Fix bad translation Conflicts: htdocs/product/stock/product.php --- htdocs/langs/en_US/sendings.lang | 8 ++++++-- htdocs/product/stock/product.php | 21 +++++++++++---------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/htdocs/langs/en_US/sendings.lang b/htdocs/langs/en_US/sendings.lang index b3c47889d66..f1489508ec6 100644 --- a/htdocs/langs/en_US/sendings.lang +++ b/htdocs/langs/en_US/sendings.lang @@ -61,8 +61,12 @@ ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is do RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Catch by customer diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php index e9140b4bc3e..06e48bd610a 100644 --- a/htdocs/product/stock/product.php +++ b/htdocs/product/stock/product.php @@ -435,24 +435,25 @@ if ($id > 0 || $ref) if (! empty($conf->commande->enabled)) { if ($found) print '
'; else $found=1; - print $langs->trans("CustomersOrdersRunning").': '.$product->stats_commande['qty']; + print $langs->trans("ProductQtyInCustomersOrdersRunning").': '.$product->stats_commande['qty']; $result=$product->load_stats_commande(0,'0'); if ($result < 0) dol_print_error($db,$product->error); print ' ('.$langs->trans("Draft").': '.$product->stats_commande['qty'].')'; } // Number of product from customer order already sent (partial shipping) - if (! empty($conf->expedition->enabled)) { + if (! empty($conf->expedition->enabled)) + { if ($found) print '
'; else $found=1; $result=$product->load_stats_sending(0,'2'); - print $langs->trans("SendingRunning").': '.$product->stats_expedition['qty']; + print $langs->trans("ProductQtyInShipmentAlreadySent").': '.$product->stats_expedition['qty']; } // Number of supplier order running if (! empty($conf->fournisseur->enabled)) { if ($found) print '
'; else $found=1; $result=$product->load_stats_commande_fournisseur(0,'3,4'); - print $langs->trans("SuppliersOrdersRunning").': '.$product->stats_commande_fournisseur['qty']; + print $langs->trans("ProductQtyInSuppliersOrdersRunning").': '.$product->stats_commande_fournisseur['qty']; $result=$product->load_stats_commande_fournisseur(0,'0,1,2'); if ($result < 0) dol_print_error($db,$product->error); print ' ('.$langs->trans("DraftOrWaitingApproved").': '.$product->stats_commande_fournisseur['qty'].')'; @@ -461,7 +462,7 @@ if ($id > 0 || $ref) // Number of product from supplier order already received (partial receipt) if (! empty($conf->fournisseur->enabled)) { if ($found) print '
'; else $found=1; - print $langs->trans("SuppliersReceiptRunning").': '.$product->stats_reception['qty']; + print $langs->trans("ProductQtyInSuppliersShipmentAlreadyRecevied").': '.$product->stats_reception['qty']; } print '
'.$langs->trans("Warehouse").''; - print $formproduct->selectWarehouses(($_GET["dwid"]?$_GET["dwid"]:GETPOST('id_entrepot')),'id_entrepot','',1); + print $formproduct->selectWarehouses((GETPOST("dwid")?GETPOST("dwid",'int'):(GETPOST('id_entrepot')?GETPOST('id_entrepot','int'):'ifone')),'id_entrepot','',1); print ''; print ''; print ''; - print ''; print ''; if ( (! empty($conf->productbatch->enabled)) && $product->hasbatch()) { print ''; print ''; - print ''; - print ''; + print ''; + print ''; print ''; print ''; } From 206a453ce281f8d5c9f0deeac660d4cda010ef4c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 12 Feb 2015 15:40:06 +0100 Subject: [PATCH 080/137] Solve confusion into number of order or qty into order. --- htdocs/langs/en_US/orders.lang | 2 ++ htdocs/product/stock/product.php | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/htdocs/langs/en_US/orders.lang b/htdocs/langs/en_US/orders.lang index e8c0556d550..27b6cda3a3e 100644 --- a/htdocs/langs/en_US/orders.lang +++ b/htdocs/langs/en_US/orders.lang @@ -50,6 +50,8 @@ StatusOrderRefused=Refused StatusOrderReceivedPartially=Partially received StatusOrderReceivedAll=Everything received ShippingExist=A shipment exists +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Draft or approved not yet ordered DraftOrWaitingShipped=Draft or validated not yet shipped MenuOrdersToBill=Orders delivered diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php index 06e48bd610a..d94c2f994d7 100644 --- a/htdocs/product/stock/product.php +++ b/htdocs/product/stock/product.php @@ -438,7 +438,7 @@ if ($id > 0 || $ref) print $langs->trans("ProductQtyInCustomersOrdersRunning").': '.$product->stats_commande['qty']; $result=$product->load_stats_commande(0,'0'); if ($result < 0) dol_print_error($db,$product->error); - print ' ('.$langs->trans("Draft").': '.$product->stats_commande['qty'].')'; + print ' ('.$langs->trans("ProductQtyInDraft").': '.$product->stats_commande['qty'].')'; } // Number of product from customer order already sent (partial shipping) @@ -456,7 +456,7 @@ if ($id > 0 || $ref) print $langs->trans("ProductQtyInSuppliersOrdersRunning").': '.$product->stats_commande_fournisseur['qty']; $result=$product->load_stats_commande_fournisseur(0,'0,1,2'); if ($result < 0) dol_print_error($db,$product->error); - print ' ('.$langs->trans("DraftOrWaitingApproved").': '.$product->stats_commande_fournisseur['qty'].')'; + print ' ('.$langs->trans("ProductQtyInDraftOrWaitingApproved").': '.$product->stats_commande_fournisseur['qty'].')'; } // Number of product from supplier order already received (partial receipt) From c3bf3c45d764780c23ca0857e55fc4ace22a8b86 Mon Sep 17 00:00:00 2001 From: BENKE Charles Date: Fri, 13 Feb 2015 04:13:32 +0100 Subject: [PATCH 081/137] Update card.php Display amount and link to unpaid bill --- htdocs/comm/card.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/htdocs/comm/card.php b/htdocs/comm/card.php index dc74935ce98..ac9ff663539 100644 --- a/htdocs/comm/card.php +++ b/htdocs/comm/card.php @@ -396,6 +396,10 @@ if ($id > 0) print $form->editfieldkey("OutstandingBill",'OutstandingBill',$object->outstanding_limit,$object,$user->rights->societe->creer); print ''; print ''; } From ebdb96b18cb699f360c773fb87d5b1fe51872c53 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Fri, 13 Feb 2015 06:20:08 +0100 Subject: [PATCH 082/137] FIXED All constants COMPTA_* was renamed in ACCOUNTING_* --- htdocs/accountancy/supplier/list.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/accountancy/supplier/list.php b/htdocs/accountancy/supplier/list.php index a85dd7a17d4..656afbd32cc 100644 --- a/htdocs/accountancy/supplier/list.php +++ b/htdocs/accountancy/supplier/list.php @@ -186,9 +186,9 @@ if ($result) { if (empty($objp->code_buy)) { $code_buy_notset = 'color:red'; if ($objp->type == 1) { - $objp->code_buy = (! empty($conf->global->COMPTA_SERVICE_BUY_ACCOUNT) ? $conf->global->COMPTA_SERVICE_BUY_ACCOUNT : $langs->trans("CodeNotDef")); + $objp->code_buy = (! empty($conf->global->ACCOUNTING_SERVICE_BUY_ACCOUNT) ? $conf->global->ACCOUNTING_SERVICE_BUY_ACCOUNT : $langs->trans("CodeNotDef")); } else { - $objp->code_buy = (! empty($conf->global->COMPTA_PRODUCT_BUY_ACCOUNT) ? $conf->global->COMPTA_PRODUCT_BUY_ACCOUNT : $langs->trans("CodeNotDef")); + $objp->code_buy = (! empty($conf->global->ACCOUNTING_PRODUCT_BUY_ACCOUNT) ? $conf->global->ACCOUNTING_PRODUCT_BUY_ACCOUNT : $langs->trans("CodeNotDef")); } }else { $code_buy_notset = 'color:blue'; From 3d020056e09b6fd6909ca25246a72a928abf845f Mon Sep 17 00:00:00 2001 From: aspangaro Date: Fri, 13 Feb 2015 06:25:21 +0100 Subject: [PATCH 083/137] FIXED Remove old language key --- htdocs/langs/fr_FR/compta.lang | 8 -------- 1 file changed, 8 deletions(-) diff --git a/htdocs/langs/fr_FR/compta.lang b/htdocs/langs/fr_FR/compta.lang index e20b6efae12..6b29fa82fec 100644 --- a/htdocs/langs/fr_FR/compta.lang +++ b/htdocs/langs/fr_FR/compta.lang @@ -204,11 +204,3 @@ ACCOUNTING_ACCOUNT_SUPPLIER=Code comptable par défaut des tiers fournisseurs CloneTax=Cloner une charge sociale ConfirmCloneTax=Confirmer le clonage de la charge sociale CloneTaxForNextMonth=Cloner pour le mois suivant -COMPTA_PRODUCT_BUY_ACCOUNT=Code comptable par défaut pour l'achat de produits -COMPTA_PRODUCT_SOLD_ACCOUNT=Code comptable par défaut pour la vente de produits -COMPTA_SERVICE_BUY_ACCOUNT=Code comptable par défaut pour l'achat de services -COMPTA_SERVICE_SOLD_ACCOUNT=Code comptable par défaut pour la vente de services -COMPTA_VAT_ACCOUNT=Code comptable par défaut pour l'encaissement de TVA -COMPTA_VAT_BUY_ACCOUNT=Code comptable par défaut pour le versement de la TVA -COMPTA_ACCOUNT_CUSTOMER=Code comptable par défaut des tiers clients -COMPTA_ACCOUNT_SUPPLIER=Code comptable par défaut des tiers fournisseurs From 46b1e213b9ba31fe682d458b979b0a21d547d537 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 13 Feb 2015 21:26:43 +0100 Subject: [PATCH 084/137] Sync from transifex --- dev/translation/txpull.sh | 2 +- dev/translation/txpush.sh | 2 +- htdocs/langs/ar_SA/accountancy.lang | 4 +- htdocs/langs/ar_SA/admin.lang | 25 +- htdocs/langs/ar_SA/agenda.lang | 7 +- htdocs/langs/ar_SA/banks.lang | 1 + htdocs/langs/ar_SA/bills.lang | 32 +- htdocs/langs/ar_SA/compta.lang | 1 + htdocs/langs/ar_SA/cron.lang | 4 +- htdocs/langs/ar_SA/ecm.lang | 2 + htdocs/langs/ar_SA/errors.lang | 4 + htdocs/langs/ar_SA/install.lang | 2 + htdocs/langs/ar_SA/languages.lang | 1 + htdocs/langs/ar_SA/main.lang | 5 + htdocs/langs/ar_SA/margins.lang | 1 + htdocs/langs/ar_SA/orders.lang | 16 +- htdocs/langs/ar_SA/productbatch.lang | 11 +- htdocs/langs/ar_SA/products.lang | 27 +- htdocs/langs/ar_SA/projects.lang | 3 +- htdocs/langs/ar_SA/sendings.lang | 17 +- htdocs/langs/ar_SA/stocks.lang | 13 +- htdocs/langs/ar_SA/suppliers.lang | 4 +- htdocs/langs/ar_SA/withdrawals.lang | 2 +- htdocs/langs/ar_SA/workflow.lang | 8 +- htdocs/langs/bg_BG/accountancy.lang | 4 +- htdocs/langs/bg_BG/admin.lang | 25 +- htdocs/langs/bg_BG/agenda.lang | 7 +- htdocs/langs/bg_BG/banks.lang | 1 + htdocs/langs/bg_BG/bills.lang | 32 +- htdocs/langs/bg_BG/compta.lang | 1 + htdocs/langs/bg_BG/cron.lang | 4 +- htdocs/langs/bg_BG/ecm.lang | 2 + htdocs/langs/bg_BG/errors.lang | 4 + htdocs/langs/bg_BG/install.lang | 10 +- htdocs/langs/bg_BG/languages.lang | 1 + htdocs/langs/bg_BG/main.lang | 5 + htdocs/langs/bg_BG/margins.lang | 1 + htdocs/langs/bg_BG/orders.lang | 16 +- htdocs/langs/bg_BG/productbatch.lang | 11 +- htdocs/langs/bg_BG/products.lang | 27 +- htdocs/langs/bg_BG/projects.lang | 3 +- htdocs/langs/bg_BG/sendings.lang | 17 +- htdocs/langs/bg_BG/stocks.lang | 13 +- htdocs/langs/bg_BG/suppliers.lang | 8 +- htdocs/langs/bg_BG/withdrawals.lang | 2 +- htdocs/langs/bg_BG/workflow.lang | 6 +- htdocs/langs/bs_BA/accountancy.lang | 4 +- htdocs/langs/bs_BA/admin.lang | 25 +- htdocs/langs/bs_BA/agenda.lang | 7 +- htdocs/langs/bs_BA/banks.lang | 1 + htdocs/langs/bs_BA/bills.lang | 32 +- htdocs/langs/bs_BA/compta.lang | 1 + htdocs/langs/bs_BA/cron.lang | 4 +- htdocs/langs/bs_BA/ecm.lang | 2 + htdocs/langs/bs_BA/errors.lang | 4 + htdocs/langs/bs_BA/install.lang | 2 + htdocs/langs/bs_BA/languages.lang | 1 + htdocs/langs/bs_BA/main.lang | 5 + htdocs/langs/bs_BA/margins.lang | 1 + htdocs/langs/bs_BA/orders.lang | 16 +- htdocs/langs/bs_BA/productbatch.lang | 11 +- htdocs/langs/bs_BA/products.lang | 27 +- htdocs/langs/bs_BA/projects.lang | 3 +- htdocs/langs/bs_BA/sendings.lang | 17 +- htdocs/langs/bs_BA/stocks.lang | 13 +- htdocs/langs/bs_BA/suppliers.lang | 4 +- htdocs/langs/bs_BA/withdrawals.lang | 2 +- htdocs/langs/bs_BA/workflow.lang | 2 +- htdocs/langs/ca_ES/accountancy.lang | 4 +- htdocs/langs/ca_ES/admin.lang | 25 +- htdocs/langs/ca_ES/agenda.lang | 7 +- htdocs/langs/ca_ES/banks.lang | 1 + htdocs/langs/ca_ES/bills.lang | 32 +- htdocs/langs/ca_ES/compta.lang | 1 + htdocs/langs/ca_ES/cron.lang | 4 +- htdocs/langs/ca_ES/ecm.lang | 2 + htdocs/langs/ca_ES/errors.lang | 4 + htdocs/langs/ca_ES/install.lang | 2 + htdocs/langs/ca_ES/languages.lang | 1 + htdocs/langs/ca_ES/main.lang | 5 + htdocs/langs/ca_ES/margins.lang | 1 + htdocs/langs/ca_ES/orders.lang | 16 +- htdocs/langs/ca_ES/productbatch.lang | 11 +- htdocs/langs/ca_ES/products.lang | 27 +- htdocs/langs/ca_ES/projects.lang | 3 +- htdocs/langs/ca_ES/sendings.lang | 17 +- htdocs/langs/ca_ES/stocks.lang | 13 +- htdocs/langs/ca_ES/suppliers.lang | 4 +- htdocs/langs/ca_ES/withdrawals.lang | 2 +- htdocs/langs/ca_ES/workflow.lang | 6 +- htdocs/langs/cs_CZ/accountancy.lang | 4 +- htdocs/langs/cs_CZ/admin.lang | 25 +- htdocs/langs/cs_CZ/agenda.lang | 7 +- htdocs/langs/cs_CZ/banks.lang | 1 + htdocs/langs/cs_CZ/bills.lang | 32 +- htdocs/langs/cs_CZ/compta.lang | 1 + htdocs/langs/cs_CZ/cron.lang | 4 +- htdocs/langs/cs_CZ/ecm.lang | 2 + htdocs/langs/cs_CZ/errors.lang | 4 + htdocs/langs/cs_CZ/install.lang | 2 + htdocs/langs/cs_CZ/languages.lang | 1 + htdocs/langs/cs_CZ/main.lang | 5 + htdocs/langs/cs_CZ/margins.lang | 1 + htdocs/langs/cs_CZ/orders.lang | 16 +- htdocs/langs/cs_CZ/productbatch.lang | 11 +- htdocs/langs/cs_CZ/products.lang | 27 +- htdocs/langs/cs_CZ/projects.lang | 3 +- htdocs/langs/cs_CZ/sendings.lang | 17 +- htdocs/langs/cs_CZ/stocks.lang | 13 +- htdocs/langs/cs_CZ/suppliers.lang | 4 +- htdocs/langs/cs_CZ/withdrawals.lang | 2 +- htdocs/langs/cs_CZ/workflow.lang | 2 +- htdocs/langs/da_DK/accountancy.lang | 4 +- htdocs/langs/da_DK/admin.lang | 25 +- htdocs/langs/da_DK/agenda.lang | 7 +- htdocs/langs/da_DK/banks.lang | 1 + htdocs/langs/da_DK/bills.lang | 32 +- htdocs/langs/da_DK/compta.lang | 1 + htdocs/langs/da_DK/cron.lang | 4 +- htdocs/langs/da_DK/ecm.lang | 14 +- htdocs/langs/da_DK/errors.lang | 4 + htdocs/langs/da_DK/install.lang | 2 + htdocs/langs/da_DK/languages.lang | 1 + htdocs/langs/da_DK/main.lang | 5 + htdocs/langs/da_DK/margins.lang | 1 + htdocs/langs/da_DK/orders.lang | 16 +- htdocs/langs/da_DK/productbatch.lang | 11 +- htdocs/langs/da_DK/products.lang | 27 +- htdocs/langs/da_DK/projects.lang | 3 +- htdocs/langs/da_DK/sendings.lang | 17 +- htdocs/langs/da_DK/stocks.lang | 13 +- htdocs/langs/da_DK/suppliers.lang | 14 +- htdocs/langs/da_DK/withdrawals.lang | 2 +- htdocs/langs/da_DK/workflow.lang | 8 +- htdocs/langs/de_DE/accountancy.lang | 4 +- htdocs/langs/de_DE/admin.lang | 35 +- htdocs/langs/de_DE/agenda.lang | 9 +- htdocs/langs/de_DE/banks.lang | 1 + htdocs/langs/de_DE/bills.lang | 22 +- htdocs/langs/de_DE/compta.lang | 1 + htdocs/langs/de_DE/cron.lang | 4 +- htdocs/langs/de_DE/deliveries.lang | 2 + htdocs/langs/de_DE/ecm.lang | 2 + htdocs/langs/de_DE/errors.lang | 4 + htdocs/langs/de_DE/install.lang | 2 + htdocs/langs/de_DE/languages.lang | 1 + htdocs/langs/de_DE/main.lang | 9 +- htdocs/langs/de_DE/margins.lang | 1 + htdocs/langs/de_DE/orders.lang | 12 +- htdocs/langs/de_DE/productbatch.lang | 11 +- htdocs/langs/de_DE/products.lang | 27 +- htdocs/langs/de_DE/projects.lang | 7 +- htdocs/langs/de_DE/sendings.lang | 17 +- htdocs/langs/de_DE/stocks.lang | 13 +- htdocs/langs/de_DE/suppliers.lang | 8 +- htdocs/langs/de_DE/withdrawals.lang | 2 +- htdocs/langs/de_DE/workflow.lang | 4 +- htdocs/langs/el_GR/accountancy.lang | 4 +- htdocs/langs/el_GR/admin.lang | 29 +- htdocs/langs/el_GR/agenda.lang | 9 +- htdocs/langs/el_GR/banks.lang | 1 + htdocs/langs/el_GR/bills.lang | 26 +- htdocs/langs/el_GR/compta.lang | 1 + htdocs/langs/el_GR/contracts.lang | 2 +- htdocs/langs/el_GR/cron.lang | 4 +- htdocs/langs/el_GR/ecm.lang | 2 + htdocs/langs/el_GR/errors.lang | 40 +- htdocs/langs/el_GR/install.lang | 2 + htdocs/langs/el_GR/languages.lang | 1 + htdocs/langs/el_GR/main.lang | 5 + htdocs/langs/el_GR/margins.lang | 1 + htdocs/langs/el_GR/orders.lang | 14 +- htdocs/langs/el_GR/productbatch.lang | 11 +- htdocs/langs/el_GR/products.lang | 27 +- htdocs/langs/el_GR/projects.lang | 3 +- htdocs/langs/el_GR/sendings.lang | 13 +- htdocs/langs/el_GR/stocks.lang | 13 +- htdocs/langs/el_GR/suppliers.lang | 4 +- htdocs/langs/el_GR/withdrawals.lang | 2 +- htdocs/langs/el_GR/workflow.lang | 2 +- htdocs/langs/es_ES/accountancy.lang | 4 +- htdocs/langs/es_ES/admin.lang | 21 +- htdocs/langs/es_ES/agenda.lang | 7 +- htdocs/langs/es_ES/banks.lang | 1 + htdocs/langs/es_ES/bills.lang | 22 +- htdocs/langs/es_ES/compta.lang | 1 + htdocs/langs/es_ES/cron.lang | 4 +- htdocs/langs/es_ES/ecm.lang | 2 + htdocs/langs/es_ES/errors.lang | 4 + htdocs/langs/es_ES/install.lang | 2 + htdocs/langs/es_ES/languages.lang | 1 + htdocs/langs/es_ES/main.lang | 5 + htdocs/langs/es_ES/margins.lang | 1 + htdocs/langs/es_ES/orders.lang | 6 +- htdocs/langs/es_ES/productbatch.lang | 11 +- htdocs/langs/es_ES/products.lang | 27 +- htdocs/langs/es_ES/projects.lang | 6 +- htdocs/langs/es_ES/sendings.lang | 17 +- htdocs/langs/es_ES/stocks.lang | 13 +- htdocs/langs/es_ES/suppliers.lang | 2 + htdocs/langs/es_ES/withdrawals.lang | 2 +- htdocs/langs/es_ES/workflow.lang | 2 +- htdocs/langs/et_EE/accountancy.lang | 4 +- htdocs/langs/et_EE/admin.lang | 25 +- htdocs/langs/et_EE/agenda.lang | 7 +- htdocs/langs/et_EE/banks.lang | 1 + htdocs/langs/et_EE/bills.lang | 32 +- htdocs/langs/et_EE/compta.lang | 1 + htdocs/langs/et_EE/cron.lang | 4 +- htdocs/langs/et_EE/ecm.lang | 2 + htdocs/langs/et_EE/errors.lang | 4 + htdocs/langs/et_EE/install.lang | 2 + htdocs/langs/et_EE/languages.lang | 1 + htdocs/langs/et_EE/main.lang | 5 + htdocs/langs/et_EE/margins.lang | 1 + htdocs/langs/et_EE/orders.lang | 16 +- htdocs/langs/et_EE/productbatch.lang | 11 +- htdocs/langs/et_EE/products.lang | 27 +- htdocs/langs/et_EE/projects.lang | 3 +- htdocs/langs/et_EE/sendings.lang | 17 +- htdocs/langs/et_EE/stocks.lang | 13 +- htdocs/langs/et_EE/suppliers.lang | 4 +- htdocs/langs/et_EE/withdrawals.lang | 2 +- htdocs/langs/et_EE/workflow.lang | 2 +- htdocs/langs/eu_ES/accountancy.lang | 4 +- htdocs/langs/eu_ES/admin.lang | 25 +- htdocs/langs/eu_ES/agenda.lang | 7 +- htdocs/langs/eu_ES/banks.lang | 1 + htdocs/langs/eu_ES/bills.lang | 32 +- htdocs/langs/eu_ES/compta.lang | 1 + htdocs/langs/eu_ES/cron.lang | 4 +- htdocs/langs/eu_ES/ecm.lang | 108 +- htdocs/langs/eu_ES/errors.lang | 4 + htdocs/langs/eu_ES/install.lang | 2 + htdocs/langs/eu_ES/languages.lang | 1 + htdocs/langs/eu_ES/main.lang | 5 + htdocs/langs/eu_ES/margins.lang | 1 + htdocs/langs/eu_ES/orders.lang | 16 +- htdocs/langs/eu_ES/productbatch.lang | 11 +- htdocs/langs/eu_ES/products.lang | 27 +- htdocs/langs/eu_ES/projects.lang | 3 +- htdocs/langs/eu_ES/sendings.lang | 17 +- htdocs/langs/eu_ES/stocks.lang | 13 +- htdocs/langs/eu_ES/suppliers.lang | 4 +- htdocs/langs/eu_ES/withdrawals.lang | 2 +- htdocs/langs/eu_ES/workflow.lang | 20 +- htdocs/langs/fa_IR/accountancy.lang | 4 +- htdocs/langs/fa_IR/admin.lang | 25 +- htdocs/langs/fa_IR/agenda.lang | 7 +- htdocs/langs/fa_IR/banks.lang | 1 + htdocs/langs/fa_IR/bills.lang | 32 +- htdocs/langs/fa_IR/compta.lang | 1 + htdocs/langs/fa_IR/cron.lang | 4 +- htdocs/langs/fa_IR/ecm.lang | 6 +- htdocs/langs/fa_IR/errors.lang | 4 + htdocs/langs/fa_IR/install.lang | 70 +- htdocs/langs/fa_IR/languages.lang | 3 +- htdocs/langs/fa_IR/main.lang | 5 + htdocs/langs/fa_IR/margins.lang | 1 + htdocs/langs/fa_IR/orders.lang | 16 +- htdocs/langs/fa_IR/productbatch.lang | 11 +- htdocs/langs/fa_IR/products.lang | 27 +- htdocs/langs/fa_IR/projects.lang | 3 +- htdocs/langs/fa_IR/sendings.lang | 17 +- htdocs/langs/fa_IR/stocks.lang | 13 +- htdocs/langs/fa_IR/suppliers.lang | 4 +- htdocs/langs/fa_IR/withdrawals.lang | 2 +- htdocs/langs/fa_IR/workflow.lang | 2 +- htdocs/langs/fi_FI/accountancy.lang | 4 +- htdocs/langs/fi_FI/admin.lang | 25 +- htdocs/langs/fi_FI/agenda.lang | 7 +- htdocs/langs/fi_FI/banks.lang | 1 + htdocs/langs/fi_FI/bills.lang | 32 +- htdocs/langs/fi_FI/compta.lang | 1 + htdocs/langs/fi_FI/cron.lang | 4 +- htdocs/langs/fi_FI/ecm.lang | 14 +- htdocs/langs/fi_FI/errors.lang | 4 + htdocs/langs/fi_FI/install.lang | 2 + htdocs/langs/fi_FI/languages.lang | 1 + htdocs/langs/fi_FI/main.lang | 5 + htdocs/langs/fi_FI/margins.lang | 1 + htdocs/langs/fi_FI/orders.lang | 16 +- htdocs/langs/fi_FI/productbatch.lang | 11 +- htdocs/langs/fi_FI/products.lang | 27 +- htdocs/langs/fi_FI/projects.lang | 3 +- htdocs/langs/fi_FI/sendings.lang | 17 +- htdocs/langs/fi_FI/stocks.lang | 13 +- htdocs/langs/fi_FI/suppliers.lang | 4 +- htdocs/langs/fi_FI/withdrawals.lang | 2 +- htdocs/langs/fi_FI/workflow.lang | 8 +- htdocs/langs/fr_FR/accountancy.lang | 4 +- htdocs/langs/fr_FR/admin.lang | 23 +- htdocs/langs/fr_FR/agenda.lang | 5 +- htdocs/langs/fr_FR/banks.lang | 7 +- htdocs/langs/fr_FR/bills.lang | 22 +- htdocs/langs/fr_FR/compta.lang | 15 +- htdocs/langs/fr_FR/cron.lang | 4 +- htdocs/langs/fr_FR/ecm.lang | 2 + htdocs/langs/fr_FR/errors.lang | 4 + htdocs/langs/fr_FR/install.lang | 22 +- htdocs/langs/fr_FR/languages.lang | 1 + htdocs/langs/fr_FR/main.lang | 5 + htdocs/langs/fr_FR/margins.lang | 1 + htdocs/langs/fr_FR/orders.lang | 10 +- htdocs/langs/fr_FR/productbatch.lang | 11 +- htdocs/langs/fr_FR/products.lang | 21 +- htdocs/langs/fr_FR/projects.lang | 3 +- htdocs/langs/fr_FR/sendings.lang | 13 +- htdocs/langs/fr_FR/stocks.lang | 11 +- htdocs/langs/fr_FR/suppliers.lang | 2 + htdocs/langs/fr_FR/withdrawals.lang | 2 +- htdocs/langs/fr_FR/workflow.lang | 2 +- htdocs/langs/he_IL/accountancy.lang | 4 +- htdocs/langs/he_IL/admin.lang | 25 +- htdocs/langs/he_IL/agenda.lang | 7 +- htdocs/langs/he_IL/banks.lang | 1 + htdocs/langs/he_IL/bills.lang | 32 +- htdocs/langs/he_IL/compta.lang | 1 + htdocs/langs/he_IL/cron.lang | 4 +- htdocs/langs/he_IL/ecm.lang | 106 +- htdocs/langs/he_IL/errors.lang | 4 + htdocs/langs/he_IL/install.lang | 2 + htdocs/langs/he_IL/languages.lang | 1 + htdocs/langs/he_IL/main.lang | 5 + htdocs/langs/he_IL/margins.lang | 1 + htdocs/langs/he_IL/orders.lang | 16 +- htdocs/langs/he_IL/productbatch.lang | 11 +- htdocs/langs/he_IL/products.lang | 27 +- htdocs/langs/he_IL/projects.lang | 3 +- htdocs/langs/he_IL/sendings.lang | 17 +- htdocs/langs/he_IL/stocks.lang | 13 +- htdocs/langs/he_IL/suppliers.lang | 4 +- htdocs/langs/he_IL/withdrawals.lang | 2 +- htdocs/langs/he_IL/workflow.lang | 20 +- htdocs/langs/hr_HR/accountancy.lang | 4 +- htdocs/langs/hr_HR/admin.lang | 25 +- htdocs/langs/hr_HR/agenda.lang | 7 +- htdocs/langs/hr_HR/banks.lang | 1 + htdocs/langs/hr_HR/bills.lang | 32 +- htdocs/langs/hr_HR/compta.lang | 1 + htdocs/langs/hr_HR/cron.lang | 4 +- htdocs/langs/hr_HR/ecm.lang | 108 +- htdocs/langs/hr_HR/errors.lang | 4 + htdocs/langs/hr_HR/install.lang | 2 + htdocs/langs/hr_HR/languages.lang | 1 + htdocs/langs/hr_HR/main.lang | 5 + htdocs/langs/hr_HR/margins.lang | 1 + htdocs/langs/hr_HR/orders.lang | 16 +- htdocs/langs/hr_HR/productbatch.lang | 11 +- htdocs/langs/hr_HR/products.lang | 27 +- htdocs/langs/hr_HR/projects.lang | 3 +- htdocs/langs/hr_HR/sendings.lang | 17 +- htdocs/langs/hr_HR/stocks.lang | 13 +- htdocs/langs/hr_HR/suppliers.lang | 4 +- htdocs/langs/hr_HR/withdrawals.lang | 2 +- htdocs/langs/hr_HR/workflow.lang | 20 +- htdocs/langs/hu_HU/accountancy.lang | 4 +- htdocs/langs/hu_HU/admin.lang | 25 +- htdocs/langs/hu_HU/agenda.lang | 7 +- htdocs/langs/hu_HU/banks.lang | 1 + htdocs/langs/hu_HU/bills.lang | 32 +- htdocs/langs/hu_HU/compta.lang | 1 + htdocs/langs/hu_HU/cron.lang | 4 +- htdocs/langs/hu_HU/ecm.lang | 14 +- htdocs/langs/hu_HU/errors.lang | 4 + htdocs/langs/hu_HU/install.lang | 2 + htdocs/langs/hu_HU/languages.lang | 1 + htdocs/langs/hu_HU/main.lang | 5 + htdocs/langs/hu_HU/margins.lang | 1 + htdocs/langs/hu_HU/orders.lang | 16 +- htdocs/langs/hu_HU/productbatch.lang | 11 +- htdocs/langs/hu_HU/products.lang | 27 +- htdocs/langs/hu_HU/projects.lang | 3 +- htdocs/langs/hu_HU/sendings.lang | 17 +- htdocs/langs/hu_HU/stocks.lang | 13 +- htdocs/langs/hu_HU/suppliers.lang | 4 +- htdocs/langs/hu_HU/withdrawals.lang | 2 +- htdocs/langs/hu_HU/workflow.lang | 8 +- htdocs/langs/id_ID/accountancy.lang | 4 +- htdocs/langs/id_ID/admin.lang | 25 +- htdocs/langs/id_ID/agenda.lang | 7 +- htdocs/langs/id_ID/banks.lang | 1 + htdocs/langs/id_ID/bills.lang | 32 +- htdocs/langs/id_ID/compta.lang | 1 + htdocs/langs/id_ID/cron.lang | 4 +- htdocs/langs/id_ID/ecm.lang | 108 +- htdocs/langs/id_ID/errors.lang | 4 + htdocs/langs/id_ID/install.lang | 2 + htdocs/langs/id_ID/languages.lang | 1 + htdocs/langs/id_ID/main.lang | 5 + htdocs/langs/id_ID/margins.lang | 1 + htdocs/langs/id_ID/orders.lang | 16 +- htdocs/langs/id_ID/productbatch.lang | 11 +- htdocs/langs/id_ID/products.lang | 27 +- htdocs/langs/id_ID/projects.lang | 3 +- htdocs/langs/id_ID/sendings.lang | 17 +- htdocs/langs/id_ID/stocks.lang | 13 +- htdocs/langs/id_ID/suppliers.lang | 60 +- htdocs/langs/id_ID/withdrawals.lang | 2 +- htdocs/langs/id_ID/workflow.lang | 20 +- htdocs/langs/is_IS/accountancy.lang | 4 +- htdocs/langs/is_IS/admin.lang | 25 +- htdocs/langs/is_IS/agenda.lang | 7 +- htdocs/langs/is_IS/banks.lang | 1 + htdocs/langs/is_IS/bills.lang | 32 +- htdocs/langs/is_IS/compta.lang | 1 + htdocs/langs/is_IS/cron.lang | 4 +- htdocs/langs/is_IS/ecm.lang | 14 +- htdocs/langs/is_IS/errors.lang | 4 + htdocs/langs/is_IS/install.lang | 2 + htdocs/langs/is_IS/languages.lang | 1 + htdocs/langs/is_IS/main.lang | 5 + htdocs/langs/is_IS/margins.lang | 1 + htdocs/langs/is_IS/orders.lang | 16 +- htdocs/langs/is_IS/productbatch.lang | 11 +- htdocs/langs/is_IS/products.lang | 27 +- htdocs/langs/is_IS/projects.lang | 3 +- htdocs/langs/is_IS/sendings.lang | 17 +- htdocs/langs/is_IS/stocks.lang | 13 +- htdocs/langs/is_IS/suppliers.lang | 4 +- htdocs/langs/is_IS/withdrawals.lang | 2 +- htdocs/langs/is_IS/workflow.lang | 8 +- htdocs/langs/it_IT/accountancy.lang | 4 +- htdocs/langs/it_IT/admin.lang | 25 +- htdocs/langs/it_IT/agenda.lang | 7 +- htdocs/langs/it_IT/banks.lang | 1 + htdocs/langs/it_IT/bills.lang | 34 +- htdocs/langs/it_IT/compta.lang | 1 + htdocs/langs/it_IT/cron.lang | 4 +- htdocs/langs/it_IT/ecm.lang | 2 + htdocs/langs/it_IT/errors.lang | 4 + htdocs/langs/it_IT/install.lang | 2 + htdocs/langs/it_IT/languages.lang | 1 + htdocs/langs/it_IT/main.lang | 5 + htdocs/langs/it_IT/margins.lang | 1 + htdocs/langs/it_IT/orders.lang | 16 +- htdocs/langs/it_IT/productbatch.lang | 11 +- htdocs/langs/it_IT/products.lang | 31 +- htdocs/langs/it_IT/projects.lang | 3 +- htdocs/langs/it_IT/sendings.lang | 17 +- htdocs/langs/it_IT/stocks.lang | 13 +- htdocs/langs/it_IT/suppliers.lang | 8 +- htdocs/langs/it_IT/withdrawals.lang | 2 +- htdocs/langs/it_IT/workflow.lang | 2 +- htdocs/langs/ja_JP/accountancy.lang | 4 +- htdocs/langs/ja_JP/admin.lang | 25 +- htdocs/langs/ja_JP/agenda.lang | 7 +- htdocs/langs/ja_JP/banks.lang | 1 + htdocs/langs/ja_JP/bills.lang | 32 +- htdocs/langs/ja_JP/compta.lang | 1 + htdocs/langs/ja_JP/cron.lang | 4 +- htdocs/langs/ja_JP/ecm.lang | 14 +- htdocs/langs/ja_JP/errors.lang | 4 + htdocs/langs/ja_JP/install.lang | 2 + htdocs/langs/ja_JP/languages.lang | 1 + htdocs/langs/ja_JP/main.lang | 5 + htdocs/langs/ja_JP/margins.lang | 1 + htdocs/langs/ja_JP/orders.lang | 16 +- htdocs/langs/ja_JP/productbatch.lang | 11 +- htdocs/langs/ja_JP/products.lang | 27 +- htdocs/langs/ja_JP/projects.lang | 3 +- htdocs/langs/ja_JP/sendings.lang | 17 +- htdocs/langs/ja_JP/stocks.lang | 13 +- htdocs/langs/ja_JP/suppliers.lang | 4 +- htdocs/langs/ja_JP/withdrawals.lang | 2 +- htdocs/langs/ja_JP/workflow.lang | 8 +- htdocs/langs/ka_GE/accountancy.lang | 160 +++ htdocs/langs/ka_GE/admin.lang | 1571 +++++++++++++++++++++++++ htdocs/langs/ka_GE/agenda.lang | 93 ++ htdocs/langs/ka_GE/banks.lang | 161 +++ htdocs/langs/ka_GE/bills.lang | 430 +++++++ htdocs/langs/ka_GE/bookmarks.lang | 19 + htdocs/langs/ka_GE/boxes.lang | 96 ++ htdocs/langs/ka_GE/cashdesk.lang | 40 + htdocs/langs/ka_GE/categories.lang | 112 ++ htdocs/langs/ka_GE/commercial.lang | 96 ++ htdocs/langs/ka_GE/companies.lang | 414 +++++++ htdocs/langs/ka_GE/compta.lang | 207 ++++ htdocs/langs/ka_GE/contracts.lang | 102 ++ htdocs/langs/ka_GE/cron.lang | 86 ++ htdocs/langs/ka_GE/deliveries.lang | 28 + htdocs/langs/ka_GE/dict.lang | 327 +++++ htdocs/langs/ka_GE/donations.lang | 38 + htdocs/langs/ka_GE/ecm.lang | 57 + htdocs/langs/ka_GE/errors.lang | 182 +++ htdocs/langs/ka_GE/exports.lang | 134 +++ htdocs/langs/ka_GE/externalsite.lang | 5 + htdocs/langs/ka_GE/ftp.lang | 12 + htdocs/langs/ka_GE/help.lang | 28 + htdocs/langs/ka_GE/holiday.lang | 148 +++ htdocs/langs/ka_GE/install.lang | 213 ++++ htdocs/langs/ka_GE/interventions.lang | 53 + htdocs/langs/ka_GE/languages.lang | 72 ++ htdocs/langs/ka_GE/ldap.lang | 29 + htdocs/langs/ka_GE/link.lang | 8 + htdocs/langs/ka_GE/mailmanspip.lang | 27 + htdocs/langs/ka_GE/mails.lang | 141 +++ htdocs/langs/ka_GE/main.lang | 719 +++++++++++ htdocs/langs/ka_GE/margins.lang | 45 + htdocs/langs/ka_GE/members.lang | 206 ++++ htdocs/langs/ka_GE/opensurvey.lang | 66 ++ htdocs/langs/ka_GE/orders.lang | 164 +++ htdocs/langs/ka_GE/other.lang | 237 ++++ htdocs/langs/ka_GE/paybox.lang | 40 + htdocs/langs/ka_GE/paypal.lang | 25 + htdocs/langs/ka_GE/printipp.lang | 14 + htdocs/langs/ka_GE/productbatch.lang | 21 + htdocs/langs/ka_GE/products.lang | 252 ++++ htdocs/langs/ka_GE/projects.lang | 135 +++ htdocs/langs/ka_GE/propal.lang | 100 ++ htdocs/langs/ka_GE/resource.lang | 34 + htdocs/langs/ka_GE/salaries.lang | 12 + htdocs/langs/ka_GE/sendings.lang | 85 ++ htdocs/langs/ka_GE/sms.lang | 53 + htdocs/langs/ka_GE/stocks.lang | 132 +++ htdocs/langs/ka_GE/suppliers.lang | 46 + htdocs/langs/ka_GE/trips.lang | 22 + htdocs/langs/ka_GE/users.lang | 122 ++ htdocs/langs/ka_GE/withdrawals.lang | 97 ++ htdocs/langs/ka_GE/workflow.lang | 11 + htdocs/langs/ko_KR/accountancy.lang | 4 +- htdocs/langs/ko_KR/admin.lang | 25 +- htdocs/langs/ko_KR/agenda.lang | 7 +- htdocs/langs/ko_KR/banks.lang | 1 + htdocs/langs/ko_KR/bills.lang | 32 +- htdocs/langs/ko_KR/compta.lang | 1 + htdocs/langs/ko_KR/cron.lang | 4 +- htdocs/langs/ko_KR/ecm.lang | 108 +- htdocs/langs/ko_KR/errors.lang | 4 + htdocs/langs/ko_KR/install.lang | 2 + htdocs/langs/ko_KR/languages.lang | 3 +- htdocs/langs/ko_KR/main.lang | 5 + htdocs/langs/ko_KR/margins.lang | 1 + htdocs/langs/ko_KR/orders.lang | 16 +- htdocs/langs/ko_KR/productbatch.lang | 11 +- htdocs/langs/ko_KR/products.lang | 27 +- htdocs/langs/ko_KR/projects.lang | 3 +- htdocs/langs/ko_KR/sendings.lang | 17 +- htdocs/langs/ko_KR/stocks.lang | 13 +- htdocs/langs/ko_KR/suppliers.lang | 4 +- htdocs/langs/ko_KR/withdrawals.lang | 2 +- htdocs/langs/ko_KR/workflow.lang | 20 +- htdocs/langs/lt_LT/accountancy.lang | 4 +- htdocs/langs/lt_LT/admin.lang | 25 +- htdocs/langs/lt_LT/agenda.lang | 7 +- htdocs/langs/lt_LT/banks.lang | 1 + htdocs/langs/lt_LT/bills.lang | 32 +- htdocs/langs/lt_LT/compta.lang | 1 + htdocs/langs/lt_LT/cron.lang | 4 +- htdocs/langs/lt_LT/ecm.lang | 108 +- htdocs/langs/lt_LT/errors.lang | 4 + htdocs/langs/lt_LT/install.lang | 2 + htdocs/langs/lt_LT/languages.lang | 1 + htdocs/langs/lt_LT/main.lang | 5 + htdocs/langs/lt_LT/margins.lang | 1 + htdocs/langs/lt_LT/orders.lang | 16 +- htdocs/langs/lt_LT/productbatch.lang | 11 +- htdocs/langs/lt_LT/products.lang | 27 +- htdocs/langs/lt_LT/projects.lang | 3 +- htdocs/langs/lt_LT/sendings.lang | 17 +- htdocs/langs/lt_LT/stocks.lang | 13 +- htdocs/langs/lt_LT/suppliers.lang | 4 +- htdocs/langs/lt_LT/withdrawals.lang | 2 +- htdocs/langs/lt_LT/workflow.lang | 2 +- htdocs/langs/lv_LV/accountancy.lang | 4 +- htdocs/langs/lv_LV/admin.lang | 29 +- htdocs/langs/lv_LV/agenda.lang | 7 +- htdocs/langs/lv_LV/banks.lang | 1 + htdocs/langs/lv_LV/bills.lang | 32 +- htdocs/langs/lv_LV/compta.lang | 1 + htdocs/langs/lv_LV/cron.lang | 4 +- htdocs/langs/lv_LV/ecm.lang | 10 +- htdocs/langs/lv_LV/errors.lang | 4 + htdocs/langs/lv_LV/install.lang | 8 +- htdocs/langs/lv_LV/languages.lang | 1 + htdocs/langs/lv_LV/main.lang | 5 + htdocs/langs/lv_LV/margins.lang | 1 + htdocs/langs/lv_LV/orders.lang | 16 +- htdocs/langs/lv_LV/productbatch.lang | 11 +- htdocs/langs/lv_LV/products.lang | 27 +- htdocs/langs/lv_LV/projects.lang | 3 +- htdocs/langs/lv_LV/sendings.lang | 17 +- htdocs/langs/lv_LV/stocks.lang | 13 +- htdocs/langs/lv_LV/suppliers.lang | 8 +- htdocs/langs/lv_LV/withdrawals.lang | 2 +- htdocs/langs/lv_LV/workflow.lang | 2 +- htdocs/langs/mk_MK/accountancy.lang | 4 +- htdocs/langs/mk_MK/admin.lang | 25 +- htdocs/langs/mk_MK/agenda.lang | 7 +- htdocs/langs/mk_MK/banks.lang | 1 + htdocs/langs/mk_MK/bills.lang | 32 +- htdocs/langs/mk_MK/compta.lang | 1 + htdocs/langs/mk_MK/cron.lang | 4 +- htdocs/langs/mk_MK/ecm.lang | 108 +- htdocs/langs/mk_MK/errors.lang | 4 + htdocs/langs/mk_MK/install.lang | 2 + htdocs/langs/mk_MK/languages.lang | 1 + htdocs/langs/mk_MK/main.lang | 5 + htdocs/langs/mk_MK/margins.lang | 1 + htdocs/langs/mk_MK/orders.lang | 16 +- htdocs/langs/mk_MK/productbatch.lang | 11 +- htdocs/langs/mk_MK/products.lang | 27 +- htdocs/langs/mk_MK/projects.lang | 3 +- htdocs/langs/mk_MK/sendings.lang | 17 +- htdocs/langs/mk_MK/stocks.lang | 13 +- htdocs/langs/mk_MK/suppliers.lang | 4 +- htdocs/langs/mk_MK/withdrawals.lang | 2 +- htdocs/langs/mk_MK/workflow.lang | 20 +- htdocs/langs/nb_NO/accountancy.lang | 26 +- htdocs/langs/nb_NO/admin.lang | 57 +- htdocs/langs/nb_NO/agenda.lang | 23 +- htdocs/langs/nb_NO/banks.lang | 23 +- htdocs/langs/nb_NO/bills.lang | 32 +- htdocs/langs/nb_NO/bookmarks.lang | 2 +- htdocs/langs/nb_NO/categories.lang | 2 +- htdocs/langs/nb_NO/companies.lang | 20 +- htdocs/langs/nb_NO/compta.lang | 1 + htdocs/langs/nb_NO/cron.lang | 4 +- htdocs/langs/nb_NO/donations.lang | 2 +- htdocs/langs/nb_NO/ecm.lang | 14 +- htdocs/langs/nb_NO/errors.lang | 8 +- htdocs/langs/nb_NO/install.lang | 6 +- htdocs/langs/nb_NO/interventions.lang | 4 +- htdocs/langs/nb_NO/languages.lang | 7 +- htdocs/langs/nb_NO/main.lang | 33 +- htdocs/langs/nb_NO/margins.lang | 1 + htdocs/langs/nb_NO/members.lang | 6 +- htdocs/langs/nb_NO/orders.lang | 20 +- htdocs/langs/nb_NO/printipp.lang | 22 +- htdocs/langs/nb_NO/productbatch.lang | 11 +- htdocs/langs/nb_NO/products.lang | 27 +- htdocs/langs/nb_NO/projects.lang | 5 +- htdocs/langs/nb_NO/resource.lang | 54 +- htdocs/langs/nb_NO/sendings.lang | 21 +- htdocs/langs/nb_NO/stocks.lang | 13 +- htdocs/langs/nb_NO/suppliers.lang | 6 +- htdocs/langs/nb_NO/users.lang | 16 +- htdocs/langs/nb_NO/withdrawals.lang | 2 +- htdocs/langs/nb_NO/workflow.lang | 8 +- htdocs/langs/nl_NL/accountancy.lang | 4 +- htdocs/langs/nl_NL/admin.lang | 63 +- htdocs/langs/nl_NL/agenda.lang | 7 +- htdocs/langs/nl_NL/banks.lang | 1 + htdocs/langs/nl_NL/bills.lang | 32 +- htdocs/langs/nl_NL/compta.lang | 1 + htdocs/langs/nl_NL/cron.lang | 4 +- htdocs/langs/nl_NL/ecm.lang | 2 + htdocs/langs/nl_NL/errors.lang | 4 + htdocs/langs/nl_NL/install.lang | 2 + htdocs/langs/nl_NL/languages.lang | 1 + htdocs/langs/nl_NL/main.lang | 5 + htdocs/langs/nl_NL/margins.lang | 1 + htdocs/langs/nl_NL/members.lang | 6 +- htdocs/langs/nl_NL/orders.lang | 16 +- htdocs/langs/nl_NL/productbatch.lang | 11 +- htdocs/langs/nl_NL/products.lang | 27 +- htdocs/langs/nl_NL/projects.lang | 3 +- htdocs/langs/nl_NL/sendings.lang | 17 +- htdocs/langs/nl_NL/stocks.lang | 13 +- htdocs/langs/nl_NL/suppliers.lang | 4 +- htdocs/langs/nl_NL/withdrawals.lang | 2 +- htdocs/langs/nl_NL/workflow.lang | 8 +- htdocs/langs/pl_PL/accountancy.lang | 4 +- htdocs/langs/pl_PL/admin.lang | 25 +- htdocs/langs/pl_PL/agenda.lang | 7 +- htdocs/langs/pl_PL/banks.lang | 1 + htdocs/langs/pl_PL/bills.lang | 32 +- htdocs/langs/pl_PL/compta.lang | 1 + htdocs/langs/pl_PL/cron.lang | 4 +- htdocs/langs/pl_PL/ecm.lang | 14 +- htdocs/langs/pl_PL/errors.lang | 4 + htdocs/langs/pl_PL/install.lang | 2 + htdocs/langs/pl_PL/languages.lang | 1 + htdocs/langs/pl_PL/main.lang | 5 + htdocs/langs/pl_PL/margins.lang | 1 + htdocs/langs/pl_PL/orders.lang | 16 +- htdocs/langs/pl_PL/productbatch.lang | 11 +- htdocs/langs/pl_PL/products.lang | 27 +- htdocs/langs/pl_PL/projects.lang | 3 +- htdocs/langs/pl_PL/sendings.lang | 17 +- htdocs/langs/pl_PL/stocks.lang | 13 +- htdocs/langs/pl_PL/suppliers.lang | 4 +- htdocs/langs/pl_PL/withdrawals.lang | 2 +- htdocs/langs/pl_PL/workflow.lang | 8 +- htdocs/langs/pt_PT/accountancy.lang | 4 +- htdocs/langs/pt_PT/admin.lang | 25 +- htdocs/langs/pt_PT/agenda.lang | 7 +- htdocs/langs/pt_PT/banks.lang | 25 +- htdocs/langs/pt_PT/bills.lang | 32 +- htdocs/langs/pt_PT/categories.lang | 18 +- htdocs/langs/pt_PT/compta.lang | 1 + htdocs/langs/pt_PT/cron.lang | 4 +- htdocs/langs/pt_PT/ecm.lang | 2 + htdocs/langs/pt_PT/errors.lang | 4 + htdocs/langs/pt_PT/install.lang | 2 + htdocs/langs/pt_PT/languages.lang | 3 +- htdocs/langs/pt_PT/main.lang | 5 + htdocs/langs/pt_PT/margins.lang | 1 + htdocs/langs/pt_PT/orders.lang | 16 +- htdocs/langs/pt_PT/printipp.lang | 26 +- htdocs/langs/pt_PT/productbatch.lang | 11 +- htdocs/langs/pt_PT/products.lang | 27 +- htdocs/langs/pt_PT/projects.lang | 81 +- htdocs/langs/pt_PT/sendings.lang | 17 +- htdocs/langs/pt_PT/stocks.lang | 13 +- htdocs/langs/pt_PT/suppliers.lang | 4 +- htdocs/langs/pt_PT/withdrawals.lang | 2 +- htdocs/langs/pt_PT/workflow.lang | 2 +- htdocs/langs/ro_RO/accountancy.lang | 4 +- htdocs/langs/ro_RO/admin.lang | 67 +- htdocs/langs/ro_RO/agenda.lang | 53 +- htdocs/langs/ro_RO/banks.lang | 3 +- htdocs/langs/ro_RO/bills.lang | 34 +- htdocs/langs/ro_RO/cashdesk.lang | 4 +- htdocs/langs/ro_RO/categories.lang | 6 +- htdocs/langs/ro_RO/companies.lang | 4 +- htdocs/langs/ro_RO/compta.lang | 5 +- htdocs/langs/ro_RO/contracts.lang | 2 +- htdocs/langs/ro_RO/cron.lang | 4 +- htdocs/langs/ro_RO/ecm.lang | 4 +- htdocs/langs/ro_RO/errors.lang | 10 +- htdocs/langs/ro_RO/install.lang | 2 + htdocs/langs/ro_RO/languages.lang | 1 + htdocs/langs/ro_RO/mails.lang | 2 +- htdocs/langs/ro_RO/main.lang | 23 +- htdocs/langs/ro_RO/margins.lang | 1 + htdocs/langs/ro_RO/members.lang | 6 +- htdocs/langs/ro_RO/orders.lang | 18 +- htdocs/langs/ro_RO/other.lang | 2 +- htdocs/langs/ro_RO/productbatch.lang | 11 +- htdocs/langs/ro_RO/products.lang | 35 +- htdocs/langs/ro_RO/projects.lang | 9 +- htdocs/langs/ro_RO/resource.lang | 4 +- htdocs/langs/ro_RO/sendings.lang | 15 +- htdocs/langs/ro_RO/stocks.lang | 15 +- htdocs/langs/ro_RO/suppliers.lang | 4 +- htdocs/langs/ro_RO/users.lang | 2 +- htdocs/langs/ro_RO/withdrawals.lang | 4 +- htdocs/langs/ro_RO/workflow.lang | 2 +- htdocs/langs/ru_RU/accountancy.lang | 4 +- htdocs/langs/ru_RU/admin.lang | 63 +- htdocs/langs/ru_RU/agenda.lang | 7 +- htdocs/langs/ru_RU/banks.lang | 1 + htdocs/langs/ru_RU/bills.lang | 32 +- htdocs/langs/ru_RU/compta.lang | 1 + htdocs/langs/ru_RU/cron.lang | 4 +- htdocs/langs/ru_RU/ecm.lang | 14 +- htdocs/langs/ru_RU/errors.lang | 4 + htdocs/langs/ru_RU/externalsite.lang | 4 +- htdocs/langs/ru_RU/install.lang | 2 + htdocs/langs/ru_RU/languages.lang | 1 + htdocs/langs/ru_RU/link.lang | 16 +- htdocs/langs/ru_RU/main.lang | 5 + htdocs/langs/ru_RU/margins.lang | 1 + htdocs/langs/ru_RU/orders.lang | 16 +- htdocs/langs/ru_RU/productbatch.lang | 11 +- htdocs/langs/ru_RU/products.lang | 27 +- htdocs/langs/ru_RU/projects.lang | 3 +- htdocs/langs/ru_RU/sendings.lang | 17 +- htdocs/langs/ru_RU/stocks.lang | 13 +- htdocs/langs/ru_RU/suppliers.lang | 4 +- htdocs/langs/ru_RU/users.lang | 32 +- htdocs/langs/ru_RU/withdrawals.lang | 2 +- htdocs/langs/ru_RU/workflow.lang | 2 +- htdocs/langs/sk_SK/accountancy.lang | 4 +- htdocs/langs/sk_SK/admin.lang | 35 +- htdocs/langs/sk_SK/agenda.lang | 21 +- htdocs/langs/sk_SK/banks.lang | 1 + htdocs/langs/sk_SK/bills.lang | 32 +- htdocs/langs/sk_SK/compta.lang | 1 + htdocs/langs/sk_SK/cron.lang | 4 +- htdocs/langs/sk_SK/ecm.lang | 2 + htdocs/langs/sk_SK/errors.lang | 4 + htdocs/langs/sk_SK/install.lang | 2 + htdocs/langs/sk_SK/languages.lang | 1 + htdocs/langs/sk_SK/main.lang | 5 + htdocs/langs/sk_SK/margins.lang | 1 + htdocs/langs/sk_SK/orders.lang | 16 +- htdocs/langs/sk_SK/productbatch.lang | 11 +- htdocs/langs/sk_SK/products.lang | 27 +- htdocs/langs/sk_SK/projects.lang | 3 +- htdocs/langs/sk_SK/sendings.lang | 17 +- htdocs/langs/sk_SK/stocks.lang | 13 +- htdocs/langs/sk_SK/suppliers.lang | 4 +- htdocs/langs/sk_SK/withdrawals.lang | 2 +- htdocs/langs/sk_SK/workflow.lang | 2 +- htdocs/langs/sl_SI/accountancy.lang | 4 +- htdocs/langs/sl_SI/admin.lang | 99 +- htdocs/langs/sl_SI/agenda.lang | 9 +- htdocs/langs/sl_SI/banks.lang | 1 + htdocs/langs/sl_SI/bills.lang | 32 +- htdocs/langs/sl_SI/compta.lang | 1 + htdocs/langs/sl_SI/contracts.lang | 2 +- htdocs/langs/sl_SI/cron.lang | 4 +- htdocs/langs/sl_SI/ecm.lang | 2 + htdocs/langs/sl_SI/errors.lang | 4 + htdocs/langs/sl_SI/install.lang | 2 + htdocs/langs/sl_SI/interventions.lang | 16 +- htdocs/langs/sl_SI/languages.lang | 1 + htdocs/langs/sl_SI/main.lang | 7 +- htdocs/langs/sl_SI/margins.lang | 1 + htdocs/langs/sl_SI/orders.lang | 16 +- htdocs/langs/sl_SI/productbatch.lang | 11 +- htdocs/langs/sl_SI/products.lang | 27 +- htdocs/langs/sl_SI/projects.lang | 3 +- htdocs/langs/sl_SI/sendings.lang | 17 +- htdocs/langs/sl_SI/stocks.lang | 13 +- htdocs/langs/sl_SI/suppliers.lang | 8 +- htdocs/langs/sl_SI/withdrawals.lang | 14 +- htdocs/langs/sl_SI/workflow.lang | 8 +- htdocs/langs/sq_AL/accountancy.lang | 4 +- htdocs/langs/sq_AL/admin.lang | 25 +- htdocs/langs/sq_AL/agenda.lang | 7 +- htdocs/langs/sq_AL/banks.lang | 1 + htdocs/langs/sq_AL/bills.lang | 32 +- htdocs/langs/sq_AL/compta.lang | 1 + htdocs/langs/sq_AL/cron.lang | 4 +- htdocs/langs/sq_AL/ecm.lang | 2 + htdocs/langs/sq_AL/errors.lang | 4 + htdocs/langs/sq_AL/install.lang | 2 + htdocs/langs/sq_AL/languages.lang | 1 + htdocs/langs/sq_AL/main.lang | 5 + htdocs/langs/sq_AL/margins.lang | 1 + htdocs/langs/sq_AL/orders.lang | 16 +- htdocs/langs/sq_AL/productbatch.lang | 11 +- htdocs/langs/sq_AL/products.lang | 27 +- htdocs/langs/sq_AL/projects.lang | 3 +- htdocs/langs/sq_AL/sendings.lang | 17 +- htdocs/langs/sq_AL/stocks.lang | 13 +- htdocs/langs/sq_AL/suppliers.lang | 4 +- htdocs/langs/sq_AL/withdrawals.lang | 2 +- htdocs/langs/sq_AL/workflow.lang | 2 +- htdocs/langs/sv_SE/accountancy.lang | 4 +- htdocs/langs/sv_SE/admin.lang | 25 +- htdocs/langs/sv_SE/agenda.lang | 7 +- htdocs/langs/sv_SE/banks.lang | 1 + htdocs/langs/sv_SE/bills.lang | 32 +- htdocs/langs/sv_SE/compta.lang | 1 + htdocs/langs/sv_SE/cron.lang | 4 +- htdocs/langs/sv_SE/ecm.lang | 2 + htdocs/langs/sv_SE/errors.lang | 4 + htdocs/langs/sv_SE/install.lang | 2 + htdocs/langs/sv_SE/languages.lang | 1 + htdocs/langs/sv_SE/main.lang | 5 + htdocs/langs/sv_SE/margins.lang | 1 + htdocs/langs/sv_SE/orders.lang | 16 +- htdocs/langs/sv_SE/printipp.lang | 24 +- htdocs/langs/sv_SE/productbatch.lang | 39 +- htdocs/langs/sv_SE/products.lang | 27 +- htdocs/langs/sv_SE/projects.lang | 3 +- htdocs/langs/sv_SE/sendings.lang | 17 +- htdocs/langs/sv_SE/stocks.lang | 13 +- htdocs/langs/sv_SE/suppliers.lang | 2 + htdocs/langs/sv_SE/withdrawals.lang | 2 +- htdocs/langs/sv_SE/workflow.lang | 2 +- htdocs/langs/th_TH/accountancy.lang | 4 +- htdocs/langs/th_TH/admin.lang | 25 +- htdocs/langs/th_TH/agenda.lang | 7 +- htdocs/langs/th_TH/banks.lang | 1 + htdocs/langs/th_TH/bills.lang | 32 +- htdocs/langs/th_TH/compta.lang | 1 + htdocs/langs/th_TH/cron.lang | 4 +- htdocs/langs/th_TH/ecm.lang | 2 + htdocs/langs/th_TH/errors.lang | 4 + htdocs/langs/th_TH/install.lang | 2 + htdocs/langs/th_TH/languages.lang | 1 + htdocs/langs/th_TH/main.lang | 5 + htdocs/langs/th_TH/margins.lang | 1 + htdocs/langs/th_TH/orders.lang | 16 +- htdocs/langs/th_TH/productbatch.lang | 11 +- htdocs/langs/th_TH/products.lang | 27 +- htdocs/langs/th_TH/projects.lang | 3 +- htdocs/langs/th_TH/sendings.lang | 17 +- htdocs/langs/th_TH/stocks.lang | 13 +- htdocs/langs/th_TH/suppliers.lang | 4 +- htdocs/langs/th_TH/withdrawals.lang | 2 +- htdocs/langs/th_TH/workflow.lang | 2 +- htdocs/langs/tr_TR/accountancy.lang | 4 +- htdocs/langs/tr_TR/admin.lang | 25 +- htdocs/langs/tr_TR/agenda.lang | 3 +- htdocs/langs/tr_TR/banks.lang | 1 + htdocs/langs/tr_TR/bills.lang | 18 + htdocs/langs/tr_TR/companies.lang | 2 +- htdocs/langs/tr_TR/compta.lang | 1 + htdocs/langs/tr_TR/cron.lang | 4 +- htdocs/langs/tr_TR/ecm.lang | 2 + htdocs/langs/tr_TR/errors.lang | 4 + htdocs/langs/tr_TR/install.lang | 4 +- htdocs/langs/tr_TR/languages.lang | 3 +- htdocs/langs/tr_TR/main.lang | 5 + htdocs/langs/tr_TR/margins.lang | 1 + htdocs/langs/tr_TR/orders.lang | 8 +- htdocs/langs/tr_TR/productbatch.lang | 11 +- htdocs/langs/tr_TR/products.lang | 27 +- htdocs/langs/tr_TR/projects.lang | 3 +- htdocs/langs/tr_TR/sendings.lang | 13 +- htdocs/langs/tr_TR/stocks.lang | 13 +- htdocs/langs/tr_TR/suppliers.lang | 2 + htdocs/langs/tr_TR/withdrawals.lang | 2 +- htdocs/langs/tr_TR/workflow.lang | 4 +- htdocs/langs/uk_UA/accountancy.lang | 4 +- htdocs/langs/uk_UA/admin.lang | 25 +- htdocs/langs/uk_UA/agenda.lang | 7 +- htdocs/langs/uk_UA/banks.lang | 1 + htdocs/langs/uk_UA/bills.lang | 32 +- htdocs/langs/uk_UA/compta.lang | 1 + htdocs/langs/uk_UA/cron.lang | 4 +- htdocs/langs/uk_UA/ecm.lang | 2 + htdocs/langs/uk_UA/errors.lang | 4 + htdocs/langs/uk_UA/install.lang | 2 + htdocs/langs/uk_UA/languages.lang | 11 +- htdocs/langs/uk_UA/main.lang | 5 + htdocs/langs/uk_UA/margins.lang | 1 + htdocs/langs/uk_UA/orders.lang | 16 +- htdocs/langs/uk_UA/productbatch.lang | 11 +- htdocs/langs/uk_UA/products.lang | 27 +- htdocs/langs/uk_UA/projects.lang | 3 +- htdocs/langs/uk_UA/sendings.lang | 17 +- htdocs/langs/uk_UA/stocks.lang | 13 +- htdocs/langs/uk_UA/suppliers.lang | 4 +- htdocs/langs/uk_UA/withdrawals.lang | 2 +- htdocs/langs/uk_UA/workflow.lang | 20 +- htdocs/langs/uz_UZ/admin.lang | 25 +- htdocs/langs/uz_UZ/agenda.lang | 7 +- htdocs/langs/uz_UZ/banks.lang | 1 + htdocs/langs/uz_UZ/bills.lang | 32 +- htdocs/langs/uz_UZ/compta.lang | 1 + htdocs/langs/uz_UZ/cron.lang | 4 +- htdocs/langs/uz_UZ/ecm.lang | 2 + htdocs/langs/uz_UZ/errors.lang | 4 + htdocs/langs/uz_UZ/install.lang | 2 + htdocs/langs/uz_UZ/languages.lang | 1 + htdocs/langs/uz_UZ/main.lang | 5 + htdocs/langs/uz_UZ/margins.lang | 1 + htdocs/langs/uz_UZ/orders.lang | 16 +- htdocs/langs/uz_UZ/products.lang | 27 +- htdocs/langs/uz_UZ/projects.lang | 3 +- htdocs/langs/uz_UZ/sendings.lang | 17 +- htdocs/langs/uz_UZ/stocks.lang | 13 +- htdocs/langs/uz_UZ/suppliers.lang | 4 +- htdocs/langs/uz_UZ/withdrawals.lang | 2 +- htdocs/langs/uz_UZ/workflow.lang | 2 +- htdocs/langs/vi_VN/accountancy.lang | 4 +- htdocs/langs/vi_VN/admin.lang | 25 +- htdocs/langs/vi_VN/agenda.lang | 7 +- htdocs/langs/vi_VN/banks.lang | 1 + htdocs/langs/vi_VN/bills.lang | 32 +- htdocs/langs/vi_VN/compta.lang | 1 + htdocs/langs/vi_VN/cron.lang | 4 +- htdocs/langs/vi_VN/ecm.lang | 2 + htdocs/langs/vi_VN/errors.lang | 4 + htdocs/langs/vi_VN/install.lang | 2 + htdocs/langs/vi_VN/languages.lang | 1 + htdocs/langs/vi_VN/main.lang | 5 + htdocs/langs/vi_VN/margins.lang | 1 + htdocs/langs/vi_VN/orders.lang | 16 +- htdocs/langs/vi_VN/productbatch.lang | 11 +- htdocs/langs/vi_VN/products.lang | 27 +- htdocs/langs/vi_VN/projects.lang | 3 +- htdocs/langs/vi_VN/sendings.lang | 17 +- htdocs/langs/vi_VN/stocks.lang | 13 +- htdocs/langs/vi_VN/suppliers.lang | 2 + htdocs/langs/vi_VN/withdrawals.lang | 2 +- htdocs/langs/vi_VN/workflow.lang | 2 +- htdocs/langs/zh_CN/accountancy.lang | 4 +- htdocs/langs/zh_CN/admin.lang | 25 +- htdocs/langs/zh_CN/agenda.lang | 7 +- htdocs/langs/zh_CN/banks.lang | 1 + htdocs/langs/zh_CN/bills.lang | 32 +- htdocs/langs/zh_CN/compta.lang | 1 + htdocs/langs/zh_CN/cron.lang | 4 +- htdocs/langs/zh_CN/ecm.lang | 2 + htdocs/langs/zh_CN/errors.lang | 4 + htdocs/langs/zh_CN/install.lang | 6 +- htdocs/langs/zh_CN/languages.lang | 1 + htdocs/langs/zh_CN/main.lang | 5 + htdocs/langs/zh_CN/margins.lang | 1 + htdocs/langs/zh_CN/orders.lang | 16 +- htdocs/langs/zh_CN/productbatch.lang | 11 +- htdocs/langs/zh_CN/products.lang | 27 +- htdocs/langs/zh_CN/projects.lang | 3 +- htdocs/langs/zh_CN/sendings.lang | 17 +- htdocs/langs/zh_CN/stocks.lang | 13 +- htdocs/langs/zh_CN/suppliers.lang | 4 +- htdocs/langs/zh_CN/withdrawals.lang | 2 +- htdocs/langs/zh_CN/workflow.lang | 6 +- htdocs/langs/zh_TW/accountancy.lang | 4 +- htdocs/langs/zh_TW/admin.lang | 25 +- htdocs/langs/zh_TW/agenda.lang | 7 +- htdocs/langs/zh_TW/banks.lang | 1 + htdocs/langs/zh_TW/bills.lang | 32 +- htdocs/langs/zh_TW/compta.lang | 1 + htdocs/langs/zh_TW/cron.lang | 4 +- htdocs/langs/zh_TW/ecm.lang | 16 +- htdocs/langs/zh_TW/errors.lang | 4 + htdocs/langs/zh_TW/install.lang | 2 + htdocs/langs/zh_TW/languages.lang | 1 + htdocs/langs/zh_TW/main.lang | 5 + htdocs/langs/zh_TW/margins.lang | 1 + htdocs/langs/zh_TW/orders.lang | 16 +- htdocs/langs/zh_TW/productbatch.lang | 11 +- htdocs/langs/zh_TW/products.lang | 27 +- htdocs/langs/zh_TW/projects.lang | 3 +- htdocs/langs/zh_TW/sendings.lang | 17 +- htdocs/langs/zh_TW/stocks.lang | 13 +- htdocs/langs/zh_TW/suppliers.lang | 4 +- htdocs/langs/zh_TW/withdrawals.lang | 2 +- htdocs/langs/zh_TW/workflow.lang | 8 +- 1008 files changed, 14052 insertions(+), 3563 deletions(-) create mode 100644 htdocs/langs/ka_GE/accountancy.lang create mode 100644 htdocs/langs/ka_GE/admin.lang create mode 100644 htdocs/langs/ka_GE/agenda.lang create mode 100644 htdocs/langs/ka_GE/banks.lang create mode 100644 htdocs/langs/ka_GE/bills.lang create mode 100644 htdocs/langs/ka_GE/bookmarks.lang create mode 100644 htdocs/langs/ka_GE/boxes.lang create mode 100644 htdocs/langs/ka_GE/cashdesk.lang create mode 100644 htdocs/langs/ka_GE/categories.lang create mode 100644 htdocs/langs/ka_GE/commercial.lang create mode 100644 htdocs/langs/ka_GE/companies.lang create mode 100644 htdocs/langs/ka_GE/compta.lang create mode 100644 htdocs/langs/ka_GE/contracts.lang create mode 100644 htdocs/langs/ka_GE/cron.lang create mode 100644 htdocs/langs/ka_GE/deliveries.lang create mode 100644 htdocs/langs/ka_GE/dict.lang create mode 100644 htdocs/langs/ka_GE/donations.lang create mode 100644 htdocs/langs/ka_GE/ecm.lang create mode 100644 htdocs/langs/ka_GE/errors.lang create mode 100644 htdocs/langs/ka_GE/exports.lang create mode 100644 htdocs/langs/ka_GE/externalsite.lang create mode 100644 htdocs/langs/ka_GE/ftp.lang create mode 100644 htdocs/langs/ka_GE/help.lang create mode 100644 htdocs/langs/ka_GE/holiday.lang create mode 100644 htdocs/langs/ka_GE/install.lang create mode 100644 htdocs/langs/ka_GE/interventions.lang create mode 100644 htdocs/langs/ka_GE/languages.lang create mode 100644 htdocs/langs/ka_GE/ldap.lang create mode 100644 htdocs/langs/ka_GE/link.lang create mode 100644 htdocs/langs/ka_GE/mailmanspip.lang create mode 100644 htdocs/langs/ka_GE/mails.lang create mode 100644 htdocs/langs/ka_GE/main.lang create mode 100644 htdocs/langs/ka_GE/margins.lang create mode 100644 htdocs/langs/ka_GE/members.lang create mode 100644 htdocs/langs/ka_GE/opensurvey.lang create mode 100644 htdocs/langs/ka_GE/orders.lang create mode 100644 htdocs/langs/ka_GE/other.lang create mode 100644 htdocs/langs/ka_GE/paybox.lang create mode 100644 htdocs/langs/ka_GE/paypal.lang create mode 100644 htdocs/langs/ka_GE/printipp.lang create mode 100644 htdocs/langs/ka_GE/productbatch.lang create mode 100644 htdocs/langs/ka_GE/products.lang create mode 100644 htdocs/langs/ka_GE/projects.lang create mode 100644 htdocs/langs/ka_GE/propal.lang create mode 100644 htdocs/langs/ka_GE/resource.lang create mode 100644 htdocs/langs/ka_GE/salaries.lang create mode 100644 htdocs/langs/ka_GE/sendings.lang create mode 100644 htdocs/langs/ka_GE/sms.lang create mode 100644 htdocs/langs/ka_GE/stocks.lang create mode 100644 htdocs/langs/ka_GE/suppliers.lang create mode 100644 htdocs/langs/ka_GE/trips.lang create mode 100644 htdocs/langs/ka_GE/users.lang create mode 100644 htdocs/langs/ka_GE/withdrawals.lang create mode 100644 htdocs/langs/ka_GE/workflow.lang diff --git a/dev/translation/txpull.sh b/dev/translation/txpull.sh index 6365aa23637..2e4470111e6 100755 --- a/dev/translation/txpull.sh +++ b/dev/translation/txpull.sh @@ -26,7 +26,7 @@ fi if [ "x$1" = "xall" ] then - for fic in ar_SA bg_BG bs_BA ca_ES cs_CZ da_DK de_DE el_GR es_ES et_EE eu_ES fa_IR fi_FI fr_FR he_IL hr_HR hu_HU id_ID is_IS it_IT ja_JP ko_KR lt_LT lv_LV mk_MK nb_NO nl_NL pl_PL pt_PT ro_RO ru_RU ru_UA sk_SK sl_SI sq_AL sv_SE th_TH tr_TR uk_UA uz_UZ vi_VN zh_CN zh_TW + for fic in ar_SA bg_BG bs_BA ca_ES cs_CZ da_DK de_DE el_GR es_ES et_EE eu_ES fa_IR fi_FI fr_FR he_IL hr_HR hu_HU id_ID is_IS it_IT ja_JP ka_GE ko_KR lt_LT lv_LV mk_MK nb_NO nl_NL pl_PL pt_PT ro_RO ru_RU ru_UA sk_SK sl_SI sq_AL sv_SE th_TH tr_TR uk_UA uz_UZ vi_VN zh_CN zh_TW do echo "tx pull -l $fic $2 $3" tx pull -l $fic $2 $3 diff --git a/dev/translation/txpush.sh b/dev/translation/txpush.sh index 2acc96b1d6f..34ab5c97f5d 100755 --- a/dev/translation/txpush.sh +++ b/dev/translation/txpush.sh @@ -25,7 +25,7 @@ fi if [ "x$1" = "xall" ] then - for fic in ar_SA bg_BG bs_BA ca_ES cs_CZ da_DK de_DE el_GR es_ES et_EE eu_ES fa_IR fi_FI fr_FR he_IL hr_HR hu_HU id_ID is_IS it_IT ja_JP ko_KR lt_LT lv_LV mk_MK nb_NO nl_NL pl_PL pt_PT ro_RO ru_RU ru_UA sk_SK sl_SI sq_AL sv_SE th_TH tr_TR uk_UA uz_UZ vi_VN zh_CN zh_TW + for fic in ar_SA bg_BG bs_BA ca_ES cs_CZ da_DK de_DE el_GR es_ES et_EE eu_ES fa_IR fi_FI fr_FR he_IL hr_HR hu_HU id_ID is_IS it_IT ja_JP ka_GE ko_KR lt_LT lv_LV mk_MK nb_NO nl_NL pl_PL pt_PT ro_RO ru_RU ru_UA sk_SK sl_SI sq_AL sv_SE th_TH tr_TR uk_UA uz_UZ vi_VN zh_CN zh_TW do echo "tx push --skip -t -l $fic $2 $3" tx push --skip -t -l $fic $2 $3 diff --git a/htdocs/langs/ar_SA/accountancy.lang b/htdocs/langs/ar_SA/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/ar_SA/accountancy.lang +++ b/htdocs/langs/ar_SA/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/ar_SA/admin.lang b/htdocs/langs/ar_SA/admin.lang index e5d0499ff88..290a5eb67b5 100644 --- a/htdocs/langs/ar_SA/admin.lang +++ b/htdocs/langs/ar_SA/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=هذا هو الإعداد لهذه العملية : StepNb=الخطوة ق ٪ FindPackageFromWebSite=العثور على الحزمة التي توفر ميزة تريد (على سبيل المثال على موقع الويب ق ٪). -DownloadPackageFromWebSite=التحميل من الموقع حزمة ٪ s. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=تفريغ الملف إلى مجموعة Dolibarr 'sجذور دليل ٪ ق SetupIsReadyForUse=الانتهاء من تركيب وDolibarr على استعداد لاستخدام هذا العنصر الجديد. NotExistsDirect=The alternative root directory is not defined.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Select module: CurrentVersion=Dolibarr النسخة الحالية CallUpdatePage=الذهاب إلى صفحة التحديثات وdatas هيكل قاعدة البيانات : ٪ s. LastStableVersion=آخر نسخة مستقرة +UpdateServerOffline=Update server offline GenericMaskCodes=يمكنك إدخال أي قناع الترقيم. في هذا القناع ، وبعد ويمكن استخدام العلامات :
(000000) يطابق عدد الذي سيكون على كل يزداد ٪ s. كما تدخل العديد من أصفار على النحو المنشود طول المضادة. المضاد وسيتم الانتهاء من اصفار من اليسار من أجل الحصول على أكبر عدد اصفار كما القناع.
000000 +000) (نفس السابقة ولكن يقابل المقابلة لعدد للحق من علامة + يطبق اعتبارا من أول ٪ s.
000000 @ (س) نفس السابقة ولكن المضاد هو إعادة الصفر عندما يتم التوصل إلى الشهر خ خ ما بين 1 و 12). إذا كان هذا الخيار هو المستخدمة وس 2 أو أعلى ، ثم تسلسل (ذ ذ م م)) ((سنة أو ملم)) (مطلوب أيضا.
(ب) اليوم (01 الى 31).
() ملم في الشهر (01 الى 12).
(كذا) ، (سنة)) أو السنة أكثر من 2 أو 4 أو 1 الأرقام.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=جميع الشخصيات الاخرى في قناع سوف تظل سليمة.
المساحات غير مسموح بها.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=تصدير التدخلات Permission71=قراءة الأعضاء Permission72=إنشاء / تعديل أعضاء Permission74=حذف أعضاء -Permission75=إعداد أنواع وسمات أعضاء +Permission75=Setup types of membership Permission76=تصدير datas Permission78=قراءة الاشتراكات Permission79=إنشاء / تعديل والاشتراكات @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=حذف الإرسال Permission111=قراءة الحسابات المالية Permission112=إنشاء / تعديل أو حذف ، وقارن المعاملات -Permission113=إعداد الحسابات financiel (إنشاء وإدارة الفئات) -Permission114=توحيد المعاملات +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=صفقات التصدير وكشوفات الحساب Permission116=التحويلات بين الحسابات Permission117=إدارة ارسال الشيكات @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=الإعداد من sendings عن طريق البريد الإ SendmailOptionNotComplete=تحذير، في بعض أنظمة لينكس، لإرسال البريد الإلكتروني من البريد الإلكتروني الخاص بك، يجب أن تنسخ الإعداد تنفيذ conatins الخيار، على درجة البكالوريوس (mail.force_extra_parameters المعلمة في ملف php.ini الخاص بك). إذا كان بعض المستفيدين لم تلقي رسائل البريد الإلكتروني، في محاولة لتعديل هذه المعلمة PHP مع mail.force_extra_parameters =-BA). PathToDocuments=الطريق إلى وثائق PathDirectory=دليل -SendmailOptionMayHurtBuggedMTA=وميزة لإرسال رسائل باستخدام طريقة "البريد PHP المباشرة" إنشاء رسالة البريد الإلكتروني التي قد لا تحليل بشكل صحيح من قبل بعض ملقمات البريد المتلقي. النتيجة هي أنه لا يمكن أن بعض الرسائل يمكن قراءتها من قبل الناس التي تستضيفها منصات thoose تنصتت. انها الحال بالنسبة لبعض مقدمي خدمات الإنترنت (مثال: البرتقال في فرنسا). هذه ليست مشكلة في Dolibarr ولا في PHP ولكن على استقبال خادم البريد. يمكنك إضافة MAIN_FIX_FOR_BUGGED_MTA لكن الخيار إلى 1 في الإعداد - أخرى لتعديل Dolibarr لتجنب هذا. ومع ذلك، قد تواجه مشكلة مع ملقمات أخرى أن الاحترام الصارم لمعيار SMTP. الحل الآخر (ريكومانديد) هو لاستخدام أسلوب "SMTP مأخذ مكتبة" التي لا يوجد لديه عيوب. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=للمصادقة على النظام بعد اقتر FreeLegalTextOnOrders=بناء على أوامر النص الحر WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=انقر لإعداد وحدة الاتصال الهاتفي ClickToDialUrlDesc=ودعا الموقع عندما تنقر على الهاتف picto ذلك. Dans l' رابط ، vous pouvez utiliser ليه balises
٪ ٪ 1 $ ق qui الأمصال remplacé قدم المساواة جنيه téléphone دي l' appelé
٪ ٪ 2 $ ق qui الأمصال remplacé لو قدم المساواة téléphone دي l' appelant جنيه مصري vôtre)
٪ ٪ ل 3 دولار qui الأمصال remplacé vôtre ادخل clicktodial الفقرة (défini سور vôtre فيشه utilisateur)
٪ ٪ 4 $ ق qui الأمصال remplacé الفقرة vôtre يذكره دي clicktodial عتيق (défini سور vôtre فيشه utilisateur). @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=إعداد وحدة الارسال بالبريد الالكتروني MailingEMailFrom=مرسل البريد الالكتروني (من) لرسائل البريد الإلكتروني التي بعث بها وحدة الإنترنت MailingEMailError=بريد إلكتروني العودة (إلى أخطاء) لرسائل البريد الإلكتروني مع الأخطاء +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=مرسل البريد الالكتروني (من) لإرسال رسائل البريد الإلكتروني لالإخطارات @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=ارسال وحدة الإعداد SendingsReceiptModel=ارسال استلام نموذج SendingsNumberingModules=Sendings ترقيم الوحدات -SendingsAbility=دعم الإرسال صحائف تسليم العميل +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=في معظم الحالات ، تستخدم الإرسال إيصالات سواء صحائف لتسليم العميل (قائمة المنتجات ارسال) ، وصحائف التي وقعت عليها recevied الزبون. حتى المنتج تسليم الإيصالات هي سمة مزدوجة ونادرا ما تفعيلها. -FreeLegalTextOnShippings=حرر النص على shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=تلقي شحنات المنتجات الترقيم وحدة DeliveryOrderModel=تلقي شحنات المنتجات النموذجية @@ -1414,7 +1420,7 @@ AdvancedEditor=متقدمة محرر ActivateFCKeditor=تفعيل FCKeditor ل: FCKeditorForCompany=WYSIWIG إنشاء / الطبعة شركات ووصف المذكرة FCKeditorForProduct=WYSIWIG إنشاء / الطبعة المنتجات / الخدمات ووصف المذكرة -FCKeditorForProductDetails=WYSIWIG إنشاء / الطبعة تفاصيل خطوط المنتجات لجميع الكيانات (المقترحات والأوامر والفواتير ، الخ...)
تحذير : استخدام هذا الخيار بجدية recommanded لأنه لا يمكن أن تخلق مشاكل مع الأحرف الخاصة وبناء صفحة صيغة عندما الشعبي الملفات. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG إنشاء / الطبعة بالبريد FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/ar_SA/agenda.lang b/htdocs/langs/ar_SA/agenda.lang index 0e6094546d3..0f766d6beaa 100644 --- a/htdocs/langs/ar_SA/agenda.lang +++ b/htdocs/langs/ar_SA/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=تم إرسال طلبية العميل %s بواسطة الب InvoiceSentByEMail=تم إرسال فاتروة العميل %s بواسطة البريد الإلكتروني SupplierOrderSentByEMail=تم إرسال طلبية المزود %s بواسطة البريد الإلكتروني SupplierInvoiceSentByEMail=تم إرسال فاتروة المزود%s بواسطة البريد الإلكتروني -ShippingSentByEMail=تم إرسال الشحنة %s بواسطة البريد الإلكتروني -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= تم إنشاء طرف ثالث أو خارجي DateActionPlannedStart= التاريخ المخطط للبدء DateActionPlannedEnd= التاريخ المخطط للإنهاء @@ -68,7 +69,7 @@ DateActionDoneEnd= تاريخ النهاية الفعلية DateActionStart= تاريخ البدء DateActionEnd= تاريخ النهاية AgendaUrlOptions1=يمكنك أيضا إضافة المعايير التالية لترشيح النتائج: -AgendaUrlOptions2=login=login=%s لتقييد الانتاج المنشأ أو الذي تم الإنتهاء منه بواسطة المستخدم %s +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=logint=%s لتقييد الانتاج للإجراءات المناطة للمستخدم %s AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/ar_SA/banks.lang b/htdocs/langs/ar_SA/banks.lang index 08bca1c0b92..4a6dabe894e 100644 --- a/htdocs/langs/ar_SA/banks.lang +++ b/htdocs/langs/ar_SA/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=حساب FinancialAccounts=الحسابات BankAccount=الحساب المصرفي BankAccounts=الحسابات المصرفية +ShowAccount=Show Account AccountRef=الحساب المالي المرجع AccountLabel=الحساب المالي العلامة CashAccount=الحساب النقدي diff --git a/htdocs/langs/ar_SA/bills.lang b/htdocs/langs/ar_SA/bills.lang index 828582f7b39..d0514e828ab 100644 --- a/htdocs/langs/ar_SA/bills.lang +++ b/htdocs/langs/ar_SA/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=فاتورة Bills=فواتير -BillsCustomers=العملاء والفواتير -BillsCustomer=الزبون فاتورة -BillsSuppliers=الموردين -BillsCustomersUnpaid=غير المدفوعة للعملاء الفواتير +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=غير المدفوعة للعملاء فواتير ق ٪ BillsSuppliersUnpaid=غير المدفوعة الموردين BillsSuppliersUnpaidForCompany=مورد غير المسددة لفواتير %s BillsLate=في وقت متأخر المدفوعات -BillsStatistics=العملاء والفواتير والإحصاءات -BillsStatisticsSuppliers=الموردين إحصاءات +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=تعطيل لأنه لا يمكن أن تمحى InvoiceStandard=فاتورة موحدة InvoiceStandardAsk=فاتورة موحدة @@ -348,6 +348,7 @@ ChequeNumber=رقم الشيك ChequeOrTransferNumber=شيك / نقل رقم ChequeMaker=فحص جهاز الإرسال ChequeBank=الشيكات المصرفية +CheckBank=Check NetToBePaid=الصافي للدفع PhoneNumber=الهاتف : FullPhoneNumber=الهاتف @@ -388,7 +389,7 @@ DisabledBecausePayments=غير ممكن لأن هناك بعض المدفوعا CantRemovePaymentWithOneInvoicePaid=تصنيف لا يمكن إزالة الدفع لأنه ليس هناك على الأقل على الفاتورة سيولي ExpectedToPay=من المتوقع الدفع PayedByThisPayment=سيولي هذا الدفع -ClosePaidInvoicesAutomatically=تصنيف "سيولي" كل معيار أو الفواتير استبدال سيولي entirely. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=كل فاتورة مع عدم وجود لا تزال لدفع ستغلق تلقائيا إلى "فياض" الوضع. ToMakePayment=Pay @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=ممثل المورد متا TypeContact_invoice_supplier_external_BILLING=المورد فاتورة الاتصال TypeContact_invoice_supplier_external_SHIPPING=المورد الشحن الاتصال TypeContact_invoice_supplier_external_SERVICE=المورد خدمة الاتصال +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/ar_SA/compta.lang b/htdocs/langs/ar_SA/compta.lang index a086e30b48c..266314ebe98 100644 --- a/htdocs/langs/ar_SA/compta.lang +++ b/htdocs/langs/ar_SA/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=دوران PaymentsNotLinkedToInvoice=المدفوعات ليست مرتبطة بأي الفاتورة ، وذلك ليس مرتبطا بأي طرف ثالث PaymentsNotLinkedToUser=المدفوعات ليست مرتبطة بأي مستخدم Profit=الأرباح +AccountingResult=Accounting result Balance=التوازن Debit=الخصم Credit=الائتمان diff --git a/htdocs/langs/ar_SA/cron.lang b/htdocs/langs/ar_SA/cron.lang index d8af5980ceb..46751a39fdb 100644 --- a/htdocs/langs/ar_SA/cron.lang +++ b/htdocs/langs/ar_SA/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/ar_SA/ecm.lang b/htdocs/langs/ar_SA/ecm.lang index ef82b383d2e..48005676fe2 100644 --- a/htdocs/langs/ar_SA/ecm.lang +++ b/htdocs/langs/ar_SA/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=وثائق مرتبطة بعقود ECMDocsByInvoices=وثائق مرتبطة عملاء الفواتير ECMDocsByProducts=الوثائق المرتبطة بالمنتجات ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=لا الدليل ShowECMSection=وتظهر الدليل DeleteSection=إزالة الدليل diff --git a/htdocs/langs/ar_SA/errors.lang b/htdocs/langs/ar_SA/errors.lang index 670c99a851a..87a2b76ac3d 100644 --- a/htdocs/langs/ar_SA/errors.lang +++ b/htdocs/langs/ar_SA/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=إعداد وحدة يتطلع إلى أن يكون ErrorBadMask=خطأ في قناع ErrorBadMaskFailedToLocatePosOfSequence=خطأ، من دون قناع رقم التسلسل ErrorBadMaskBadRazMonth=خطأ، قيمة إعادة سيئة +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=خطأ. حدد واحد على الأقل دخول. ErrorProductWithRefNotExist=المنتج مع '%s "إشارة لا وجود لها ErrorDeleteNotPossibleLineIsConsolidated=حذف غير ممكن لأنه مرتبط سجل إلى transation البنك الذي يتم التصالح @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/ar_SA/install.lang b/htdocs/langs/ar_SA/install.lang index b1a63938f44..589343ad052 100644 --- a/htdocs/langs/ar_SA/install.lang +++ b/htdocs/langs/ar_SA/install.lang @@ -155,6 +155,7 @@ MigrationFinished=الانتهاء من الهجرة LastStepDesc=الخطوة الأخيرة : تعريف المستخدم وكلمة السر هنا كنت تخطط لاستخدامها للاتصال البرمجيات. لا تفقد هذا كما هو حساب لإدارة جميع الآخرين. ActivateModule=تفعيل وحدة %s ShowEditTechnicalParameters=انقر هنا لعرض/تحرير المعلمات المتقدمة (وضع الخبراء) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=تحديث الوقت الذي يقضيه في ثوان MigrationActioncommElement=تحديث البيانات على الإجراءات MigrationPaymentMode=بيانات الهجرة لطريقة الدفع MigrationCategorieAssociation=تحديث الفئات +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=عرض خيارات غير متوفرة HideNotAvailableOptions=إخفاء خيارات غير متوفرة diff --git a/htdocs/langs/ar_SA/languages.lang b/htdocs/langs/ar_SA/languages.lang index d8e37602e44..45e0f50cdf6 100644 --- a/htdocs/langs/ar_SA/languages.lang +++ b/htdocs/langs/ar_SA/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=الألمانية (النمسا) Language_de_CH=German (Switzerland) Language_el_GR=يوناني Language_en_AU=الإنكليزية (أستراليا) +Language_en_CA=English (Canada) Language_en_GB=الانجليزية (المملكة المتحدة) Language_en_IN=الإنكليزية (الهند) Language_en_NZ=الإنجليزية (نيوزيلندا) diff --git a/htdocs/langs/ar_SA/main.lang b/htdocs/langs/ar_SA/main.lang index 65692d8c64d..64e8da49c42 100644 --- a/htdocs/langs/ar_SA/main.lang +++ b/htdocs/langs/ar_SA/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd/MM/yyyy FormatDateShortJavaInput=dd/MM/yyyy FormatDateShortJQuery=dd/mm/yy FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=خطأ ، وفشلت في انقاذ الملف. SetDate=Set date SelectDate=Select a date SeeAlso=See also %s +SeeHere=See here BackgroundColorByDefault=لون الخلفية الافتراضي FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=مستخدم Users=المستخدمين Group=المجموعة Groups=المجموعات +NoUserGroupDefined=No user group defined Password=كلمة السر PasswordRetype=أعد كتابة كلمة السر NoteSomeFeaturesAreDisabled=علما بأن الكثير من السمات / حدات المعوقين في هذه التظاهرة. @@ -258,6 +261,7 @@ days=أيام Hours=ساعات Minutes=دقائق Seconds=ثانية +Weeks=Weeks Today=اليوم Yesterday=أمس Tomorrow=غدا @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=يوم الاثنين Tuesday=الثلاثاء diff --git a/htdocs/langs/ar_SA/margins.lang b/htdocs/langs/ar_SA/margins.lang index d9ad810fa75..ac4c2201717 100644 --- a/htdocs/langs/ar_SA/margins.lang +++ b/htdocs/langs/ar_SA/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=المنتج أو الخدمة AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/ar_SA/orders.lang b/htdocs/langs/ar_SA/orders.lang index fa265e9fe8e..c3188102774 100644 --- a/htdocs/langs/ar_SA/orders.lang +++ b/htdocs/langs/ar_SA/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=من أجل المورد SuppliersOrders=الموردين أوامر SuppliersOrdersRunning=الحالية الموردين أوامر CustomerOrder=عملاء النظام -CustomersOrders=الزبائن +CustomersOrders=Customers orders CustomersOrdersRunning=الحالية الزبائن CustomersOrdersAndOrdersLines=أوامر العملاء وأوامر خطوط -OrdersToValid=أوامر صالحة -OrdersToBill=أوامر لمشروع قانون -OrdersInProcess=الأوامر في عملية -OrdersToProcess=أوامر لعملية +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=المورد أوامر لمعالجة StatusOrderCanceledShort=ألغى StatusOrderDraftShort=مسودة StatusOrderValidatedShort=صادق StatusOrderSentShort=في عملية StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=على عملية +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=تجهيز StatusOrderToBillShort=على مشروع قانون StatusOrderToBill2Short=على مشروع قانون @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=وتلقى كل شيء StatusOrderCanceled=ألغى StatusOrderDraft=مشروع (لا بد من التحقق من صحة) StatusOrderValidated=صادق -StatusOrderOnProcess=على عملية +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=تجهيز StatusOrderToBill=على مشروع قانون StatusOrderToBill2=على مشروع قانون @@ -50,6 +50,8 @@ StatusOrderRefused=رفض StatusOrderReceivedPartially=تلقى جزئيا StatusOrderReceivedAll=وتلقى كل شيء ShippingExist=شحنة موجود +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=الموافقة على مشروع أو لم يأمر بعد DraftOrWaitingShipped=مشروع مصادق عليه أو لم تشحن MenuOrdersToBill=أوامر لمشروع قانون diff --git a/htdocs/langs/ar_SA/productbatch.lang b/htdocs/langs/ar_SA/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/ar_SA/productbatch.lang +++ b/htdocs/langs/ar_SA/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/ar_SA/products.lang b/htdocs/langs/ar_SA/products.lang index 49d6fff5689..dce6ac36fea 100644 --- a/htdocs/langs/ar_SA/products.lang +++ b/htdocs/langs/ar_SA/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=المحاسبة الرمز (بيع) ProductOrService=المنتج أو الخدمة ProductsAndServices=المنتجات والخدمات ProductsOrServices=منتجات أو خدمات -ProductsAndServicesOnSell=المنتجات والخدمات على بيع -ProductsAndServicesNotOnSell=المنتجات والخدمات من بيع +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=المنتجات والخدمات والإحصاءات ProductsStatistics=المنتجات إحصاءات -ProductsOnSell=بيع المنتجات -ProductsNotOnSell=من بيع المنتجات -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=خدمات البيع -ServicesNotOnSell=من بيع الخدمات -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=إشارة الداخلية LastRecorded=آخر المنتجات والخدمات المسجلة على بيع LastRecordedProductsAndServices=٪ ق الماضي سجلت المنتجات / الخدمات @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/ar_SA/projects.lang b/htdocs/langs/ar_SA/projects.lang index 26d051445c3..8e9925f168a 100644 --- a/htdocs/langs/ar_SA/projects.lang +++ b/htdocs/langs/ar_SA/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=المشروع Projects=المشاريع +ProjectStatus=Project status SharedProject=مشاريع مشتركة PrivateProject=اتصالات من المشروع MyProjectsDesc=ويقتصر هذا الرأي على المشاريع التي تقوم على الاتصال (كل ما هو نوع). @@ -11,7 +12,6 @@ ProjectsDesc=ويعرض هذا الرأي جميع المشاريع (أذونا MyTasksDesc=ويقتصر هذا الرأي على المشروعات أو المهام التي هي الاتصال للحصول على (ما هو نوع). TasksPublicDesc=هذا الرأي يعرض جميع المشاريع والمهام ويسمح لك قراءة. TasksDesc=هذا الرأي يعرض جميع المشاريع والمهام (أذونات المستخدم الخاص أعطى الصلاحية لعرض كل شيء). -Myprojects=بلدي المشاريع ProjectsArea=مشاريع المنطقة NewProject=مشروع جديد AddProject=إنشاء مشروع @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/ar_SA/sendings.lang b/htdocs/langs/ar_SA/sendings.lang index 8821b3f6aca..ef76283c5de 100644 --- a/htdocs/langs/ar_SA/sendings.lang +++ b/htdocs/langs/ar_SA/sendings.lang @@ -4,7 +4,8 @@ Sending=إرسال Sendings=الإرسال Shipment=إرسال Shipments=شحنات -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=منطقة الإرسال ListOfSendings=قائمة الإرسال SendingMethod=طريقة إرسال @@ -14,7 +15,7 @@ SearchASending=البحث المرسلة StatisticsOfSendings=إحصاءات الإرسال NbOfSendings=عدد الإرسال NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=إرسال بطاقة +SendingCard=Shipment card NewSending=ارسال جديدة CreateASending=خلق إرسال CreateSending=خلق إرسال @@ -37,7 +38,7 @@ StatusSendingCanceledShort=ألغيت StatusSendingDraftShort=مسودة StatusSendingValidatedShort=صادق StatusSendingProcessedShort=معالجة -SendingSheet=إرسال ورقة +SendingSheet=Shipment sheet Carriers=شركات الطيران Carrier=الناقل CarriersArea=ناقلات المنطقة @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=الأحداث على شحنة LinkToTrackYourPackage=رابط لتتبع الحزمة الخاصة بك ShipmentCreationIsDoneFromOrder=لحظة، ويتم إنشاء لشحنة جديدة من أجل بطاقة. -RelatedShippings=Related shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=القبض على العملاء diff --git a/htdocs/langs/ar_SA/stocks.lang b/htdocs/langs/ar_SA/stocks.lang index d2157295ec9..9e6ab293234 100644 --- a/htdocs/langs/ar_SA/stocks.lang +++ b/htdocs/langs/ar_SA/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=الواب EnhancedValueOfWarehouses=قيمة المستودعات UserWarehouseAutoCreate=خلق مخزون تلقائيا عند إنشاء مستخدم QtyDispatched=ارسال كمية +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=ارسال الأسهم RuleForStockManagementDecrease=قاعدة لإدارة المخزون النقصان RuleForStockManagementIncrease=قاعدة لإدارة المخزون وزيادة @@ -59,7 +61,7 @@ ReStockOnValidateOrder=زيادة مخزونات حقيقية على استحس ReStockOnDispatchOrder=زيادة مخزونات دليل حقيقي على إيفاد في المستودعات ، وبعد تلقي أمر المورد ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=أمر لم يتم بعد أو لا أكثر من ذلك الوضع الذي يسمح بإرسال من المنتجات في مخازن المخزون. -StockDiffPhysicTeoric=والسبب في الاختلاف المخزون المادي والنظرية +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=لا توجد منتجات محددة سلفا لهذا الكائن. لذلك لا إرسال في المخزون المطلوب. DispatchVerb=إيفاد StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/ar_SA/suppliers.lang b/htdocs/langs/ar_SA/suppliers.lang index 716337242f6..405d15954ba 100644 --- a/htdocs/langs/ar_SA/suppliers.lang +++ b/htdocs/langs/ar_SA/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=الموردين Supplier=المورد -AddSupplier=إضافة مورد +AddSupplier=Create a supplier SupplierRemoved=إزالة المورد SuppliersInvoice=فاتورة الموردين NewSupplier=مورد جديد @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=أو لا شيء دفعة ٪ ق لا يتعارض SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/ar_SA/withdrawals.lang b/htdocs/langs/ar_SA/withdrawals.lang index 5d7a45bbe66..b32f10157fa 100644 --- a/htdocs/langs/ar_SA/withdrawals.lang +++ b/htdocs/langs/ar_SA/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=الائتمان على WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=وتظهر سحب IfInvoiceNeedOnWithdrawPaymentWontBeClosed=ومع ذلك، إذا فاتورة واحدة على الأقل دفع انسحاب لا تتم معالجتها حتى الآن، فإنه لن يكون كما سيولي للسماح لإدارة الانسحاب قبل. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/ar_SA/workflow.lang b/htdocs/langs/ar_SA/workflow.lang index dce8c7a786c..7b8cc45f187 100644 --- a/htdocs/langs/ar_SA/workflow.lang +++ b/htdocs/langs/ar_SA/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=سير العمل وحدة الإعداد -WorkflowDesc=وdesigned هذه الوحدة لتعديل السلوك من الإجراءات التلقائي في التطبيق. افتراضيا، يتم فتح سير العمل (جعل لكم شيء في النظام الذي تريده). يمكنك تمكين الإجراءات التلقائية التي كنت مهتما فيها. +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=لا يوجد سير العمل الذي يمكن تعديل وحدة لكنت قد قمت بتنشيط. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=إنشاء النظام العميل تلقائيا بعد التوقيع على اقتراح تجارية descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=إنشاء فاتورة العميل تلقائيا بعد التوقيع على اقتراح تجارية descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=إنشاء فاتورة العميل تلقائيا بعد التحقق من صحة العقد descWORKFLOW_ORDER_AUTOCREATE_INVOICE=إنشاء فاتورة العميل تلقائيا بعد إغلاق النظام العميل -# descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/bg_BG/accountancy.lang b/htdocs/langs/bg_BG/accountancy.lang index 56ea784ecdf..cf7fa6b6cc9 100644 --- a/htdocs/langs/bg_BG/accountancy.lang +++ b/htdocs/langs/bg_BG/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Разделител CSV (стандарт за разделяне със "," запетя) +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/bg_BG/admin.lang b/htdocs/langs/bg_BG/admin.lang index 0516b22b16e..6b3cc24a468 100644 --- a/htdocs/langs/bg_BG/admin.lang +++ b/htdocs/langs/bg_BG/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Не използвайте на продукшън пла ThisIsProcessToFollow=Това е настройка на процеса: StepNb=Стъпка %s FindPackageFromWebSite=Намери пакет, който осигурява функция искате (например относно официалния уеб сайт %s). -DownloadPackageFromWebSite=Изтегляне на пакет. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Разопаковайте пакет файл в главната директория %s Dolibarr SetupIsReadyForUse=Install е завършен и Dolibarr е готов за използване с този нов компонент. NotExistsDirect=Алтернатива главната директория не е дефинирано.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Изберете модул: CurrentVersion=Текуща версия на Dolibarr CallUpdatePage=Отидете на страницата, която се актуализира структурата на базата данни и презареждане на: %s. LastStableVersion=Последна стабилна версия +UpdateServerOffline=Update server offline GenericMaskCodes=Можете да въведете всяка маска за номериране. В тази маска, могат да се използват следните тагове:
{000000} съответства на номер, който се увеличава на всеки %s. Влез като много нули като желаната дължина на брояча. Броячът ще бъде завършен с нули от ляво, за да има колкото се може повече нули като маска.
{000000 000} същата като предишната, но компенсира, съответстваща на броя на правото на знака + се прилага започва на първи %s.
{000000 @} същата като предишната, но броячът се нулира, когато месеца Х е достигнал (Х между 1 и 12, или 0, за да използвате началото на месеца на фискалната година, определени в вашата конфигурация). Ако тази опция се използва и х е 2 или по-висока, тогава последователност {гг} {mm} или {гггг} {mm} също е задължително.
{DD} ден (01 до 31).
{Mm} месец (01 до 12).
{Гг} {гггг} или {Y} година над 2, 4 или 1 брой.
GenericMaskCodes2={cccc} клиентския код в знака n
{cccc000}клиентския код в знак n се следва от брояч предназначен за клиента. Този брояч предназначен за клиента се нулира в същото време в което и глобалния брояч.
{tttt} Кодът на типа трети страни в знака n (погледнете речник-типове трети страни).
GenericMaskCodes3=Всички други символи на маската ще останат непокътнати.
Интервалите не са разрешени.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Радио бутон +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Износ интервенции Permission71=Прочети членове Permission72=Създаване / промяна на членове Permission74=Изтриване на членовете -Permission75=Настройка вида и атрибути за членовете +Permission75=Setup types of membership Permission76=Export презареждане Permission78=Прочети абонаменти Permission79=Създаване/промяна на абонаменти @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Изтриване sendings Permission111=Финансови сметки Permission112=Създаване / редакция / изтриване и сравни сделки -Permission113=Настройка financiel сметки (да създават, управляват категории) -Permission114=Консолидиране на сделки +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Експортни сделки и извлеченията от сметките Permission116=Трансфери между сметки Permission117=Управление на проверки за експедиция @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Настройка на изпращане по имейл SendmailOptionNotComplete=Внимание, на някои системи Linux, за да изпратите имейл от електронната си поща, Sendmail изпълнение настройка трябва conatins опция-ба (параметър mail.force_extra_parameters във вашия php.ini файл). Ако някои получатели никога не получават имейли, опитайте се да редактирате тази PHP параметър с mail.force_extra_parameters = ба). PathToDocuments=Път до документи PathDirectory=Директория -SendmailOptionMayHurtBuggedMTA=Функция за да изпращате съобщения, използвайки метод "PHP поща директно" ще генерира имейл съобщение, което може да не бъдат правилно анализирани от някои сървъри за електронна поща. Резултатът е, че някои писма не може да се чете от хора, хоствани от thoose Bugged платформи. Това е случай за някои интернет доставчици (Ex: Orange във Франция). Това не е проблем в Dolibarr нито в PHP, но върху получаване на електронна поща сървър. Можете обаче да добавите MAIN_FIX_FOR_BUGGED_MTA опция 1 в инсталационния процес - друг, за да се промени Dolibarr да се избегне това. Въпреки това, може да се появи проблем с други сървъри, които спазват строго стандартни SMTP. Друго решение (recommanded) е да се използва метода "SMTP гнездо библиотека", която все още няма недостатъци. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Конфигурация на превода TranslationDesc=Езика на интерфейса може да бъде променен:
* Глобално от менюто Начало - Настройки - Екран
* Само за потребителя от таба Изглед в картата на потребителя (кликнете върху потребителското име в горната част на екрана). TotalNumberOfActivatedModules=Общия брой на активираните модули е: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Да се ​​потвърди ред след п FreeLegalTextOnOrders=Свободен текст на поръчки WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Кликнете, за да наберете настройка модул ClickToDialUrlDesc=Адреса нарича, когато се извършва едно кликване на телефона пиктограма. URL, можете да използвате маркери
__PHONETO__, Които ще бъдат заменени с телефонния номер на лицето, да се обадите
__PHONEFROM__, Че ще бъде заменен с телефонния номер на повикващата лице (твое)
__LOGIN__, Които ще бъдат заменени с clicktodial вход (определено на вашето потребителско карта)
__PASS__, Които ще бъдат заменени с clicktodial вашата парола (определено на вашето потребителско карта). @@ -1392,6 +1397,7 @@ RSSUrlExample=Интересна RSS емисия MailingSetup=Настройка на модул Имейли MailingEMailFrom=Изпращач (От) за имейли, изпратени от модула за електронна поща MailingEMailError=Върнете имейл (грешки) за имейли с грешки +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Изпращач (От) за имейли, изпратени за уведомления @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Изпращане модул за настройка SendingsReceiptModel=Изпращане получаване модел SendingsNumberingModules=Sendings номериране модули -SendingsAbility=Подкрепа sendings листове за доставки на клиентите +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=В повечето случаи, sendings постъпления се използват както за листа за клиентите доставки (списък на продукти за изпращане) и листове, че е recevied и подписан от клиента. Така че продукти доставки постъпления е дублирана функция и рядко се активира. -FreeLegalTextOnShippings=Свободен текст на shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Продукти доставки получаване номерацията модул DeliveryOrderModel=Продукти доставки получаване модел @@ -1414,7 +1420,7 @@ AdvancedEditor=Разширено редактор ActivateFCKeditor=Активирайте разширен редактор за: FCKeditorForCompany=WYSIWIG създаване / редактиране на елементи на описание и бележка (с изключение на продукти / услуги) FCKeditorForProduct=WYSIWIG създаване / редактиране на продукти / услуги описание и бележка -FCKeditorForProductDetails=WYSIWIG създаване / редактиране на линии продукти подробности за всички предприятия (предложения, поръчки, фактури и др.) Внимание: Използването на тази опция за този случай сериозно не се recommanded, тъй като това може да създаде проблеми със специални символи и оформление на страница при изграждането на PDF файлове. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG създаване / редактиране на писма FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/bg_BG/agenda.lang b/htdocs/langs/bg_BG/agenda.lang index 6affd27cc53..803c9a2ba95 100644 --- a/htdocs/langs/bg_BG/agenda.lang +++ b/htdocs/langs/bg_BG/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=, Изпратени по електронната поща %s InvoiceSentByEMail=, Изпратени по електронната поща %s клиенти фактура SupplierOrderSentByEMail=%s доставчик реда, изпратени по електронната поща SupplierInvoiceSentByEMail=, Изпратени по електронната поща %s доставчик фактура -ShippingSentByEMail=Доставка %s изпращат по електронна поща -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Създадено от трета страна DateActionPlannedStart= Планирана начална дата DateActionPlannedEnd= Планирана крайна дата @@ -68,7 +69,7 @@ DateActionDoneEnd= Реална крайна дата DateActionStart= Начална дата DateActionEnd= Крайна дата AgendaUrlOptions1=Можете да добавите и следните параметри, за да филтрирате изход: -AgendaUrlOptions2=вход = %s да ограничи изход към действия, създадени от засегнати или направено от потребителя %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint = %s да се ограничи производството на действията, засегнати на потребителските %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/bg_BG/banks.lang b/htdocs/langs/bg_BG/banks.lang index 5d94155e07f..ffd304d841c 100644 --- a/htdocs/langs/bg_BG/banks.lang +++ b/htdocs/langs/bg_BG/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Сметка FinancialAccounts=Сметки BankAccount=Банкова сметка BankAccounts=Банкови сметки +ShowAccount=Show Account AccountRef=Финансова сметка реф. AccountLabel=Финансова сметка етикет CashAccount=Сметка в брой diff --git a/htdocs/langs/bg_BG/bills.lang b/htdocs/langs/bg_BG/bills.lang index 35f5d89a4cd..8e51c4cf697 100644 --- a/htdocs/langs/bg_BG/bills.lang +++ b/htdocs/langs/bg_BG/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Фактура Bills=Фактури -BillsCustomers=Клиента фактури -BillsCustomer=Клиента фактура -BillsSuppliers=Доставчик фактури -BillsCustomersUnpaid=Неплатен клиента фактури +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Неплатен клиента фактури за %s BillsSuppliersUnpaid=Неплатен доставчика фактури BillsSuppliersUnpaidForCompany=Неплатен доставчика фактури за %s BillsLate=Забавянето на плащанията -BillsStatistics=Клиента фактури статистика -BillsStatisticsSuppliers=Доставчик фактури статистика +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Хора с увреждания, тъй като не могат да бъдат изтрити InvoiceStandard=Standard фактура InvoiceStandardAsk=Standard фактура @@ -348,6 +348,7 @@ ChequeNumber=Проверете N ° ChequeOrTransferNumber=Проверете / Трансфер N ° ChequeMaker=Проверете предавател ChequeBank=Банка на чек +CheckBank=Check NetToBePaid=Net да бъдат платени PhoneNumber=Тел FullPhoneNumber=Телефон @@ -388,7 +389,7 @@ DisabledBecausePayments=Не е възможно, тъй като има няк CantRemovePaymentWithOneInvoicePaid=Не може да се премахне плащането, тъй като има най-малко една фактура, класифицирани плаща ExpectedToPay=Очаквано плащане PayedByThisPayment=Плаща от това плащане -ClosePaidInvoicesAutomatically=Класифицира "ЗАПЛАЩАТ" стандартно или заместващи фактури entirely ЗАПЛАЩАТ. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=Всички фактура не остават да плати, ще бъде затворено автоматично статус "Платени". ToMakePayment=Pay @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Представител пр TypeContact_invoice_supplier_external_BILLING=Свържи се с доставчика фактура TypeContact_invoice_supplier_external_SHIPPING=Свържи се с доставчика корабоплаване TypeContact_invoice_supplier_external_SERVICE=Свържи се с доставчика на услуги +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/bg_BG/compta.lang b/htdocs/langs/bg_BG/compta.lang index 0830bcfd2d3..64930c64da3 100644 --- a/htdocs/langs/bg_BG/compta.lang +++ b/htdocs/langs/bg_BG/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Оборот PaymentsNotLinkedToInvoice=Плащания, които не са свързани с всяка фактура, така че не свързани с която и да е трета страна PaymentsNotLinkedToUser=Плащанията, които не са свързани с който и да е потребител Profit=Печалба +AccountingResult=Accounting result Balance=Баланс Debit=Дебит Credit=Кредит diff --git a/htdocs/langs/bg_BG/cron.lang b/htdocs/langs/bg_BG/cron.lang index ac2ba5edc0a..47c14375e46 100644 --- a/htdocs/langs/bg_BG/cron.lang +++ b/htdocs/langs/bg_BG/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/bg_BG/ecm.lang b/htdocs/langs/bg_BG/ecm.lang index c56a639738a..47143f6cc38 100644 --- a/htdocs/langs/bg_BG/ecm.lang +++ b/htdocs/langs/bg_BG/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Документи, свързани с договори ECMDocsByInvoices=Документи, свързани с клиентите фактури ECMDocsByProducts=Документи, свързани с продуктите ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=Не е създадена директория ShowECMSection=Покажи директория DeleteSection=Изтриване на директория diff --git a/htdocs/langs/bg_BG/errors.lang b/htdocs/langs/bg_BG/errors.lang index f75d1b490b1..0db0a31c373 100644 --- a/htdocs/langs/bg_BG/errors.lang +++ b/htdocs/langs/bg_BG/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Настройка на модула изглежд ErrorBadMask=Грешка на маска ErrorBadMaskFailedToLocatePosOfSequence=Грешка, маска без поредния номер ErrorBadMaskBadRazMonth=Грешка, неправилна стойност за нулиране +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Грешка. Изберете поне един запис. ErrorProductWithRefNotExist=Каталог с "%s" модели не съществуват ErrorDeleteNotPossibleLineIsConsolidated=Ненужното не е възможно, тъй като записът е свързана с банкова transation, че е conciliated @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Задължителни параметри на настройката все още не са определени diff --git a/htdocs/langs/bg_BG/install.lang b/htdocs/langs/bg_BG/install.lang index c487e58a5e9..51f011d6708 100644 --- a/htdocs/langs/bg_BG/install.lang +++ b/htdocs/langs/bg_BG/install.lang @@ -154,7 +154,8 @@ MigrationShippingDelivery2=Upgrade storage of shipping 2 MigrationFinished=Миграцията завърши LastStepDesc=Последна стъпка: Определете тук потребителско име и парола, планирате да използвате, за да се свържете с софтуер. Не губят, тъй като това е акаунт за администриране на всички останали. ActivateModule=Активиране на модул %s -ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +ShowEditTechnicalParameters=Натиснете тук за да покажете/редактирате параметрите за напреднали (експертен режим) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -205,7 +206,8 @@ MigrationProjectUserResp=Data Migration поле fk_user_resp на llx_projet ll MigrationProjectTaskTime=Актуализация на времето, прекарано в секунда MigrationActioncommElement=Актуализиране на данни за действия MigrationPaymentMode=Миграция на данни за плащане режим -MigrationCategorieAssociation=Migration of categories +MigrationCategorieAssociation=Миграция на категории +MigrationEvents=Migration of events to add event owner into assignement table -ShowNotAvailableOptions=Show not available options -HideNotAvailableOptions=Hide not available options +ShowNotAvailableOptions=Показване на не наличните опции +HideNotAvailableOptions=Скриване на не наличните опции diff --git a/htdocs/langs/bg_BG/languages.lang b/htdocs/langs/bg_BG/languages.lang index 10c04219ba2..f3fd393cedb 100644 --- a/htdocs/langs/bg_BG/languages.lang +++ b/htdocs/langs/bg_BG/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Немски (Австрия) Language_de_CH=German (Switzerland) Language_el_GR=Гръцки Language_en_AU=English (Австралия) +Language_en_CA=English (Canada) Language_en_GB=English (United Kingdom) Language_en_IN=English (Индия) Language_en_NZ=English (Нова Зеландия) diff --git a/htdocs/langs/bg_BG/main.lang b/htdocs/langs/bg_BG/main.lang index 29482f0c53e..57cc10d1008 100644 --- a/htdocs/langs/bg_BG/main.lang +++ b/htdocs/langs/bg_BG/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=MM/dd/yyyy FormatDateShortJavaInput=MM/dd/yyyy FormatDateShortJQuery=mm/dd/yy FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Грешка, файла не е записан. SetDate=Set date SelectDate=Select a date SeeAlso=Вижте също %s +SeeHere=See here BackgroundColorByDefault=Подразбиращ се цвят на фона FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=Потребител Users=Потребители Group=Група Groups=Групи +NoUserGroupDefined=No user group defined Password=Парола PasswordRetype=Повторете паролата NoteSomeFeaturesAreDisabled=Имайте предвид, че много функции / модули са забранени в тази демонстрация. @@ -258,6 +261,7 @@ days=дни Hours=Часа Minutes=Минути Seconds=Секунди +Weeks=Weeks Today=Днес Yesterday=Вчера Tomorrow=Утре @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Изберете елемент и натиснете Презареждане +PrintFile=Print File %s # Week day Monday=Понеделник Tuesday=Вторник diff --git a/htdocs/langs/bg_BG/margins.lang b/htdocs/langs/bg_BG/margins.lang index 8687a982af2..30f7dca7544 100644 --- a/htdocs/langs/bg_BG/margins.lang +++ b/htdocs/langs/bg_BG/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Продукт или услуга AllProducts=Всички продукти и услуги ChooseProduct/Service=Изберете продукт или услуга diff --git a/htdocs/langs/bg_BG/orders.lang b/htdocs/langs/bg_BG/orders.lang index cf43524bd3d..0446c663f6c 100644 --- a/htdocs/langs/bg_BG/orders.lang +++ b/htdocs/langs/bg_BG/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Доставчик за SuppliersOrders=Доставчик поръчки SuppliersOrdersRunning=Доставчика за поръчки CustomerOrder=Клиента заявка -CustomersOrders=Нареждания на клиента +CustomersOrders=Customers orders CustomersOrdersRunning=На клиента за поръчки CustomersOrdersAndOrdersLines=Клиентските поръчки и реда линии -OrdersToValid=Нареждания на клиента за валидация -OrdersToBill=Клиентски поръчки доставени -OrdersInProcess=Нареждания на клиенти в процес -OrdersToProcess=Нареждания на клиента, за да обработват +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Доставчик нареждания за обработка на StatusOrderCanceledShort=Отменен StatusOrderDraftShort=Проект StatusOrderValidatedShort=Утвърден StatusOrderSentShort=В процес StatusOrderSent=Транспортиране в процес -StatusOrderOnProcessShort=Прием +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Обработен StatusOrderToBillShort=Доставени StatusOrderToBill2Short=На Бил @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Всичко получи StatusOrderCanceled=Отменен StatusOrderDraft=Проект (трябва да бъдат валидирани) StatusOrderValidated=Утвърден -StatusOrderOnProcess=Очаквам да получа +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Обработен StatusOrderToBill=Доставени StatusOrderToBill2=На Бил @@ -50,6 +50,8 @@ StatusOrderRefused=Отказ StatusOrderReceivedPartially=Частично получено StatusOrderReceivedAll=Всичко получи ShippingExist=Пратка съществува +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Проект или одобрен, все още не е осъден DraftOrWaitingShipped=Проект или потвърдено все още не са изпратени MenuOrdersToBill=Доставени поръчки diff --git a/htdocs/langs/bg_BG/productbatch.lang b/htdocs/langs/bg_BG/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/bg_BG/productbatch.lang +++ b/htdocs/langs/bg_BG/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/bg_BG/products.lang b/htdocs/langs/bg_BG/products.lang index 4d6d702069e..63a9c3ea81a 100644 --- a/htdocs/langs/bg_BG/products.lang +++ b/htdocs/langs/bg_BG/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Счетоводен код (продажба) ProductOrService=Продукт или Услуга ProductsAndServices=Продукти и Услуги ProductsOrServices=Продукти или Услуги -ProductsAndServicesOnSell=Налични Продукти и Услуги -ProductsAndServicesNotOnSell=Стари Продукти и Услуги +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Статистика на Продукти и Услуги ProductsStatistics=Статистика на продукти -ProductsOnSell=Налични продукти -ProductsNotOnSell=Стари продукти -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Налични услуги -ServicesNotOnSell=Стари услуги -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Вътрешна препратка LastRecorded=Последните записани продукти / услуги по продажба LastRecordedProductsAndServices=Последните %s записани продукти / услуги @@ -198,7 +198,7 @@ HelpAddThisServiceCard=Тази опция ви позволява да създ CurrentProductPrice=Текуща цена AlwaysUseNewPrice=Винаги използвайте текуща цена на продукт/услуга AlwaysUseFixedPrice=Използвайте фиксирана цена -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/bg_BG/projects.lang b/htdocs/langs/bg_BG/projects.lang index 0b34f372aab..c384cf449f2 100644 --- a/htdocs/langs/bg_BG/projects.lang +++ b/htdocs/langs/bg_BG/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Проект Projects=Проекти +ProjectStatus=Project status SharedProject=Всички PrivateProject=Контакти на проекта MyProjectsDesc=Тази гледна точка е ограничена до проекти, които са за контакт (какъвто и да е тип). @@ -11,7 +12,6 @@ ProjectsDesc=Този възглед представя всички проек MyTasksDesc=Тази гледна точка е ограничена до проекти или задачи, които са контакт (какъвто и да е тип). TasksPublicDesc=Този възглед представя всички проекти и задачи, които може да чете. TasksDesc=Този възглед представя всички проекти и задачи (потребителски разрешения ви даде разрешение да видите всичко). -Myprojects=Моите проекти ProjectsArea=Проекти област NewProject=Нов проект AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Клонингите контакти CloneNotes=Клонингите бележки CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Сигурен ли сте, че за клониране на този проект? ProjectReportDate=Промяна задача дата според началната дата на проекта ErrorShiftTaskDate=Невъзможно е да се смени датата на задача в съответствие с нова дата за началото на проекта diff --git a/htdocs/langs/bg_BG/sendings.lang b/htdocs/langs/bg_BG/sendings.lang index 9f5a8b85470..67c5fe8d52d 100644 --- a/htdocs/langs/bg_BG/sendings.lang +++ b/htdocs/langs/bg_BG/sendings.lang @@ -4,7 +4,8 @@ Sending=Пратка Sendings=Превозите Shipment=Пратка Shipments=Превозите -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Превозите област ListOfSendings=Списък на пратки SendingMethod=Начин на доставка @@ -14,7 +15,7 @@ SearchASending=Търсене за превоз StatisticsOfSendings=Статистика за превози NbOfSendings=Брой на пратките NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Доставка карта +SendingCard=Shipment card NewSending=Нова пратка CreateASending=Създаване на пратка CreateSending=Създаване на пратка @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Отменен StatusSendingDraftShort=Проект StatusSendingValidatedShort=Утвърден StatusSendingProcessedShort=Обработен -SendingSheet=Изпращане лист +SendingSheet=Shipment sheet Carriers=Превозвачите Carrier=Превозвач CarriersArea=Превозвачите област @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Събития на пратка LinkToTrackYourPackage=Линк за проследяване на вашия пакет ShipmentCreationIsDoneFromOrder=За момента се извършва от картата с цел създаване на нова пратка. -RelatedShippings=Свързани shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Улов от клиента diff --git a/htdocs/langs/bg_BG/stocks.lang b/htdocs/langs/bg_BG/stocks.lang index 8c7a397a104..2c23d4ca0d2 100644 --- a/htdocs/langs/bg_BG/stocks.lang +++ b/htdocs/langs/bg_BG/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Създаване на склада автоматично при създаването на потребителя QtyDispatched=Брой изпратени +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Stock dispatching RuleForStockManagementDecrease=Правило за намаляване на управление на запасите RuleForStockManagementIncrease=Правило за увеличаване на управление на запасите @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Увеличаване на реалните запаси ReStockOnDispatchOrder=Увеличаване на реалните запаси на ръководство за експедиция в складове, след доставчика за получаване на ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=Поръчка все още не е или не повече статут, който позволява изпращането на продукти на склад складове. -StockDiffPhysicTeoric=Причина за разликата наличност физически и теоретични +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Няма предварително определени продукти за този обект. Така че не се изисква експедиция в състав. DispatchVerb=Изпращане StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/bg_BG/suppliers.lang b/htdocs/langs/bg_BG/suppliers.lang index 93810c22e1e..1dcc4088caf 100644 --- a/htdocs/langs/bg_BG/suppliers.lang +++ b/htdocs/langs/bg_BG/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Доставчици Supplier=Снабдител -AddSupplier=Добави доставчик +AddSupplier=Create a supplier SupplierRemoved=Изтрити доставчик SuppliersInvoice=Фактура NewSupplier=Нов доставчик @@ -40,5 +40,7 @@ AddSupplierInvoice=Създаване на фактура ListOfSupplierProductForSupplier=Списък на доставчици на стоки и цени %s NoneOrBatchFileNeverRan=Няма или не се изпълнява партида %s наскоро SentToSuppliers=Sent to suppliers -ListOfSupplierOrders=List of supplier orders -MenuOrdersSupplierToBill=Supplier orders to invoice +ListOfSupplierOrders=Списък на нарежданията за доставчика +MenuOrdersSupplierToBill=Поръчки на доставчика за фактуриране +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/bg_BG/withdrawals.lang b/htdocs/langs/bg_BG/withdrawals.lang index cb289ea4725..599a843661b 100644 --- a/htdocs/langs/bg_BG/withdrawals.lang +++ b/htdocs/langs/bg_BG/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Кредит за WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Покажи Теглене IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Въпреки това, ако фактурата не е все още най-малко една оттегляне плащане обработват, не се определя като плаща, за да се даде възможност да управляват оттеглянето им преди. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/bg_BG/workflow.lang b/htdocs/langs/bg_BG/workflow.lang index 450edd6267f..c79cc9bdef8 100644 --- a/htdocs/langs/bg_BG/workflow.lang +++ b/htdocs/langs/bg_BG/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Настройки на модул Workflow -WorkflowDesc=Този модул е ​​designed да променят поведението на автоматични действия да се прилага. По подразбиране, работният поток се отвори (да направите нещо, за което искате). Можете да позволи на автоматични действия, които да са интересни инча +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Не е работния процес, можете да модифицирате за модул сте активирали. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Създаване на заявка на клиента автоматично, след като е подписано търговско предложение descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Създаване на фактура на клиента автоматично, след като е подписано търговско предложение descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Създаване на фактура на клиента автоматично след договор е потвърден descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Създаване на фактура на клиента се затваря автоматично след поръчка на клиента descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Класифицира свързан източник на предложение за Плоскоклюн при поръчка на клиента на платен -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/bs_BA/accountancy.lang b/htdocs/langs/bs_BA/accountancy.lang index 954d9c60650..0561ee194d6 100644 --- a/htdocs/langs/bs_BA/accountancy.lang +++ b/htdocs/langs/bs_BA/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/bs_BA/admin.lang b/htdocs/langs/bs_BA/admin.lang index 19cb28c82fd..9045eeb2c2e 100644 --- a/htdocs/langs/bs_BA/admin.lang +++ b/htdocs/langs/bs_BA/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=Ove postavke su za procesuiranje: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr's root directory %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Select module: CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version +UpdateServerOffline=Update server offline GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Export interventions Permission71=Read members Permission72=Create/modify members Permission74=Delete members -Permission75=Postavke tipova i atribute za članove +Permission75=Setup types of membership Permission76=Export datas Permission78=Read subscriptions Permission79=Create/modify subscriptions @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Delete sendings Permission111=Read financial accounts Permission112=Create/modify/delete and compare transactions -Permission113=Postavke financijskih računa (kreiranje, upravljanje kategorijama) -Permission114=Consolidate transactions +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Export transactions and account statements Permission116=Transfers between accounts Permission117=Manage cheques dispatching @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Pročitajte komercijalne margine Permission59002=Definirajte komercijalne margine +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Setup of sendings by email SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). PathToDocuments=Path to documents PathDirectory=Directory -SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by thoose bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommanded) is to use the method "SMTP socket library" that has no disadvantages. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=Vi koristite web browser %s. Ovaj browser je ok za sigurnost i perfo BrowserIsKO=Vi koristite web browser %s. Poznato je da je ovaj broswer loš izbor za sigurnost, performanse i pouzdanost. Mi preporučujemo da koristite Firefox, Chrome, Opera i Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache je učitan. -AddRefInList=Prikaz kupca/dobavljača ref u listi (odaberite listu ili combobox) i većina hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Primjer: +2 (popuniti samo ako imate problema sa ofsetima vremenskih zona) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes i FreeLegalTextOnOrders=Free text on orders WatermarkOnDraftOrders=Vodeni žig na nacrte naloga (ništa, ako je prazno) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with your clicktodial login (defined on your user card)
__PASS__ that will be replaced with your clicktodial password (defined on your user card). @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=EMailing module setup MailingEMailFrom=Sender EMail (From) for emails sent by emailing module MailingEMailError=Return EMail (Errors-to) for emails with errors +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Sender EMail (From) for emails sent for notifications @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Sending module setup SendingsReceiptModel=Sending receipt model SendingsNumberingModules=Sendings numbering modules -SendingsAbility=Support sendings sheets for customer deliveries +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. -FreeLegalTextOnShippings=Free text on shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Products deliveries receipt numbering module DeliveryOrderModel=Products deliveries receipt model @@ -1414,7 +1420,7 @@ AdvancedEditor=Advanced editor ActivateFCKeditor=Activate advanced editor for: FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note -FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommanded as it can create problems with special characters and page formating when building PDF files. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/bs_BA/agenda.lang b/htdocs/langs/bs_BA/agenda.lang index 1b80e817bee..d6a5c96ae01 100644 --- a/htdocs/langs/bs_BA/agenda.lang +++ b/htdocs/langs/bs_BA/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Narudžba za kupca %s poslana putem e-maila InvoiceSentByEMail=Fakture za kupca %s poslana putem e-maila SupplierOrderSentByEMail=Narudžba za dobavljača %s poslan putem e-maila SupplierInvoiceSentByEMail=Predračun dobavljača %s poslan putem e-maila -ShippingSentByEMail=Dostava %s poslana putem e-maila -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Trća stranka kreirana DateActionPlannedStart= Planirani datum početka DateActionPlannedEnd= Planirani datum završetka @@ -68,7 +69,7 @@ DateActionDoneEnd= Pravi datum završetka DateActionStart= Datum početka DateActionEnd= Datum završetka AgendaUrlOptions1=Također možete dodati sljedeće parametre za filtriranje prikazanog: -AgendaUrlOptions2=login =%s ​​da se ograniči prikaz na akcije kreiranje, dodiljene ili završene od strane korisnika %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=%s ​​da se ograniči prikaz na akcije dodijeljene korisniku %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/bs_BA/banks.lang b/htdocs/langs/bs_BA/banks.lang index 105025987a1..9082a5092d2 100644 --- a/htdocs/langs/bs_BA/banks.lang +++ b/htdocs/langs/bs_BA/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Račun FinancialAccounts=Računi BankAccount=Žiro račun BankAccounts=Žiro računi +ShowAccount=Show Account AccountRef=Financijski računa ref AccountLabel=Naziv za financijski račun CashAccount=Gotovinski račun diff --git a/htdocs/langs/bs_BA/bills.lang b/htdocs/langs/bs_BA/bills.lang index c61f13b157f..1b69bd47535 100644 --- a/htdocs/langs/bs_BA/bills.lang +++ b/htdocs/langs/bs_BA/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Faktura Bills=Fakture -BillsCustomers=Fakture kupca -BillsCustomer=Faktura kupca -BillsSuppliers=Fakture dobavljača -BillsCustomersUnpaid=Neplaćene fakture kupca +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Neplačene fakture kupca za %s BillsSuppliersUnpaid=Neplaćene fakture dobavljača BillsSuppliersUnpaidForCompany=Neplaćene fakture dobavljača za %s BillsLate=Zakašnjela plaćanja -BillsStatistics=Statistika faktura kupca -BillsStatisticsSuppliers=Statistika računa dobavljača +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Onemogućeno, ne može se obrisati InvoiceStandard=Standardna faktura InvoiceStandardAsk=Standardna faktura @@ -348,6 +348,7 @@ ChequeNumber=Ček N° ChequeOrTransferNumber=Ček/Prenos N° ChequeMaker=Otpremnik čeka ChequeBank=Banka izdatog čeka +CheckBank=Check NetToBePaid=Neto za plaćanje PhoneNumber=Tel FullPhoneNumber=Telefon @@ -388,7 +389,7 @@ DisabledBecausePayments=Nije moguće jer ima nekoliko uplata CantRemovePaymentWithOneInvoicePaid=Ne može se obrisati uplata jer ima bar jedna faktura klasifikovana kao plaćena ExpectedToPay=Očekivano plaćanje PayedByThisPayment=Plaćeno ovom uplatom -ClosePaidInvoicesAutomatically=Označi "Plaćeno" sve standardne ili zamjenske fakture potpuno plaćene. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=Sve fakture bez preostalog iznosa za uplatu će atuomatski biti zatvorene uz status "Plaćeno". ToMakePayment=Platiti @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Predstavnik za kontrolu faktu TypeContact_invoice_supplier_external_BILLING=Kontakt za fakturu dobavljača TypeContact_invoice_supplier_external_SHIPPING=Kontakt za otpremanje dobavljaču TypeContact_invoice_supplier_external_SERVICE=Kontakt službe za korisnike +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/bs_BA/compta.lang b/htdocs/langs/bs_BA/compta.lang index 3cb7124de3a..562c32c5ab6 100644 --- a/htdocs/langs/bs_BA/compta.lang +++ b/htdocs/langs/bs_BA/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Turnover PaymentsNotLinkedToInvoice=Payments not linked to any invoice, so not linked to any third party PaymentsNotLinkedToUser=Payments not linked to any user Profit=Profit +AccountingResult=Accounting result Balance=Balance Debit=Debit Credit=Credit diff --git a/htdocs/langs/bs_BA/cron.lang b/htdocs/langs/bs_BA/cron.lang index 95d35389d87..6a16b5fb366 100644 --- a/htdocs/langs/bs_BA/cron.lang +++ b/htdocs/langs/bs_BA/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Sigurnosni ključ za URL za pokretanje cron poslova FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/bs_BA/ecm.lang b/htdocs/langs/bs_BA/ecm.lang index f389a0e8f28..546c678bbaa 100644 --- a/htdocs/langs/bs_BA/ecm.lang +++ b/htdocs/langs/bs_BA/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Dokumenti vezani za ugovore ECMDocsByInvoices=Dokumenti vezani za fakture klijenata ECMDocsByProducts=Dokumenti vezani za proizvode ECMDocsByProjects=Dokumenti vezani za projekte +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=Nema kreiranih direktorija ShowECMSection=Prikaži direktorij DeleteSection=Ukloni direktorij diff --git a/htdocs/langs/bs_BA/errors.lang b/htdocs/langs/bs_BA/errors.lang index 53f8d168a55..497ddd814e4 100644 --- a/htdocs/langs/bs_BA/errors.lang +++ b/htdocs/langs/bs_BA/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Setup of module looks to be uncomplete. Go on Setup ErrorBadMask=Error on mask ErrorBadMaskFailedToLocatePosOfSequence=Error, mask without sequence number ErrorBadMaskBadRazMonth=Error, bad reset value +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Error. Select at least one entry. ErrorProductWithRefNotExist=Product with reference '%s' don't exist ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transation that is conciliated @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/bs_BA/install.lang b/htdocs/langs/bs_BA/install.lang index 5d0c83e3173..5a494156672 100644 --- a/htdocs/langs/bs_BA/install.lang +++ b/htdocs/langs/bs_BA/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migration finished LastStepDesc=Last step: Define here login and password you plan to use to connect to software. Do not loose this as it is the account to administer all others. ActivateModule=Activate module %s ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Update time spent in seconds MigrationActioncommElement=Update data on actions MigrationPaymentMode=Data migration for payment mode MigrationCategorieAssociation=Migration of categories +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/bs_BA/languages.lang b/htdocs/langs/bs_BA/languages.lang index f20561b458a..35316b980da 100644 --- a/htdocs/langs/bs_BA/languages.lang +++ b/htdocs/langs/bs_BA/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Njemački (Austrija) Language_de_CH=German (Switzerland) Language_el_GR=Grčki Language_en_AU=Engleski (Australija) +Language_en_CA=English (Canada) Language_en_GB=Engleski (United Kingdom) Language_en_IN=Engleski (Indija) Language_en_NZ=Engleski (Novi Zeland) diff --git a/htdocs/langs/bs_BA/main.lang b/htdocs/langs/bs_BA/main.lang index 6d3fa6abd67..540e45e2946 100644 --- a/htdocs/langs/bs_BA/main.lang +++ b/htdocs/langs/bs_BA/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=MM/dd/yyyy FormatDateShortJavaInput=MM/dd/yyyy FormatDateShortJQuery=mm/dd/yy FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Error, failed to save file. SetDate=Set date SelectDate=Select a date SeeAlso=See also %s +SeeHere=See here BackgroundColorByDefault=Default background color FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=User Users=Users Group=Group Groups=Groups +NoUserGroupDefined=No user group defined Password=Password PasswordRetype=Retype your password NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. @@ -258,6 +261,7 @@ days=days Hours=Hours Minutes=Minutes Seconds=Seconds +Weeks=Weeks Today=Today Yesterday=Yesterday Tomorrow=Tomorrow @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/bs_BA/margins.lang b/htdocs/langs/bs_BA/margins.lang index 606d5e5053a..748b3c71f30 100644 --- a/htdocs/langs/bs_BA/margins.lang +++ b/htdocs/langs/bs_BA/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Product or Service AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/bs_BA/orders.lang b/htdocs/langs/bs_BA/orders.lang index 6ee9c19fa95..34792ae1eb2 100644 --- a/htdocs/langs/bs_BA/orders.lang +++ b/htdocs/langs/bs_BA/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customer's orders +CustomersOrders=Customers orders CustomersOrdersRunning=Current customer's orders CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customer's orders to validate -OrdersToBill=Customer's orders delivered -OrdersInProcess=Customer's orders in process -OrdersToProcess=Customer's orders to process +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Supplier's orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated StatusOrderSentShort=In process StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Reception +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Processed StatusOrderToBillShort=Delivered StatusOrderToBill2Short=To bill @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Everything received StatusOrderCanceled=Canceled StatusOrderDraft=Draft (needs to be validated) StatusOrderValidated=Validated -StatusOrderOnProcess=Waiting to receive +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Processed StatusOrderToBill=Delivered StatusOrderToBill2=To bill @@ -50,6 +50,8 @@ StatusOrderRefused=Refused StatusOrderReceivedPartially=Partially received StatusOrderReceivedAll=Everything received ShippingExist=A shipment exists +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Draft or approved not yet ordered DraftOrWaitingShipped=Draft or validated not yet shipped MenuOrdersToBill=Orders delivered diff --git a/htdocs/langs/bs_BA/productbatch.lang b/htdocs/langs/bs_BA/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/bs_BA/productbatch.lang +++ b/htdocs/langs/bs_BA/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/bs_BA/products.lang b/htdocs/langs/bs_BA/products.lang index 90ab1fa6e30..6aa77416467 100644 --- a/htdocs/langs/bs_BA/products.lang +++ b/htdocs/langs/bs_BA/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Šifra računovodstva (prodaja) ProductOrService=Proizvod ili usluga ProductsAndServices=Proizvodi i usluge ProductsOrServices=Proizvodi ili usluge -ProductsAndServicesOnSell=Dostupni proizvodi i usluge -ProductsAndServicesNotOnSell=Zastarjeli proizvodi i usluge +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Statistika proizvoda i usluga ProductsStatistics=Statistika proizvoda -ProductsOnSell=Dostupni proizvodi -ProductsNotOnSell=Zastarjeli proizvodi -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Dostupne usluge -ServicesNotOnSell=Zastarjele usluge -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Interna referenca LastRecorded=Last products/services on sell recorded LastRecordedProductsAndServices=Last %s recorded products/services @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/bs_BA/projects.lang b/htdocs/langs/bs_BA/projects.lang index 465c2e15488..a6b5764ef40 100644 --- a/htdocs/langs/bs_BA/projects.lang +++ b/htdocs/langs/bs_BA/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Projekt Projects=Projekti +ProjectStatus=Project status SharedProject=Zajednički projekti PrivateProject=Kontakti za projekte MyProjectsDesc=Ovaj pregled je limitiran na projekte u kojima ste stavljeni kao kontakt (bilo koji tip). @@ -11,7 +12,6 @@ ProjectsDesc=Ovaj pregled predstavlja sve projekte (postavke vaših korisničkih MyTasksDesc=Ovaj pregled predstavlja sve projekte ili zadatke za koje ste kontakt (bilo koji tip). TasksPublicDesc=Ovaj pregled predstavlja sve projekte ili zadatke koje možete čitati. TasksDesc=Ovaj pregled predstavlja sve projekte i zadatke (postavke vaših korisničkih dozvola vam omogućavaju da vidite sve). -Myprojects=Moji projekti ProjectsArea=Područje za projekte NewProject=Novi projekat AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Kloniraj kontakte CloneNotes=Kloniraj zabilješke CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/bs_BA/sendings.lang b/htdocs/langs/bs_BA/sendings.lang index 60d641fecdc..b8deefe7ae6 100644 --- a/htdocs/langs/bs_BA/sendings.lang +++ b/htdocs/langs/bs_BA/sendings.lang @@ -4,7 +4,8 @@ Sending=Pošiljka Sendings=Pošiljke Shipment=Pošiljka Shipments=Pošiljke -Receivings=Primanja +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Područje za pošiljke ListOfSendings=Lista pošiljki SendingMethod=Način slanja @@ -14,7 +15,7 @@ SearchASending=Traži pošiljku StatisticsOfSendings=Statistika za pošiljke NbOfSendings=Broj pošiljki NumberOfShipmentsByMonth=Broj pošiljki po mjesecu -SendingCard=Kartica otpremanja +SendingCard=Shipment card NewSending=Nova pošiljka CreateASending=Kreiraj pošiljku CreateSending=Kreiraj pošiljku @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Otkazano StatusSendingDraftShort=Nacrt StatusSendingValidatedShort=Potvrđeno StatusSendingProcessedShort=Obrađeno -SendingSheet=Lista slanja +SendingSheet=Shipment sheet Carriers=Prijevoznici Carrier=Prijevoznik CarriersArea=Područje za prijevoznike @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Događaji na pošiljki LinkToTrackYourPackage=Link za praćenje paketa ShipmentCreationIsDoneFromOrder=U ovom trenutku, nova pošiljka se kreira sa kartice narudžbe -RelatedShippings=Povezana otpremanja +RelatedShippings=Related shipments ShipmentLine=Tekst pošiljke CarrierList=Lista transportera -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Catch by customer diff --git a/htdocs/langs/bs_BA/stocks.lang b/htdocs/langs/bs_BA/stocks.lang index 59e621fff2d..40a7deebee2 100644 --- a/htdocs/langs/bs_BA/stocks.lang +++ b/htdocs/langs/bs_BA/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=PAS EnhancedValueOfWarehouses=Skladišna vrijednost UserWarehouseAutoCreate=Kreiraj skladište automatski prilikom kreiranja korisnika QtyDispatched=Otpremljena količina +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Otpremanje zaliha RuleForStockManagementDecrease=Pravilo za upravljanje smanjenja zaliha RuleForStockManagementIncrease=Pravilo za upravljanje povećanja zaliha @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Povećaj stvarne zalihe na odobrenju narudžbe dobavljač ReStockOnDispatchOrder=Povećaj stvarne zalihe na ručnom otpremanju u skladište, nakon primanja narudžbe dobavljača ReStockOnDeleteInvoice=Povećaj stvarne zalihe nakon brisanja fakture OrderStatusNotReadyToDispatch=Narudžna jos uvijek nema ili nema više status koji dozvoljava otpremanje proizvoda u zalihu skladišta -StockDiffPhysicTeoric=Razlog za razliku fizičke i teoretske zalihe +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Nema predefinisanih proizvoda za ovaj objekat. Dakle, nema potrebe za otpremanje na zalihu. DispatchVerb=Otpremiti StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Masovno kretanje zalihe SelectProductInAndOutWareHouse=Odaberite proizvod, kolilinu, izvordno skladište i ciljano skladište. zatim kliknite "%s". Kada je ovo završeno za sva potrebna kretanja, kliknite "%s". RecordMovement=Zapiši transfer -ReceivingForSameOrder=Primanja za ovu narudžbu +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Kretanja zalihe zapisana RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/bs_BA/suppliers.lang b/htdocs/langs/bs_BA/suppliers.lang index c9dd370a476..ecab4e95a06 100644 --- a/htdocs/langs/bs_BA/suppliers.lang +++ b/htdocs/langs/bs_BA/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Dobavljači Supplier=Dobavljač -AddSupplier=Dodaj dobavljača +AddSupplier=Create a supplier SupplierRemoved=Dobavljač uklonjen SuppliersInvoice=Faktura dobavljača NewSupplier=Novi dobavljač @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Nijedan ili gomila %s nije pokrenuto nedavno SentToSuppliers=Poslano prema dobavljačima ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/bs_BA/withdrawals.lang b/htdocs/langs/bs_BA/withdrawals.lang index e4e4dce6e69..40739a95d50 100644 --- a/htdocs/langs/bs_BA/withdrawals.lang +++ b/htdocs/langs/bs_BA/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Credit on WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Show Withdraw IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one withdrawal payment not yet processed, it won't be set as paid to allow prior withdrawal management. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/bs_BA/workflow.lang b/htdocs/langs/bs_BA/workflow.lang index a837eb3b7bf..4861252312d 100644 --- a/htdocs/langs/bs_BA/workflow.lang +++ b/htdocs/langs/bs_BA/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Postavke workflow modula -WorkflowDesc=Ovaj modul je dizajniran za mijenjanje ponašanja automatskih akcija u aplikaciji. Po defaultu, workflow je otvoren (sami pravite redoslijed). Možete omogućiti automatske akcije za koje ste zainteresovani. +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Nema workflow-a koji možete mijenjati za modul koji ste aktivirali. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Kreiraj narudžbu za kupca automatski nakon potpisivanja poslovnog prijedloga descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Kreiraj fakturu kupca automatski nakon potpisivanja poslovnog prijedloga diff --git a/htdocs/langs/ca_ES/accountancy.lang b/htdocs/langs/ca_ES/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/ca_ES/accountancy.lang +++ b/htdocs/langs/ca_ES/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/ca_ES/admin.lang b/htdocs/langs/ca_ES/admin.lang index 739cd6fb23b..6f9c00f04a3 100644 --- a/htdocs/langs/ca_ES/admin.lang +++ b/htdocs/langs/ca_ES/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=No utilitzar en producció ThisIsProcessToFollow=Heus aquí el procediment a seguir: StepNb=Pas %s FindPackageFromWebSite=Cercar el paquet que respon a la seva necessitat (per exemple en el lloc web %s) -DownloadPackageFromWebSite=Descarregar el paquet des del lloc %s. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Descomprimir el paquet a la carpeta arrel de Dolibarr %s sobre els arxius existents (sense desplaçar o esborrar els existents, sota pena de perdre la seva configuració o els mòduls no oficials instal·lats) SetupIsReadyForUse=La instal·lació ha finalitzat i Dolibarr està disponible amb el nou component. NotExistsDirect=No existeix el directori alternatiu.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Seleccioneu mòdul: CurrentVersion=Versió actual de Dolibarr CallUpdatePage=Trucar a la pàgina d'actualització de l'estructura i dades de la base de dades %s. LastStableVersion=Última versió estable disponible +UpdateServerOffline=Update server offline GenericMaskCodes=Podeu introduir qualsevol màscara numèrica. En aquesta màscara, pot utilitzar les següents etiquetes:
{000000} correspon a un número que s'incrementa en cadascun %s. Introduïu tants zeros com longuitud desitgi mostrar. El comptador es completarà a partir de zeros per l'esquerra per tal de tenir tants zeros com la màscara.
{000000+000}Igual que l'anterior, amb una compensació corresponent al número a la dreta del signe + s'aplica a partir del primer %s.
{000000@x}igual que l'anterior, però el comptador es restableix a zero quan s'arriba a x mesos (x entre 1 i 12). Si aquesta opció s'utilitza i x és de 2 o superior, llavors la seqüència {yy}{mm} ó {yyyy}{mm} també és necessària.
{dd} dies (01 a 31).
{mm} mes (01 a 12).
{yy} , {yyyy ó {y} any en 2, 4 ó 1 xifra.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=Qualsevol altre caràcter a la màscara es quedarà sense canvis.
No es permeten espais
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Llista de selecció de table ExtrafieldSeparator=Separador ExtrafieldCheckBox=Casella de verificació ExtrafieldRadio=Botó de selecció excloent +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Llibreria usada per a la creació d'arxius PDF WarningUsingFPDF=Atenció: El seu arxiu conf.php conté la directiva dolibarr_pdf_force_fpdf=1. Això fa que s'usi la llibreria FPDF per generar els seus arxius PDF. Aquesta llibreria és antiga i no cobreix algunes funcionalitats (Unicode, transparència d'imatges, idiomes ciríl · lics, àrabs o asiàtics, etc.), Pel que pot tenir problemes en la generació dels PDF.
Per resoldre-ho, i disposar d'un suport complet de PDF, pot descarregar la llibreria TCPDF , i a continuació comentar o eliminar la línia $dolibarr_pdf_force_fpdf=1, i afegir al seu lloc $dolibarr_lib_TCPDF_PATH='ruta_a_TCPDF' LocalTaxDesc=Alguns països apliquen 2 o 3 taxes a cada línia de factura. Si és el cas, escolliu el tipus de la segona i tercera taxa i el seu valor. Els possibles tipus són:
1: taxa local aplicable a productes i serveis sense IVA (IVA no s'aplica a la taxa local)
2: taxa local s'aplica a productes i serveis abans de l'IVA (IVA es calcula sobre import + taxa local)
3: taxa local s'aplica a productes sense IVA (IVA no s'aplica a la taxa local)
4: taxa local s'aplica a productes abans de l'IVA (IVA es calcula sobre l'import + taxa local)
5: taxa local s'aplica a serveis sense IVA (IVA no s'aplica a la taxa local)
6: taxa local s'aplica a serveis abans de l'IVA (IVA es calcula sobre import + taxa local) @@ -572,7 +575,7 @@ Permission67=Exporta intervencions Permission71=Consultar membres Permission72=Crear/modificar membres Permission74=Eliminar membres -Permission75=Configurar tipus i atributs dels membres +Permission75=Setup types of membership Permission76=Exportar membres Permission78=Consultar cotitzacions Permission79=Crear/modificar cotitzacions @@ -595,8 +598,8 @@ Permission106=Exportar expedicions Permission109=Eliminar expedicions Permission111=Consultar comptes financers (comptes bancaris, caixes) Permission112=Crear/modificar quantitat/eliminar registres bancaris -Permission113=Configuració de comptes financers (crear, controlar les categories) -Permission114=Exporta transaccions i registres bancaris +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Exporta transaccions i extractes Permission116=Captar transferències entre comptes Permission117=Gestionar enviament de xecs @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Configuració de l'enviament per mail SendmailOptionNotComplete=Atenció, en alguns sistemes Linux, amb aquest mètode d'enviament, per poder enviar mails en nom seu, la configuració de sendmail ha de contenir l'opció -ba (paràmetre mail.force_extra_parameters a l'arxiu php.ini). Si alguns dels seus destinataris no reben els seus missatges, proveu de modificar aquest paràmetre PHP amb mail.force_extra_parameters =-ba . PathToDocuments=Rutes d'accés a documents PathDirectory=Catàleg -SendmailOptionMayHurtBuggedMTA=La funcionalitat d'enviar correu electrònic a través del "correu directe PHP" genera una sol·licitud que pot ser mal interpretada per alguns servidors de correu. Això es tradueix en missatges de correu electrònic il·legibles per a les persones allotjades en aquestes plataformes. Aquest és el cas de clients en certs proveïdors de serveis d'Internet (Ex: Orange). Això no és un problema ni de Dolibarr ni de PHP, però sí del servidor de correu. No obstant això, podeu afegir l'opció MAIN_FIX_FOR_BUGGED_MTA amb valor 1 en configuració-varis per tractar que Dolibarr eviti l'error. Una altra solució (recomanada) és utilitzar el mètode d'enviament per SMTP que no té aquest inconvenient. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuració traducció TranslationDesc=L'elecció de l'idioma mostrat en pantalla es modifica:
* A nivell global des del menú Inici - Configuració - Entorn
* De manera específica a l'usuari des de la pestanya interface usuari de la seva fitxa d'usuari (fer clic al seu login a la part superior esquerra de la pantalla). TotalNumberOfActivatedModules=Nombre total de mòduls activats: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=Utilitza el navegador web %s. Aquest navegador està optimitzat per BrowserIsKO=Utilitza el navegador web %s. Aquest navegador és una mala opció per a la seguretat, rendiment i fiabilitat. Aconsellem fer servir Firefox, Chrome, Opera o Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache cau està carregat. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Validar la comanda després del tancament del pressu FreeLegalTextOnOrders=Text lliure en comandes WatermarkOnDraftOrders=Marca d'aigua en comandes esborrany (en cas d'estar buit) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Configuració del mòdul Click To Dial ClickToDialUrlDesc=Url de trucada fent clic en la icona telèfon. Dans l'url, vous pouvez utiliser les balises
__PHONETO__ qui sera remplacé par le téléphone de l'appelé
__PHONEFROM__ qui sera remplacé par le téléphone de l'appelant (le votre)
__LOGIN__ qui sera remplacé par votre login clicktodial (défini sur votre fiche utilisateur)
__PASS__ qui sera remplacé par votre mot de passe clicktodial (défini sur votre fiche utilisateur). @@ -1392,6 +1397,7 @@ RSSUrlExample=Un flux RSS interessant MailingSetup=Configuració del mòdul E-Mailing MailingEMailFrom=E-Mail emissor (From) dels correus enviats per E-Mailing MailingEMailError=E-mail de resposta (Errors-to) per a les respostes sobre enviaments per e-mailing amb error. +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=E-Mail emissor (From) dels correus enviats a través de notificacions @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Configuració del mòdul Expedicions SendingsReceiptModel=Model de notes de lliurament SendingsNumberingModules=Mòduls de numeració de notes de lliurament -SendingsAbility=Ús de notes de lliurament per als enviaments a clients +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=En la majoria dels casos, les notes de lliurament (llista de productes enviats) també actuen com a notes de recepció i són signades pel client. La gestió de les notes de recepció és per tant redundant i poques vegades s'activarà. -FreeLegalTextOnShippings=Menció complementària en les notes de lliurament +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Mòdul de numeració de les notes de recepció DeliveryOrderModel=Model de notes de recepció @@ -1414,7 +1420,7 @@ AdvancedEditor=Editor avançat ActivateFCKeditor=Activar editor avançat per a : FCKeditorForCompany=Creació/edició WYSIWIG de la descripció i notes dels tercers FCKeditorForProduct=Creació/edició WYSIWIG de la descripció i notes dels productes/serveis -FCKeditorForProductDetails=Creació/edició WYSIWIG de les línies de detall dels productes (en comandes, pressupostos, factures, etc.) +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= Creació/edició WYSIWIG dels E-Mails FCKeditorForUserSignature=Creació/edició WYSIWIG dela firma dels usuaris FCKeditorForMail=Creació/edició WYSIWIG de tots els E-mails (excepte Utilitats->E-Mailings) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/ca_ES/agenda.lang b/htdocs/langs/ca_ES/agenda.lang index a9c55c4f272..f0912920d56 100644 --- a/htdocs/langs/ca_ES/agenda.lang +++ b/htdocs/langs/ca_ES/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Comanda de client %s enviada per e-mail InvoiceSentByEMail=Factura a client %s enviada per e-mail SupplierOrderSentByEMail=Comanda a proveïdor %s enviada per e-mail SupplierInvoiceSentByEMail=Factura de proveïdor %s enviada per e-mail -ShippingSentByEMail=Expedició %s enviada per e-mail -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Tercer creat DateActionPlannedStart= Data d'inici prevista DateActionPlannedEnd= Data fi prevista @@ -68,7 +69,7 @@ DateActionDoneEnd= Data real de finalització DateActionStart= Data d'inici DateActionEnd= Data finalització AgendaUrlOptions1=Podeu també afegir aquests paràmetres al filtre de sortida: -AgendaUrlOptions2=login=%s per a restringir insercions a accions creades, que afectin o realitzades per l'usuari %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=%s per a restringir insercions a accions que afectin a l'usuari %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/ca_ES/banks.lang b/htdocs/langs/ca_ES/banks.lang index 189de436e29..16057026a04 100644 --- a/htdocs/langs/ca_ES/banks.lang +++ b/htdocs/langs/ca_ES/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Compte FinancialAccounts=Comptes BankAccount=Compte bancari BankAccounts=Comptes bancaris +ShowAccount=Show Account AccountRef=Ref. compte financier AccountLabel=Etiqueta compte financier CashAccount=Compte caixa/efectiu diff --git a/htdocs/langs/ca_ES/bills.lang b/htdocs/langs/ca_ES/bills.lang index a6103e5a9d1..bf96794fbdc 100644 --- a/htdocs/langs/ca_ES/bills.lang +++ b/htdocs/langs/ca_ES/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Factura Bills=Factures -BillsCustomers=Factures a clients -BillsCustomer=Factures al client -BillsSuppliers=Factures de proveïdors -BillsCustomersUnpaid=Factures a clients pendents de cobrament +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Factures a clients pendents de cobrament de %s BillsSuppliersUnpaid=Factures de proveïdors pendents de pagament BillsSuppliersUnpaidForCompany=Factures de proveïdors pendents de pagament de %s BillsLate=Retard en el pagament -BillsStatistics=Estadístiques factures a clients -BillsStatisticsSuppliers=Estadístiques factures de proveïdors +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Desactivat per no ser eliminable InvoiceStandard=Factura estàndard InvoiceStandardAsk=Factura estàndard @@ -348,6 +348,7 @@ ChequeNumber=Xec nº ChequeOrTransferNumber=Xec/Transerència nº ChequeMaker=Emissor del xec ChequeBank=Banc del xec +CheckBank=Check NetToBePaid=Net a pagar PhoneNumber=Tel. FullPhoneNumber=Telèfon @@ -388,7 +389,7 @@ DisabledBecausePayments=No disponible ja que hi ha pagaments CantRemovePaymentWithOneInvoicePaid=Eliminació impossible quan hi ha almenys una factura classificada com a pagada. ExpectedToPay=Esperant el pagament PayedByThisPayment=Pagada per aquest pagament -ClosePaidInvoicesAutomatically=Classificar com "Pagades" les factures i facures rectificatives completament pagades. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classificar automàticament com "Pagats" els abonaments completament reemborsats AllCompletelyPayedInvoiceWillBeClosed=Totes les factures amb una resta a pagar 0 seran automàticament tancades a l'estat "Pagada". ToMakePayment=Pagar @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Responsable seguiment facture TypeContact_invoice_supplier_external_BILLING=Contacte proveïdor facturació TypeContact_invoice_supplier_external_SHIPPING=Contacte proveïdor entregues TypeContact_invoice_supplier_external_SERVICE=Contacte proveïdor serveis +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/ca_ES/compta.lang b/htdocs/langs/ca_ES/compta.lang index 098a65b11f5..89bb4b65237 100644 --- a/htdocs/langs/ca_ES/compta.lang +++ b/htdocs/langs/ca_ES/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Volum de vendes PaymentsNotLinkedToInvoice=Pagaments vinculats a cap factura, per la qual cosa sense tercer PaymentsNotLinkedToUser=Pagaments no vinculats a un usuari Profit=Benefici +AccountingResult=Accounting result Balance=Saldo Debit=Dèbit Credit=Crèdit diff --git a/htdocs/langs/ca_ES/cron.lang b/htdocs/langs/ca_ES/cron.lang index c2c93bdb4f9..87e0a50c732 100644 --- a/htdocs/langs/ca_ES/cron.lang +++ b/htdocs/langs/ca_ES/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL per llançar les tasques automàtiques OrToLaunchASpecificJob=O per llançar una tasca específica KeyForCronAccess=Codi de seguretat per a la URL de llançament de tasques automàtiques FileToLaunchCronJobs=Ordre per llançar les tasques automàtiques -CronExplainHowToRunUnix=En un entorn Unix pot parametritzar crontab per executar aquesta comanda cada minut -CronExplainHowToRunWin=En un entorn Microsoft (tm) Windows pot utilitzar el planificador de tasques per llançar aquesta comanda cada minut +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Tasques programades CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/ca_ES/ecm.lang b/htdocs/langs/ca_ES/ecm.lang index 18f1a9476a3..a256f69447f 100644 --- a/htdocs/langs/ca_ES/ecm.lang +++ b/htdocs/langs/ca_ES/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Documents associats a contractes ECMDocsByInvoices=Documents associats a factures ECMDocsByProducts=Documents enllaçats a productes ECMDocsByProjects=Documents enllaçats a projectes +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=No s'ha creat carpeta ShowECMSection=Mostrar carpeta DeleteSection=Eliminació carpeta diff --git a/htdocs/langs/ca_ES/errors.lang b/htdocs/langs/ca_ES/errors.lang index d841687a0c3..05e776b9cc9 100644 --- a/htdocs/langs/ca_ES/errors.lang +++ b/htdocs/langs/ca_ES/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=La configuració del mòdul sembla incompleta. Aneu ErrorBadMask=Error en la màscara ErrorBadMaskFailedToLocatePosOfSequence=Error, sense número de seqüència en la màscara ErrorBadMaskBadRazMonth=Error, valor de tornada a 0 incorrecte +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Error. Seleccioneu com a mínim una entrada. ErrorProductWithRefNotExist=La referència de producte '%s' no existeix ErrorDeleteNotPossibleLineIsConsolidated=Eliminació impossible ja que el registre està enllaçat a una transacció bancària conciliada @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Els paràmetres obligatoris de configuració no estan encara definits diff --git a/htdocs/langs/ca_ES/install.lang b/htdocs/langs/ca_ES/install.lang index 5553510df0e..125805b6194 100644 --- a/htdocs/langs/ca_ES/install.lang +++ b/htdocs/langs/ca_ES/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Acabada l'actualització LastStepDesc=Últim pas: Indiqueu aquí el compte i la contrasenya del primer usuari que fareu servir per connectar-se a l'aplicació. No perdi aquests identificadors, és el compte que permet administrar la resta. ActivateModule=Activació del mòdul %s ShowEditTechnicalParameters=Premi aquí per veure/editar els paràmetres tècnics (mode expert) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Actualització de temps dedicat en segons MigrationActioncommElement=Actualització de les dades de accions sobre elements MigrationPaymentMode=Actualització de les formes de pagament MigrationCategorieAssociation=Actualització de les categories +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/ca_ES/languages.lang b/htdocs/langs/ca_ES/languages.lang index 13acc767338..afd0df5ec70 100644 --- a/htdocs/langs/ca_ES/languages.lang +++ b/htdocs/langs/ca_ES/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Alemany (Austria) Language_de_CH=German (Switzerland) Language_el_GR=Grec Language_en_AU=Anglès (Australia) +Language_en_CA=English (Canada) Language_en_GB=Anglès (Regne Unit) Language_en_IN=Anglès (Índia) Language_en_NZ=Anglès (Nova Zelanda) diff --git a/htdocs/langs/ca_ES/main.lang b/htdocs/langs/ca_ES/main.lang index 3ca3d451105..6ea2c963f3f 100644 --- a/htdocs/langs/ca_ES/main.lang +++ b/htdocs/langs/ca_ES/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd/MM/yyyy FormatDateShortJavaInput=dd/MM/yyyy FormatDateShortJQuery=dd/mm/yy FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Error, el registre del fitxer ha fallat. SetDate=Set date SelectDate=Select a date SeeAlso=Veure també %s +SeeHere=See here BackgroundColorByDefault=Color de fons FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=Usuari Users=Usuaris Group=Grup Groups=Grups +NoUserGroupDefined=No user group defined Password=Contrasenya PasswordRetype=Repetir contrasenya NoteSomeFeaturesAreDisabled=Atenció, només uns pocs mòduls/funcionalitats han estat activats en aquesta demo. @@ -258,6 +261,7 @@ days=dies Hours=Hores Minutes=Minuts Seconds=Segons +Weeks=Weeks Today=Avuí Yesterday=Ahir Tomorrow=Demà @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Dilluns Tuesday=Dimarts diff --git a/htdocs/langs/ca_ES/margins.lang b/htdocs/langs/ca_ES/margins.lang index 3f31b5c8dff..628f4022620 100644 --- a/htdocs/langs/ca_ES/margins.lang +++ b/htdocs/langs/ca_ES/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Detalls de marges realitzats ProductMargins=Marges per producte CustomerMargins=Marges per client SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Producte o servei AllProducts=Tots els productes i serveis ChooseProduct/Service=Trieu el producte o servei diff --git a/htdocs/langs/ca_ES/orders.lang b/htdocs/langs/ca_ES/orders.lang index ce45b85671b..7cfa908d372 100644 --- a/htdocs/langs/ca_ES/orders.lang +++ b/htdocs/langs/ca_ES/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Comanda a proveïdor SuppliersOrders=Comandes a proveïdors SuppliersOrdersRunning=Comandes a proveïdors en curs CustomerOrder=Comada de client -CustomersOrders=Comandes de clients +CustomersOrders=Customers orders CustomersOrdersRunning=Comandes de clients en curs CustomersOrdersAndOrdersLines=Comandes de clients i línies de comanda -OrdersToValid=Comandes de clients a validar -OrdersToBill=Comandes de clients a facturar -OrdersInProcess=Comandes de clients en procés -OrdersToProcess=Comandes de clients a processar +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Comandes a proveïdors a processar StatusOrderCanceledShort=Anul·lada StatusOrderDraftShort=Esborrany StatusOrderValidatedShort=Validada StatusOrderSentShort=Expedició en curs StatusOrderSent=Enviament en curs -StatusOrderOnProcessShort=En procés +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Processada StatusOrderToBillShort=Emès StatusOrderToBill2Short=A facturar @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Rebuda StatusOrderCanceled=Anul-lada StatusOrderDraft=Esborrany (a validar) StatusOrderValidated=Validada -StatusOrderOnProcess=Pendent de rebre +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Processada StatusOrderToBill=Emès StatusOrderToBill2=A facturar @@ -50,6 +50,8 @@ StatusOrderRefused=Rebutjada StatusOrderReceivedPartially=Rebuda parcialment StatusOrderReceivedAll=Rebuda ShippingExist=Existeix una expedició +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Esborrany o aprovat encara no controlat DraftOrWaitingShipped=Esborrany o validada encara no expedida MenuOrdersToBill=Comandes a facturar diff --git a/htdocs/langs/ca_ES/productbatch.lang b/htdocs/langs/ca_ES/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/ca_ES/productbatch.lang +++ b/htdocs/langs/ca_ES/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/ca_ES/products.lang b/htdocs/langs/ca_ES/products.lang index e8b8b6b5053..a99396d34ba 100644 --- a/htdocs/langs/ca_ES/products.lang +++ b/htdocs/langs/ca_ES/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Código contable vendes ProductOrService=Producte o servei ProductsAndServices=Productes i serveis ProductsOrServices=Productes o serveis -ProductsAndServicesOnSell=Productes i serveis a la venda -ProductsAndServicesNotOnSell=Productes i serveis fora de venda +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Estadístiques productes i serveis ProductsStatistics=Estadístiques productes -ProductsOnSell=Productes en venda o compra -ProductsNotOnSell=Productes fora de venda y compra -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Serveis en venda o compra -ServicesNotOnSell=Serveis fora de venda y compra -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Referència interna LastRecorded=Ultims productes/serveis en venda registrats LastRecordedProductsAndServices=Els %s darrers productes/serveis registrats @@ -198,7 +198,7 @@ HelpAddThisServiceCard=Aquesta opció permet crear o clonar una fitxa de servei CurrentProductPrice=Preu actual AlwaysUseNewPrice=Utilitzar sempre el preu actual AlwaysUseFixedPrice=Utilitzar el preu fixat -PriceByQuantity=Preu per quantitat +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Rang de quantitats ProductsDashboard=Resum productes/serveis UpdateOriginalProductLabel=Canviar etiqueta original @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/ca_ES/projects.lang b/htdocs/langs/ca_ES/projects.lang index 49d18cb3d36..dbdb9564f25 100644 --- a/htdocs/langs/ca_ES/projects.lang +++ b/htdocs/langs/ca_ES/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Projecte Projects=Projectes +ProjectStatus=Project status SharedProject=Projecte compartit PrivateProject=Contactes del projecte MyProjectsDesc=Aquesta vista projecte es limita als projectes en què vostè és un contacte afectat (qualsevol tipus). @@ -11,7 +12,6 @@ ProjectsDesc=Aquesta vista mostra tots els projectes (les seves autoritzacions l MyTasksDesc=Aquesta vista es limita als projectes i tasques en què vostè és un contacte afectat en almenys una tasca (qualsevol tipus). TasksPublicDesc=Aquesta vista mostra tots els projectes i tasques en els que vostè té dret a tenir visibilitat. TasksDesc=Aquesta vista mostra tots els projectes i tasques (les sevas autoritzacions li ofereixen una visió completa). -Myprojects=Els meus projectes ProjectsArea=Àrea projectes NewProject=Nou projecte AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clonar els contactes CloneNotes=Clonar les notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Esteu segur que voleu clonar aquest projecte? ProjectReportDate=Canviar les dates de les tasques en funció de la data d'inici del projecte ErrorShiftTaskDate=S'ha produït un error en el canvi de les dates de les tasques diff --git a/htdocs/langs/ca_ES/sendings.lang b/htdocs/langs/ca_ES/sendings.lang index 1ccb69ba341..81357c77fa4 100644 --- a/htdocs/langs/ca_ES/sendings.lang +++ b/htdocs/langs/ca_ES/sendings.lang @@ -4,7 +4,8 @@ Sending=Enviament Sendings=Enviaments Shipment=Enviament Shipments=Enviaments -Receivings=Recepcions +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Àrea enviaments ListOfSendings=Llista d'enviaments SendingMethod=Mètode d'enviament @@ -14,7 +15,7 @@ SearchASending=Cerca enviament StatisticsOfSendings=Estadístiques d'enviaments NbOfSendings=Nombre d'enviaments NumberOfShipmentsByMonth=Nombre d'enviaments per mes -SendingCard=Fitxa enviament +SendingCard=Shipment card NewSending=Nuevo envío CreateASending=Crear un enviament CreateSending=Crear enviament @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Anul.lat StatusSendingDraftShort=Esborrany StatusSendingValidatedShort=Validat StatusSendingProcessedShort=Processat -SendingSheet=Nota de lliurament +SendingSheet=Shipment sheet Carriers=Transportistes Carrier=Transportista CarriersArea=Àrea transportistes @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Events sobre l'expedició LinkToTrackYourPackage=Enllaç per al seguiment del seu paquet ShipmentCreationIsDoneFromOrder=De moment, la creació d'una nova expedició es realitza des de la fitxa de comanda. -RelatedShippings=Expedició(ns) associades +RelatedShippings=Related shipments ShipmentLine=Línia d'expedició CarrierList=Llistat de transportistes -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Recollit pel client diff --git a/htdocs/langs/ca_ES/stocks.lang b/htdocs/langs/ca_ES/stocks.lang index dda28770323..0c918bae6d8 100644 --- a/htdocs/langs/ca_ES/stocks.lang +++ b/htdocs/langs/ca_ES/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=PMP EnhancedValueOfWarehouses=Valor d'estocs UserWarehouseAutoCreate=Crea automàticament existències/magatzem propi de l'usuari en la creació de l'usuari QtyDispatched=Quantitat desglossada +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Recepció d'estocs RuleForStockManagementDecrease=Regla de gestió de decrements d'estoc RuleForStockManagementIncrease=Regla de gestió d'increments d'estoc @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Incrementar els estocs físics sobre les comandes a prove ReStockOnDispatchOrder=Incrementa els estocs físics en el desglossament manual de la recepció de les comandes a proveïdors en els magatzems ReStockOnDeleteInvoice=Incrementa els estocs físics en l'eliminació de factures OrderStatusNotReadyToDispatch=La comanda encara no està o no té un estat que permeti un desglossament d'estoc. -StockDiffPhysicTeoric=Motiu de la diferència entre valors físics i teòrics +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=No hi ha productes predefinits en aquest objecte. Per tant no es pot realitzar un desglossament d'estoc. DispatchVerb=Desglossar StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/ca_ES/suppliers.lang b/htdocs/langs/ca_ES/suppliers.lang index 6dbf65d95c1..df79e34d4e4 100644 --- a/htdocs/langs/ca_ES/suppliers.lang +++ b/htdocs/langs/ca_ES/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Proveïdors Supplier=Proveïdor -AddSupplier=Afegir proveïdor +AddSupplier=Create a supplier SupplierRemoved=Proveïdor eliminat SuppliersInvoice=Factura proveïdor NewSupplier=Nou proveïdor @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Cap o lot %s no s'ha executat recentment SentToSuppliers=Enviat a proveïdors ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/ca_ES/withdrawals.lang b/htdocs/langs/ca_ES/withdrawals.lang index 9a4eef3a705..5469d2437ce 100644 --- a/htdocs/langs/ca_ES/withdrawals.lang +++ b/htdocs/langs/ca_ES/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Abonada el WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Veure domiciliació IfInvoiceNeedOnWithdrawPaymentWontBeClosed=No obstant això, si la factura té pendent algun pagament per domiciliació, no serà tancada per a permetre la gestió de la domiciliació. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Arxiu de la domiciliació SetToStatusSent=Classificar com "Arxiu enviat" ThisWillAlsoAddPaymentOnInvoice=Es crearan els pagaments de les factures i les classificarà com pagades diff --git a/htdocs/langs/ca_ES/workflow.lang b/htdocs/langs/ca_ES/workflow.lang index d8958ea256b..cbb45da0552 100644 --- a/htdocs/langs/ca_ES/workflow.lang +++ b/htdocs/langs/ca_ES/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Configuració del mòdul workflow -WorkflowDesc=Aquest mòdul us permet canviar el comportament automatitzat. Per defecte, el workflow és obert i no imposat. Activi els enllaços automàtics que li interessen. +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=No hi ha workflow modificable per als mòduls que té activats. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Crear una comanda de client automàticament a la signatura d'un pressupost descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Crear una factura a client automàticament a la signatura d'un pressupost descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Crear una factura a client automàticament a la validació d'un contracte descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Crear una factura a client automàticament al tancament d'una comanda de client descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classificar com facturat el pressupost quan la comanda de client relacionada es classifiqui com pagada -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/cs_CZ/accountancy.lang b/htdocs/langs/cs_CZ/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/cs_CZ/accountancy.lang +++ b/htdocs/langs/cs_CZ/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/cs_CZ/admin.lang b/htdocs/langs/cs_CZ/admin.lang index e4a6da486cf..cb3fb8c8ca3 100644 --- a/htdocs/langs/cs_CZ/admin.lang +++ b/htdocs/langs/cs_CZ/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Nepoužívejte ve výrobě ThisIsProcessToFollow=Nastaveno na proces: StepNb=Krok %s FindPackageFromWebSite=Nalezni balíček, obsahující funkci jež chcete (např. na oficiálních stránkách %s). -DownloadPackageFromWebSite=Stáhnout balíček. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Rozbalit balíček do kořenového adresáře Dolibarr %s SetupIsReadyForUse=Instalace je dokončena a Dolibarr je připraven k použití. NotExistsDirect=Alternativní kořenový adresář není definován.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Vyberte modul: CurrentVersion=Dolibarr aktuální verze CallUpdatePage=Přejděte na stránku, která aktualizuje databázovou strukturu a údaje: %s. LastStableVersion=Poslední stabilní verze +UpdateServerOffline=Update server offline GenericMaskCodes=Můžete zadat jakoukoliv masku číselné řady. V masce můžete použít následující značky:
{000000} číslo, automaticky inkrementované o 1 při každým %s. Počet nul odpovídá požadovanému počtu číslic. Číslo se zleva doplní nulami pro dosažení požadovaného počtu číslic.
{000000+000} stejné jako předchozí, ale ofset odpovídající číslu napravo od znaku + bude použit pro první %s.
{000000@x} stejné jako předchozí, ale počítadlo se resetuje na nulu, když je dosaženo měsíce x (x je v rozmezí 1 ~ 12, nebo 0 pro použití prvního měsíce fiskálního roku definované ve vaší konfiguraci, nebo 99 pro vynulování každý měsíc ). Pokud se tato volba používá, a x je 2 nebo vyšší, pak je rovněž požadovaná posloupnost {yy}{mm} či {yyyy}{mm}.
{dd} den (01 až 31).
{mm} měsíc (01 to 12).
{yy}, {yyyy} nebo {y} rok, 2, 4 nebo 1 číslo.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=Všechny ostatní znaky v masce zůstanou nedotčeny.
Mezery nejsou povoleny.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Vyberte z tabulky ExtrafieldSeparator=Oddělovač ExtrafieldCheckBox=Zaškrtávací políčko ExtrafieldRadio=Přepínač +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Knihovna použít k vytvoření PDF WarningUsingFPDF=Upozornění: Váš conf.php obsahuje direktivu dolibarr_pdf_force_fpdf = 1. To znamená, že můžete používat knihovnu FPDF pro generování PDF souborů. Tato knihovna je stará a nepodporuje mnoho funkcí (Unicode, obraz transparentnost, azbuka, arabské a asijské jazyky, ...), takže může dojít k chybám při generování PDF.
Chcete-li vyřešit tento a mají plnou podporu generování PDF, stáhněte si TCPDF knihovny , pak komentář nebo odebrat řádek $ dolibarr_pdf_force_fpdf = 1, a místo něj doplnit $ dolibarr_lib_TCPDF_PATH = 'path_to_TCPDF_dir " LocalTaxDesc=Některé země používají 2 nebo 3 daně na každou fakturu řádku. Pokud je to tento případ, vybrat typ druhém a třetím daně a její sazba. Možné typem jsou:
1: pobytová taxa platí o produktech a službách bez DPH (není aplikován na místní daně)
2: pobytová taxa platí o produktech a službách před DPH (je vypočtena na částku + localtax)
3: pobytová taxa platí na výrobky bez DPH (není aplikován na místní daně)
4: pobytová taxa platí na výrobky před DPH (je vypočtena na částku + localtax)
5: pobytová taxa platí na služby bez DPH (není aplikován na místní daně)
6: pobytová taxa platí o službách před DPH (je vypočtena na částku + localtax) @@ -572,7 +575,7 @@ Permission67=Vývozní intervence Permission71=Přečtěte členů Permission72=Vytvořit / upravit členů Permission74=Smazat členů -Permission75=Nastavení typů a atributy pro členy +Permission75=Setup types of membership Permission76=Export údaje Permission78=Přečtěte si předplatné Permission79=Vytvořit / upravit předplatné @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Odstranit sendings Permission111=Přečtěte finančních účtů Permission112=Vytvořit / upravit / smazat a porovnat transakce -Permission113=Nastavení financiel účty (vytvářet, spravovat kategorie) -Permission114=Konsolidace transakce +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Vývozních transakcí, a výpisy z účtů Permission116=Převody mezi účty Permission117=Správa kontroly dispečinku @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Nastavení sendings e-mailem SendmailOptionNotComplete=Upozornění na některých operačních systémech Linux, posílat e-maily z vašeho e-mailu, musíte sendmail provedení instalace obsahuje volbu-BA (parametr mail.force_extra_parameters do souboru php.ini). Pokud někteří příjemci nikdy přijímat e-maily, zkuste upravit tento parametr společně s PHP mail.force_extra_parameters =-BA). PathToDocuments=Cesta k dokumentům PathDirectory=Adresář -SendmailOptionMayHurtBuggedMTA=Funkce posílat e-maily pomocí metody "PHP mail Direct" vygeneruje e-mailovou zprávu, která by mohla být nesprávně analyzován některými dostávají poštovní servery. Výsledkem je, že některé maily nelze číst lidé pořádaných platformami thoose odposlouchávány. To je případ některých poskytovatelů internetových služeb (Ex: Orange ve Francii). To není problém do Dolibarr ani do PHP, ale na příjem e-mailový server. Můžete však přidat možnost MAIN_FIX_FOR_BUGGED_MTA do 1 do nastavení - ostatní upravit Dolibarr k tomu nedošlo. Nicméně, může dojít k problému s jinými servery, které respektují zcela standardní SMTP. Jiné řešení (Doporučený) je použít metodu "SMTP socket knihovny", který nemá žádné nevýhody. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Konfigurace de la traduction TranslationDesc=Volba jazyka viditelné na obrazovce lze měnit:
* Globálně z menu Domů - Nastavení - Zobrazení
* Pro uživatele pouze ze zobrazení na kartě Uživatelské uživatelského karty (klikněte na přihlášení v horní části obrazovky). TotalNumberOfActivatedModules=Celkový počet aktivovaných funkcí modulů: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=Používáte %s webovém prohlížeči. Tento prohlížeč je v poř BrowserIsKO=Používáte %s webovém prohlížeči. Tento prohlížeč je známo, že špatná volba pro bezpečnost, výkon a spolehlivost. Jsme Doporučuji vám používat Firefox, Chrome, Operu nebo Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache načten. -AddRefInList=Displej zákazníka / dodavatele ref do seznamu (vyberte seznam nebo ComboBox) a většina z hypertextového odkazu +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Pro potvrzení objednávky po návrhu užší, umož FreeLegalTextOnOrders=Volný text o objednávkách WatermarkOnDraftOrders=Vodoznak na konceptech objednávek (pokud žádný prázdný) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Klikněte pro Dial Nastavení modulu ClickToDialUrlDesc=Url volána, když se provádí kliknutím na tel. Piktogram. Do pole URL můžete použít značky
__PHONETO__ Který bude nahrazen s telefonním číslem osoby volat
__PHONEFROM__ Který bude nahrazen tel. číslo volajícího (vaše)
__LOGIN__ Který bude nahrazen s clicktodial přihlášení (definované na kartě uživatele)
__PASS__ Který bude nahrazen s clicktodial heslo (definované na kartě uživatele). @@ -1392,6 +1397,7 @@ RSSUrlExample=Zajímavý RSS zdroj MailingSetup=E-mailem Nastavení modulu MailingEMailFrom=Odesílatele (From) pro emailů zasílaných e-mailem na modul MailingEMailError=Zpět E-mail (chyby-do) e-maily s chybami +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Odesílatele (From) e-maily zaslané na oznámení @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Odeslání Nastavení modulu SendingsReceiptModel=Odeslání stvrzenky modelu SendingsNumberingModules=Sendings číslování moduly -SendingsAbility=Podpora sendings listy pro dodávky zákazníkům +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=Ve většině případů jsou sendings příjmy použity jak listů pro dodávky zákazníkům (seznam výrobků k odeslání) a na arších, které je recevied a podepsán zákazníkem. Takže dodávek výrobků příjmy je duplicitní funkce a je zřídka aktivován. -FreeLegalTextOnShippings=Volný text na shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Produkty dodávky příjem číslování modul DeliveryOrderModel=Produkty dodávky přijetí modelu @@ -1414,7 +1420,7 @@ AdvancedEditor=Rozšířené editor ActivateFCKeditor=Aktivace pokročilé editor pro: FCKeditorForCompany=WYSIWIG vytvoření / edici prvky popisu a poznámka (s výjimkou výrobků / služeb) FCKeditorForProduct=WYSIWIG vytvoření / edice produktů / služeb popis a poznámky -FCKeditorForProductDetails=WYSIWIG vytvoření / edice linek produktů informace pro všechny subjekty (návrhy, objednávky, faktury, atd. ..). Upozornění: Použití této možnosti pro tento případ je vážně není doporučeno, protože může způsobit problémy se speciálními znaky a formátování stránky při vytváření PDF soubory. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG vytvoření / edice pro hromadné eMailings (Nástroje-> e-mailem) FCKeditorForUserSignature=WYSIWIG vytvoření / edice uživatelského podpisu FCKeditorForMail=WYSIWIG vytvoření / edice pro veškerou poštu (kromě outils-> e-mailem) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/cs_CZ/agenda.lang b/htdocs/langs/cs_CZ/agenda.lang index 06b4b7d4a32..8a2d630df34 100644 --- a/htdocs/langs/cs_CZ/agenda.lang +++ b/htdocs/langs/cs_CZ/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=%s zákazníků objednávka zaslána e-mailem InvoiceSentByEMail=%s faktuře Zákazníka zaslána e-mailem SupplierOrderSentByEMail=%s Dodavatel objednávka zaslána e-mailem SupplierInvoiceSentByEMail=%s dodavatelské faktury zasílané e-mailem -ShippingSentByEMail=Přepravní %s zaslána e-mailem -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Třetí strana vytvořena DateActionPlannedStart= Plánované datum zahájení DateActionPlannedEnd= Plánované datum ukončení @@ -68,7 +69,7 @@ DateActionDoneEnd= Skutečné datum ukončení DateActionStart= Datum zahájení DateActionEnd= Datum ukončení AgendaUrlOptions1=Můžete také přidat následující parametry filtrování výstupu: -AgendaUrlOptions2=login = %s omezit výstup na akce vytvořené, přidělených nebo provést uživatele %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint = %s omezit výstup na akce přiřazených uživatelských %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/cs_CZ/banks.lang b/htdocs/langs/cs_CZ/banks.lang index 64704de33e0..8c43ba341c4 100644 --- a/htdocs/langs/cs_CZ/banks.lang +++ b/htdocs/langs/cs_CZ/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Účet FinancialAccounts=Účty BankAccount=Bankovní účet BankAccounts=Bankovní účty +ShowAccount=Show Account AccountRef=Finanční účet ref AccountLabel=Finanční účet štítek CashAccount=Pokladní účet diff --git a/htdocs/langs/cs_CZ/bills.lang b/htdocs/langs/cs_CZ/bills.lang index 69320cd4204..e40c3cbdffd 100644 --- a/htdocs/langs/cs_CZ/bills.lang +++ b/htdocs/langs/cs_CZ/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Faktura Bills=Faktury -BillsCustomers=Zákazníka faktury -BillsCustomer=Faktuře Zákazníka -BillsSuppliers=Dodavatelských faktur -BillsCustomersUnpaid=Nezaplacené faktury zákazníka +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Nezaplacené faktury pro zákazníka %s BillsSuppliersUnpaid=Nezaplacené faktury dodavatele BillsSuppliersUnpaidForCompany=Nezaplacené faktury dodavatele pro %s BillsLate=Opožděné platby -BillsStatistics=Zákazníka faktury statistiky -BillsStatisticsSuppliers=Dodavatelských faktur statistiky +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Zakázáno, protože nelze smazat InvoiceStandard=Standardní faktura InvoiceStandardAsk=Standardní faktura @@ -348,6 +348,7 @@ ChequeNumber=Zkontrolujte N ° ChequeOrTransferNumber=Zkontrolujte / Přenos č. ChequeMaker=Zkontrolujte vysílač ChequeBank=Bank of Check +CheckBank=Check NetToBePaid=Net má být zaplacena PhoneNumber=Tel FullPhoneNumber=Telefon @@ -388,7 +389,7 @@ DisabledBecausePayments=Not possible since there are some payments CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified paid ExpectedToPay=Předpokládaný platba PayedByThisPayment=Paid by this payment -ClosePaidInvoicesAutomatically=Classify "Paid" all standard or replacement invoices entirely paid. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=All invoice with no remain to pay will be automatically closed to status "Paid". ToMakePayment=Zaplatit @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Zástupce následující-up d TypeContact_invoice_supplier_external_BILLING=Dodavatel fakturu kontakt TypeContact_invoice_supplier_external_SHIPPING=Dodavatel doprava kontakt TypeContact_invoice_supplier_external_SERVICE=Dodavatel služby kontakt +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/cs_CZ/compta.lang b/htdocs/langs/cs_CZ/compta.lang index aa187c9880e..bcd22190e9e 100644 --- a/htdocs/langs/cs_CZ/compta.lang +++ b/htdocs/langs/cs_CZ/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Obrat PaymentsNotLinkedToInvoice=Platby nesouvisející s jakoukoli fakturu, takže nejsou spojeny žádné třetí straně PaymentsNotLinkedToUser=Platby nesouvisející všechny uživatele Profit=Zisk +AccountingResult=Accounting result Balance=Zůstatek Debit=Debet Credit=Úvěr diff --git a/htdocs/langs/cs_CZ/cron.lang b/htdocs/langs/cs_CZ/cron.lang index b8b9956668e..05ed1384123 100644 --- a/htdocs/langs/cs_CZ/cron.lang +++ b/htdocs/langs/cs_CZ/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Bezpečnostní klíč pro URL spustit cron FileToLaunchCronJobs=Příkazový řádek spustit cron -CronExplainHowToRunUnix=V oblasti životního prostředí Unix, měli byste použít crontab spustit příkazový řádek pokaždé, minut -CronExplainHowToRunWin=Na Microsoft (tm) Windows environement můžete použít naplánovaná úloha nástroje spustit příkazový řádek pokaždé, minut +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Naplánované úlohy CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/cs_CZ/ecm.lang b/htdocs/langs/cs_CZ/ecm.lang index 016d4b66841..dfc4c1c1106 100644 --- a/htdocs/langs/cs_CZ/ecm.lang +++ b/htdocs/langs/cs_CZ/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Dokumenty související se smlouvami ECMDocsByInvoices=Dokumenty související s fakturami zákazníky ECMDocsByProducts=Dokumenty související s produkty ECMDocsByProjects=Dokumenty související s projekty +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=No vytvořil adresář ShowECMSection=Zobrazit adresář DeleteSection=Odstraňte adresář diff --git a/htdocs/langs/cs_CZ/errors.lang b/htdocs/langs/cs_CZ/errors.lang index 57331cb59c0..6a09500f020 100644 --- a/htdocs/langs/cs_CZ/errors.lang +++ b/htdocs/langs/cs_CZ/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Nastavení modulu se jeví jako neúplná. Přejdět ErrorBadMask=Chyba na masku ErrorBadMaskFailedToLocatePosOfSequence=Chyba maska ​​bez pořadovým číslem ErrorBadMaskBadRazMonth=Chyba, špatná hodnota po resetu +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Chyba. Vyberte alespoň jednu položku. ErrorProductWithRefNotExist=Výrobek s "%s" referenční neexistují ErrorDeleteNotPossibleLineIsConsolidated=Odstranění není možné, protože záznam je spojena s bankovním transakčního který smířil @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Povinné parametry jsou dosud stanoveny diff --git a/htdocs/langs/cs_CZ/install.lang b/htdocs/langs/cs_CZ/install.lang index caaa833fce1..4855a8f234c 100644 --- a/htdocs/langs/cs_CZ/install.lang +++ b/htdocs/langs/cs_CZ/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migrace dokončena LastStepDesc=Poslední krok: Definujte zde přihlašovací jméno a heslo které budete používat pro připojení k softwaru. Toto heslo neztraťte - jedná se o jediný administrátorský účet. ActivateModule=Aktivace modulu %s ShowEditTechnicalParameters=Klikněte zde pro zobrazení / editaci pokročilých parametrů (pro experty) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Čas aktualizace v sekundách MigrationActioncommElement=Aktualizovat údaje na činnostech MigrationPaymentMode=Migrace dat platebního režimu MigrationCategorieAssociation=Migrace kategorií +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/cs_CZ/languages.lang b/htdocs/langs/cs_CZ/languages.lang index 48e98225e31..4a159969760 100644 --- a/htdocs/langs/cs_CZ/languages.lang +++ b/htdocs/langs/cs_CZ/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Němčina (Rakousko) Language_de_CH=German (Switzerland) Language_el_GR=Řek Language_en_AU=Angličtina (Austrálie) +Language_en_CA=English (Canada) Language_en_GB=Angličtina (Velká Británie) Language_en_IN=Angličtina (Indie) Language_en_NZ=Angličtina (Nový Zéland) diff --git a/htdocs/langs/cs_CZ/main.lang b/htdocs/langs/cs_CZ/main.lang index ee2a66242e7..b3c285cdbae 100644 --- a/htdocs/langs/cs_CZ/main.lang +++ b/htdocs/langs/cs_CZ/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=MM/dd/yyyy FormatDateShortJavaInput=MM/dd/yyyy FormatDateShortJQuery=mm/dd/yy FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Chyba, nepodařilo se uložit soubor. SetDate=Set date SelectDate=Select a date SeeAlso=Viz také %s +SeeHere=See here BackgroundColorByDefault=Výchozí barva pozadí FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=Uživatel Users=Uživatelé Group=Skupina Groups=Skupiny +NoUserGroupDefined=No user group defined Password=Heslo PasswordRetype=Zadejte znovu heslo NoteSomeFeaturesAreDisabled=Všimněte si, že mnoho funkcí / modules jsou zakázány v této ukázce. @@ -258,6 +261,7 @@ days=dny Hours=Hodiny Minutes=Zápis Seconds=Sekundy +Weeks=Weeks Today=Dnes Yesterday=Včera Tomorrow=Zítra @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Pondělí Tuesday=Úterý diff --git a/htdocs/langs/cs_CZ/margins.lang b/htdocs/langs/cs_CZ/margins.lang index 32b8dc8144e..f321aeb2c99 100644 --- a/htdocs/langs/cs_CZ/margins.lang +++ b/htdocs/langs/cs_CZ/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin detaily ProductMargins=Produktové marže CustomerMargins=Zákazníků marže SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Produkt nebo služba AllProducts=Všechny produkty a služby ChooseProduct/Service=Zvolte produkt nebo službu diff --git a/htdocs/langs/cs_CZ/orders.lang b/htdocs/langs/cs_CZ/orders.lang index 308cfa75c8b..67d948e78b3 100644 --- a/htdocs/langs/cs_CZ/orders.lang +++ b/htdocs/langs/cs_CZ/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Dodavatel aby SuppliersOrders=Dodavatelé objednávky SuppliersOrdersRunning=Aktuální dodavatelé objednávky CustomerOrder=Zákazníka -CustomersOrders=Zákazníkovy objednávky +CustomersOrders=Customers orders CustomersOrdersRunning=Objednávky aktuálního zákazníka CustomersOrdersAndOrdersLines=Zákaznické objednávky a objednávky linky -OrdersToValid=Zákazníkovy objednávky pro ověřování -OrdersToBill=Zákazníka příkazy doručené -OrdersInProcess=Zákaznické objednávky v procesu -OrdersToProcess=Zákazníkovy objednávky ke zpracování +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Dodavatele objednávky ke zpracování StatusOrderCanceledShort=Zrušený StatusOrderDraftShort=Návrh StatusOrderValidatedShort=Ověřené StatusOrderSentShort=V procesu StatusOrderSent=Přeprava v procesu -StatusOrderOnProcessShort=Recepce +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Zpracované StatusOrderToBillShort=Dodává se StatusOrderToBill2Short=K účtu @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Vše, co obdržel StatusOrderCanceled=Zrušený StatusOrderDraft=Návrh (musí být ověřena) StatusOrderValidated=Ověřené -StatusOrderOnProcess=Čekání na příjem +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Zpracované StatusOrderToBill=Dodává se StatusOrderToBill2=K účtu @@ -50,6 +50,8 @@ StatusOrderRefused=Odmítl StatusOrderReceivedPartially=Částečně uložen StatusOrderReceivedAll=Vše, co obdržel ShippingExist=Zásilka existuje +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Návrh nebo schválena ještě objednat DraftOrWaitingShipped=Návrh nebo ověřeno dosud odesláno MenuOrdersToBill=Objednávky dodáno diff --git a/htdocs/langs/cs_CZ/productbatch.lang b/htdocs/langs/cs_CZ/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/cs_CZ/productbatch.lang +++ b/htdocs/langs/cs_CZ/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/cs_CZ/products.lang b/htdocs/langs/cs_CZ/products.lang index 43becba423e..aa3dbd4fda9 100644 --- a/htdocs/langs/cs_CZ/products.lang +++ b/htdocs/langs/cs_CZ/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Účetnictví kód (prodej) ProductOrService=Produkt nebo služba ProductsAndServices=Produkty a služby ProductsOrServices=Výrobky nebo služby -ProductsAndServicesOnSell=Dostupné Produkty a služby -ProductsAndServicesNotOnSell=Zastaralé Produkty a služby +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Produkty a služby statistika ProductsStatistics=Produkty statistiky -ProductsOnSell=Dostupné produkty -ProductsNotOnSell=Vyřazené produkty -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Dostupné služby -ServicesNotOnSell=Zastaralé služby -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Interní referenční číslo LastRecorded=Nejnovější produkty / služby na prodeji zaznamenán LastRecordedProductsAndServices=Poslední %s zaznamenán produktů / služeb @@ -198,7 +198,7 @@ HelpAddThisServiceCard=Tato volba umožňuje vytvořit nebo naklonovat službu, CurrentProductPrice=Aktuální cena AlwaysUseNewPrice=Vždy používejte aktuální cenu produktu / služby AlwaysUseFixedPrice=Použijte pevnou cenu -PriceByQuantity=Cena podle množství +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Množství rozsah ProductsDashboard=Produkty / služby shrnutí UpdateOriginalProductLabel=Upravit původní štítek @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/cs_CZ/projects.lang b/htdocs/langs/cs_CZ/projects.lang index 434b6b86f3d..b98531acef5 100644 --- a/htdocs/langs/cs_CZ/projects.lang +++ b/htdocs/langs/cs_CZ/projects.lang @@ -3,6 +3,7 @@ RefProject=Číslo projektu ProjectId=Id projektu Project=Projekt Projects=Projekty +ProjectStatus=Project status SharedProject=Všichni PrivateProject=Kontakty na projektu MyProjectsDesc=Tento pohled je omezen na projekty u kterých jste uveden jako kontakt (jakéhokoliv typu) @@ -11,7 +12,6 @@ ProjectsDesc=Tento pohled zobrazuje všechny projekty (vaše uživatelské oprá MyTasksDesc=Tento pohled je omezen na projekty či úkoly u kterých jste uveden jako kontakt (jakéhokoliv typu) TasksPublicDesc=Tento pohled zobrazuje všechny projekty a úkoly které máte oprávnění číst. TasksDesc=Tento pohled zobrazuje všechny projekty a úkoly (vaše uživatelské oprávnění vám umožňuje vidět vše). -Myprojects=Moje projekty ProjectsArea=Projekty NewProject=Nový projekt AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Duplikovat kontakty CloneNotes=Duplikovat poznámky CloneProjectFiles=Duplikovat připojené soubory projektu CloneTaskFiles=Duplikovat připojené soubory úkolu/ů (pokud úkol(y) klonován(y)) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Opravdu chcete duplikovat tento projekt? ProjectReportDate=Změnit datum úkolu dle data zahájení projektu ErrorShiftTaskDate=Nelze přesunout datum úkolu dle nového data zahájení projektu diff --git a/htdocs/langs/cs_CZ/sendings.lang b/htdocs/langs/cs_CZ/sendings.lang index 986d8018caf..73b172c200e 100644 --- a/htdocs/langs/cs_CZ/sendings.lang +++ b/htdocs/langs/cs_CZ/sendings.lang @@ -4,7 +4,8 @@ Sending=Náklad Sendings=Zásilky Shipment=Náklad Shipments=Zásilky -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Zásilky oblast ListOfSendings=Seznam zásilek SendingMethod=Způsob dopravy @@ -14,7 +15,7 @@ SearchASending=Hledat zásilky StatisticsOfSendings=Statistika zásilek NbOfSendings=Počet zásilek NumberOfShipmentsByMonth=Počet zásilek podle měsíce -SendingCard=Přepravní karty +SendingCard=Shipment card NewSending=Nová zásilka CreateASending=Vytvořit zásilku CreateSending=Vytvořit zásilku @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Zrušený StatusSendingDraftShort=Návrh StatusSendingValidatedShort=Ověřené StatusSendingProcessedShort=Zpracované -SendingSheet=Odeslání list +SendingSheet=Shipment sheet Carriers=Dopravci Carrier=Nosič CarriersArea=Dopravci oblasti @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Události na zásilky LinkToTrackYourPackage=Odkaz pro sledování balíku ShipmentCreationIsDoneFromOrder=Pro tuto chvíli, je vytvoření nové zásilky provést z objednávky karty. -RelatedShippings=Související shippings +RelatedShippings=Related shipments ShipmentLine=Zásilka linka CarrierList=Seznam dopravců -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Chytit zákazníka diff --git a/htdocs/langs/cs_CZ/stocks.lang b/htdocs/langs/cs_CZ/stocks.lang index 33382804d83..57d76a0cdf7 100644 --- a/htdocs/langs/cs_CZ/stocks.lang +++ b/htdocs/langs/cs_CZ/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Sklady hodnota UserWarehouseAutoCreate=Vytvořte sklad automaticky při vytváření uživatele QtyDispatched=Množství odesláno +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Stock dispečink RuleForStockManagementDecrease=Pravidlo pro snížení řízení zásob RuleForStockManagementIncrease=Pravidlo pro zvýšení řízení zásob @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Zvýšení reálné zásoby na dodavatele objednávek kol ReStockOnDispatchOrder=Zvýšení reálné zásoby na ruční dispečinku do skladů, poté, co se s dodavately účelem obdržení ReStockOnDeleteInvoice=Zvýšení reálné zásoby na faktuře smazání OrderStatusNotReadyToDispatch=Řád má ještě není, nebo více postavení, které umožňuje zasílání výrobků na skladě skladech. -StockDiffPhysicTeoric=Důvod pro rozdíl skladem fyzikální a teoretické +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Žádné předdefinované produkty pro tento objekt. Takže žádné dispečink skladem je nutná. DispatchVerb=Odeslání StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass pohyb zásob SelectProductInAndOutWareHouse=Vyberte produkt, množství, zdrojový sklad a cílový sklad, pak klikněte na "%s". Jakmile se tak stane pro všechny požadované pohyby, klikněte na "%s". RecordMovement=Záznam transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/cs_CZ/suppliers.lang b/htdocs/langs/cs_CZ/suppliers.lang index 1035bf97a0c..57bd9b70754 100644 --- a/htdocs/langs/cs_CZ/suppliers.lang +++ b/htdocs/langs/cs_CZ/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Dodavatelé Supplier=Dodavatel -AddSupplier=Přidat dodavatele +AddSupplier=Create a supplier SupplierRemoved=Dodavatel odstraní SuppliersInvoice=Dodavatelé faktura NewSupplier=Nový dodavatel @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Žádný nebo dávkový %s ne běžel nedávno SentToSuppliers=Odeslané dodavatelům ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/cs_CZ/withdrawals.lang b/htdocs/langs/cs_CZ/withdrawals.lang index 09545ace787..0af0c654f64 100644 --- a/htdocs/langs/cs_CZ/withdrawals.lang +++ b/htdocs/langs/cs_CZ/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Kredit na WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Zobrazit Natáhněte IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one withdrawal payment not yet processed, it won't be set as paid to allow prior withdrawal management. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Odstoupení soubor SetToStatusSent=Nastavte na stav "odeslaný soubor" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/cs_CZ/workflow.lang b/htdocs/langs/cs_CZ/workflow.lang index d3b3bf8cd98..599d9c2ac17 100644 --- a/htdocs/langs/cs_CZ/workflow.lang +++ b/htdocs/langs/cs_CZ/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow modul nastavení -WorkflowDesc=Tento modul je určen pro změnu chování automatických akcí, do aplikace. Ve výchozím nastavení workflow je otevřen (uděláte něco, aby chcete). Můžete povolit automatické akce, které jsou zajímavé palců +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Není workflow můžete upravit pro modul bylo aktivováno. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Vytvoření objednávky zákazníka automaticky po komerční Návrh je podepsán descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Vytvořte zákaznické faktury automaticky po komerční Návrh je podepsán diff --git a/htdocs/langs/da_DK/accountancy.lang b/htdocs/langs/da_DK/accountancy.lang index 789f9d8a0ff..65d6fad2389 100644 --- a/htdocs/langs/da_DK/accountancy.lang +++ b/htdocs/langs/da_DK/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Konfiguration af ekspert Regnskabsmodulet Journaux=Journaler JournalFinancial=Finans journal Exports=Eksporter +Export=Export Modelcsv=Eksportmodul +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Vælg en eksportmodel Modelcsv_normal=Klassisk eksport Modelcsv_CEGID=Eksporter med CEGID ekspert @@ -66,7 +68,7 @@ Lineofinvoice=Fakturalinjer VentilatedinAccount=Fornyet med succes i den regnskabsmæssige konto NotVentilatedinAccount=Ikke fornyede i den regnskabsmæssige konto -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/da_DK/admin.lang b/htdocs/langs/da_DK/admin.lang index fc44078647d..93e6a224b77 100644 --- a/htdocs/langs/da_DK/admin.lang +++ b/htdocs/langs/da_DK/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=Det er opsætningen til processen: StepNb=Trin %s FindPackageFromWebSite=Find en pakke, der giver funktion, du ønsker (for eksempel på web site %s). -DownloadPackageFromWebSite=Download pakken fra websted %s. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Pak pakke filen i Dolibarr's rodbibliotek %s SetupIsReadyForUse=Installer er færdig og Dolibarr er klar til brug med denne nye komponent. NotExistsDirect=The alternative root directory is not defined.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Select module: CurrentVersion=Dolibarr aktuelle version CallUpdatePage=Gå til den side, der opdaterer database struktur og oplysningerne %s. LastStableVersion=Seneste stabile version +UpdateServerOffline=Update server offline GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=Alle andre tegn i maske vil forblive intakt.
Mellemrum er ikke tilladt.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Eksporter interventioner Permission71=Læs medlemmer Permission72=Opret / ændre medlemmer Permission74=Slet medlemmer -Permission75=Setup former og attributter for medlemmer +Permission75=Setup types of membership Permission76=Eksporter oplysningerne Permission78=Læs abonnementer Permission79=Opret / ændre abonnementer @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Slet sendings Permission111=Læs finansielle konti Permission112=Opret / ændre / slette og sammenligne transaktioner -Permission113=Setup finansielle regnskaber (oprette, administrere kategorier) -Permission114=Konsolidere transaktioner +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Eksporttransaktioner og kontoudtog Permission116=Overførsler mellem konti Permission117=Administrer checks lastfordelingen @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Opsætning af sendings via e-mail SendmailOptionNotComplete=Advarsel, på nogle Linux-systemer, for at sende e-mails fra din e-mail, sendmail udførelse opsætning skal conatins option-ba (parameter mail.force_extra_parameters i din php.ini fil). Hvis nogle modtagere aldrig modtage e-mails, så prøv at redigere denne PHP parameter med mail.force_extra_parameters =-ba). PathToDocuments=Sti til dokumenter PathDirectory=Directory -SendmailOptionMayHurtBuggedMTA=Feature til at sende mails ved hjælp af metoden "PHP mail direkte" vil generere en mail, der måske ikke korrekt fortolket af nogle modtager mail-servere. Resultatet er, at nogle mails ikke kan læses af personer, der hostes af thoose aflyttet platforme. Det er tilfældet for nogle Internet-udbydere (Ex: Orange i Frankrig). Dette er ikke et problem i Dolibarr eller ind i PHP, men på at modtage e-mail-server. Du kan dog tilføje muligheden MAIN_FIX_FOR_BUGGED_MTA til 1 i setup - andet at ændre Dolibarr at undgå dette. Dog kan du opleve problemer med andre servere, nøje at overholde SMTP standard. Den anden løsning (monteringstid) er at bruge metoden "SMTP socket bibliotek", der ikke har nogen ulemper. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=At validere den rækkefølge efter forslag tættere FreeLegalTextOnOrders=Fri tekst om ordrer WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Klik for at ringe modul opsætning ClickToDialUrlDesc=Url called when a click on phone picto is done. Dans l'url, vous pouvez utiliser les balises
__PHONETO__ qui sera remplacé par le téléphone de l'appelé
__PHONEFROM__ qui sera remplacé par le téléphone de l'appelant (le votre)
__LOGIN__ qui sera remplacé par votre login clicktodial (défini sur votre fiche utilisateur)
__PASS__ qui sera remplacé par votre mot de passe clicktodial (défini sur votre fiche utilisateur). @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=Emailing modul opsætning MailingEMailFrom=Afsender E-mail (Fra) for e-mails sendt med e-mail-modulet MailingEMailError=Retur EMail (Fejl-til) for e-mails med fejl +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Afsender E-mail (Fra) for e-mails sendt til anmeldelser @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Sender modul opsætning SendingsReceiptModel=Afsendelse modtagelsen model SendingsNumberingModules=Sendings nummerering moduler -SendingsAbility=Support sendings ark for kunden leverancer +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=I de fleste tilfælde sendings indtægter anvendes både som plader til kunden leverancer (listen over produkter til at sende) og plader, der er recevied og underskrevet af kunden. Så produkt leverancer kvitteringer er en overlappes træk og er sjældent aktiveret. -FreeLegalTextOnShippings=Fri tekst på Shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Produkter leverancer modtagelsen nummerressourcer modul DeliveryOrderModel=Produkter leverancer modtagelsen model @@ -1414,7 +1420,7 @@ AdvancedEditor=Avanceret editor ActivateFCKeditor=Aktivér FCKeditor for: FCKeditorForCompany=WYSIWIG oprettelsen / udgave af virksomhedernes beskrivelse og noter FCKeditorForProduct=WYSIWIG oprettelsen / udgave af produkter / services' beskrivelse og noter -FCKeditorForProductDetails=WYSIWIG oprettelsen / udgave af produkter detaljer linjer for alle enheder (forslag, ordrer, fakturaer, etc. ..)
Advarsel: Brug denne indstilling er seriøst ikke recommanded, da det kan skabe problemer med specialtegn og side formatering når bygningen PDF filer. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG oprettelsen / udgave af postforsendelser FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/da_DK/agenda.lang b/htdocs/langs/da_DK/agenda.lang index 577f4ba40ef..b8b1c1005f1 100644 --- a/htdocs/langs/da_DK/agenda.lang +++ b/htdocs/langs/da_DK/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Kunde ordre %s sendt via e-mail InvoiceSentByEMail=Kundefaktura %s sendt via e-mail SupplierOrderSentByEMail=Leverandør ordre %s sendt via e-mail SupplierInvoiceSentByEMail=Leverandørfaktura %s sendt via e-mail -ShippingSentByEMail=Forsendelse %s sendt via e-mail -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Tredjepart skabt DateActionPlannedStart= Planlagt startdato DateActionPlannedEnd= Planlagte slutdato @@ -68,7 +69,7 @@ DateActionDoneEnd= Real slutdato DateActionStart= Startdato DateActionEnd= Slutdato AgendaUrlOptions1=Du kan også tilføje følgende parametre til at filtrere output: -AgendaUrlOptions2=login=login= %s for at begrænse produktionen til aktioner skabt af, påvirkes i eller udføres af brugeren %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=logint= %s for at begrænse produktionen til aktioner påvirket til brugeren %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/da_DK/banks.lang b/htdocs/langs/da_DK/banks.lang index 6d958882d3f..11dfcb6ab7c 100644 --- a/htdocs/langs/da_DK/banks.lang +++ b/htdocs/langs/da_DK/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Konto FinancialAccounts=Konti BankAccount=Bankkonto BankAccounts=Bankkonti +ShowAccount=Show Account AccountRef=Finansiel konto ref AccountLabel=Finansiel konto etiket CashAccount=Cash konto diff --git a/htdocs/langs/da_DK/bills.lang b/htdocs/langs/da_DK/bills.lang index eb55c6333a6..4fec0d6f176 100644 --- a/htdocs/langs/da_DK/bills.lang +++ b/htdocs/langs/da_DK/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Faktura Bills=Fakturaer -BillsCustomers=Kundernes fakturaer -BillsCustomer=Kundens faktura -BillsSuppliers=Leverandørernes fakturaer -BillsCustomersUnpaid=Ulønnet kundernes fakturaer +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Ulønnet kundernes fakturaer for %s BillsSuppliersUnpaid=Ulønnet leverandørernes fakturaer BillsSuppliersUnpaidForCompany=Ulønnet leverandørens fakturaer for %s BillsLate=Forsinkede betalinger -BillsStatistics=Kundernes fakturaer statistik -BillsStatisticsSuppliers=Leverandørernes fakturaer statistik +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Deaktiveret, fordi kan ikke slettes InvoiceStandard=Standard faktura InvoiceStandardAsk=Standard faktura @@ -348,6 +348,7 @@ ChequeNumber=Check N ChequeOrTransferNumber=Check / Transfer N ChequeMaker=Check transmitter ChequeBank=Bank of check +CheckBank=Check NetToBePaid=Net, der skal betales PhoneNumber=Tlf FullPhoneNumber=Telefon @@ -388,7 +389,7 @@ DisabledBecausePayments=Ikke muligt da der er nogle betalinger CantRemovePaymentWithOneInvoicePaid=Kan ikke fjerne betaling, da der er mindst på faktura, der er klassificeret betales ExpectedToPay=Forventet betaling PayedByThisPayment=Betales af denne betaling -ClosePaidInvoicesAutomatically=Klassificere "betales" hele standarden eller udskiftning af fakturaer entirely betales. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=Alle faktura uden mangler at betale, vil automatisk blive lukket for status "betales". ToMakePayment=Pay @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Repræsentant opfølgning lev TypeContact_invoice_supplier_external_BILLING=Leverandør faktura kontakt TypeContact_invoice_supplier_external_SHIPPING=Leverandør shipping kontakt TypeContact_invoice_supplier_external_SERVICE=Leverandør service kontakt +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/da_DK/compta.lang b/htdocs/langs/da_DK/compta.lang index ded8d2c0619..81fbbbf7872 100644 --- a/htdocs/langs/da_DK/compta.lang +++ b/htdocs/langs/da_DK/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Omsætning PaymentsNotLinkedToInvoice=Betalinger ikke er knyttet til en faktura, så der ikke er knyttet til nogen tredjepart PaymentsNotLinkedToUser=Betalinger ikke er knyttet til en bruger Profit=Profit +AccountingResult=Accounting result Balance=Balance Debit=Debet Credit=Kredit diff --git a/htdocs/langs/da_DK/cron.lang b/htdocs/langs/da_DK/cron.lang index 344ff0127ac..cb5e21f817a 100644 --- a/htdocs/langs/da_DK/cron.lang +++ b/htdocs/langs/da_DK/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/da_DK/ecm.lang b/htdocs/langs/da_DK/ecm.lang index 857d828d744..ee1788e025c 100644 --- a/htdocs/langs/da_DK/ecm.lang +++ b/htdocs/langs/da_DK/ecm.lang @@ -23,10 +23,10 @@ ECMNewDocument=Nyt dokument ECMCreationDate=Lavet dato ECMNbOfFilesInDir=Antallet af filer i mappen ECMNbOfSubDir=Antal sub-mapper -# ECMNbOfFilesInSubDir=Number of files in sub-directories +ECMNbOfFilesInSubDir=Number of files in sub-directories ECMCreationUser=Creator -# ECMArea=EDM area -# ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. +ECMArea=EDM area +ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. ECMAreaDesc2=* Automatisk abonnentfortegnelser fyldes automatisk, når tilføjelse af dokumenter fra kort af et element.
* Manual mapper kan bruges til at gemme dokumenter, der ikke er knyttet til et bestemt element. ECMSectionWasRemoved=Directory %s er blevet slettet. ECMDocumentsSection=Dokument fra biblioteket @@ -35,14 +35,16 @@ ECMSearchByEntity=Søg på objektet ECMSectionOfDocuments=Abonnentfortegnelser af dokumenter ECMTypeManual=Manual ECMTypeAuto=Automatisk -# ECMDocsBySocialContributions=Documents linked to social contributions +ECMDocsBySocialContributions=Documents linked to social contributions ECMDocsByThirdParties=Dokumenter knyttet til tredjemand ECMDocsByProposals=Dokumenter knyttet til forslag ECMDocsByOrders=Dokumenter knyttet til kundernes ordrer ECMDocsByContracts=Dokumenter i forbindelse med kontrakter ECMDocsByInvoices=Dokumenter knyttet til kunder fakturaer ECMDocsByProducts=Dokumenter i tilknytning til produkter -# ECMDocsByProjects=Documents linked to projects +ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=Nr. bibliotek skabt ShowECMSection=Vis mappe DeleteSection=Fjern mappe @@ -51,5 +53,5 @@ ECMDirectoryForFiles=Relativ mappe for filer CannotRemoveDirectoryContainsFiles=Fjernes ikke muligt, fordi den indeholder nogle filer ECMFileManager=Filhåndtering ECMSelectASection=Vælg en mappe på venstre-træ ... -# DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. +DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. diff --git a/htdocs/langs/da_DK/errors.lang b/htdocs/langs/da_DK/errors.lang index 2b99a1f9166..9ad36372483 100644 --- a/htdocs/langs/da_DK/errors.lang +++ b/htdocs/langs/da_DK/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Opsætning af modulet ser ud til at være uncomplete ErrorBadMask=Fejl på maske ErrorBadMaskFailedToLocatePosOfSequence=Fejl, maske uden loebenummeret ErrorBadMaskBadRazMonth=Fejl, dårlig reset værdi +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Fejl. Vælg mindst én post. ErrorProductWithRefNotExist=Produkt med reference '%s' findes ikke ErrorDeleteNotPossibleLineIsConsolidated=Slet ikke muligt, fordi record er forbundet med en bank transation der er forsonet @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/da_DK/install.lang b/htdocs/langs/da_DK/install.lang index 23160c4adc2..443877735a9 100644 --- a/htdocs/langs/da_DK/install.lang +++ b/htdocs/langs/da_DK/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migration er færdig LastStepDesc=Sidste trin: Definer her login og adgangskode, du planlægger at bruge til at oprette forbindelse til software. Må ikke løse dette, da det er den konto, at administrere alle andre. ActivateModule=Aktiver modul %s ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Update tid i sekunder MigrationActioncommElement=Opdatere data om tiltag MigrationPaymentMode=Data migration for betaling mode MigrationCategorieAssociation=Migration of categories +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/da_DK/languages.lang b/htdocs/langs/da_DK/languages.lang index d56357fe02c..a36180be01b 100644 --- a/htdocs/langs/da_DK/languages.lang +++ b/htdocs/langs/da_DK/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Tysk (Østrig) Language_de_CH=German (Switzerland) Language_el_GR=Græsk Language_en_AU=Engelsk (Australien) +Language_en_CA=English (Canada) Language_en_GB=English (United Kingdom) Language_en_IN=Engelsk (Indien) Language_en_NZ=Engelsk (New Zealand) diff --git a/htdocs/langs/da_DK/main.lang b/htdocs/langs/da_DK/main.lang index 276eb8d3f3f..6ce6c3fe051 100644 --- a/htdocs/langs/da_DK/main.lang +++ b/htdocs/langs/da_DK/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd/MM/yyyy FormatDateShortJavaInput=dd/MM/yyyy FormatDateShortJQuery=dd/mm/yy FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Fejl, kunne ikke gemme filen. SetDate=Set date SelectDate=Select a date SeeAlso=Se også %s +SeeHere=See here BackgroundColorByDefault=Standard baggrundsfarve FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=Bruger Users=Brugere Group=Gruppen Groups=Grupper +NoUserGroupDefined=No user group defined Password=Password PasswordRetype=Gentag dit password NoteSomeFeaturesAreDisabled=Bemærk, at en masse funktioner / moduler er slået fra i denne demonstration. @@ -258,6 +261,7 @@ days=dage Hours=Timer Minutes=Minutter Seconds=Sekunder +Weeks=Weeks Today=I dag Yesterday=I går Tomorrow=I morgen @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Mandag Tuesday=Tirsdag diff --git a/htdocs/langs/da_DK/margins.lang b/htdocs/langs/da_DK/margins.lang index 7ced0e4fc68..4490f67cc03 100644 --- a/htdocs/langs/da_DK/margins.lang +++ b/htdocs/langs/da_DK/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Produkt eller tjeneste AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/da_DK/orders.lang b/htdocs/langs/da_DK/orders.lang index ad1730360a9..e85107b54f0 100644 --- a/htdocs/langs/da_DK/orders.lang +++ b/htdocs/langs/da_DK/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Leverandør orden SuppliersOrders=Suppliers' ordrer SuppliersOrdersRunning=Nuværende leverandører ordrer CustomerOrder=Kunden for -CustomersOrders=Kundernes ordrer +CustomersOrders=Customers orders CustomersOrdersRunning=Nuværende kundernes ordrer CustomersOrdersAndOrdersLines=Kundens ordrer og kendelser 'linjer -OrdersToValid=Ordrer på gyldige -OrdersToBill=Ordrer til lovforslag -OrdersInProcess=Ordrer i processen -OrdersToProcess=Ordrer til processen +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Leverandørens ordre om at behandle StatusOrderCanceledShort=Annulleret StatusOrderDraftShort=Udkast StatusOrderValidatedShort=Valideret StatusOrderSentShort=I proces StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Den proces +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Forarbejdede StatusOrderToBillShort=Til lovforslag StatusOrderToBill2Short=Til lovforslag @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Alt modtaget StatusOrderCanceled=Annulleret StatusOrderDraft=Udkast (skal valideres) StatusOrderValidated=Valideret -StatusOrderOnProcess=Den proces +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Forarbejdede StatusOrderToBill=Til lovforslag StatusOrderToBill2=Til lovforslag @@ -50,6 +50,8 @@ StatusOrderRefused=Afviste StatusOrderReceivedPartially=Delvist modtaget StatusOrderReceivedAll=Alt modtaget ShippingExist=En forsendelse eksisterer +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Udkast til eller godkendt endnu ikke bestilt DraftOrWaitingShipped=Udkast til eller valideres endnu ikke afsendt MenuOrdersToBill=Ordrer til lovforslag diff --git a/htdocs/langs/da_DK/productbatch.lang b/htdocs/langs/da_DK/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/da_DK/productbatch.lang +++ b/htdocs/langs/da_DK/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/da_DK/products.lang b/htdocs/langs/da_DK/products.lang index b267137b5e1..ecd03ef5957 100644 --- a/htdocs/langs/da_DK/products.lang +++ b/htdocs/langs/da_DK/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Regnskab kode (sælge) ProductOrService=Produkt eller tjeneste ProductsAndServices=Produkter og services ProductsOrServices=Produkter eller tjenesteydelser -ProductsAndServicesOnSell=Produkter og tjenester på sælge -ProductsAndServicesNotOnSell=Produkter og services ud af sælge +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Produkter og services statistik ProductsStatistics=Produkter statistik -ProductsOnSell=Produkter på sælge -ProductsNotOnSell=Produkter ud af sælge -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Tjenester på sælge -ServicesNotOnSell=Tjenester ud af sælge -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Intern reference LastRecorded=Seneste produkter / ydelser på sælge registreres LastRecordedProductsAndServices=Seneste %s precorded rodukter / tjenester @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/da_DK/projects.lang b/htdocs/langs/da_DK/projects.lang index db358f6bdad..88c5210f23c 100644 --- a/htdocs/langs/da_DK/projects.lang +++ b/htdocs/langs/da_DK/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Projekt Projects=Projekter +ProjectStatus=Project status SharedProject=Fælles projekt PrivateProject=Kontakter af projektet MyProjectsDesc=Dette synspunkt er begrænset til projekter, du er en kontaktperson for (hvad der er den type). @@ -11,7 +12,6 @@ ProjectsDesc=Dette synspunkt præsenterer alle projekter (din brugertilladelser MyTasksDesc=Dette synspunkt er begrænset til projekter eller opgaver, du er en kontaktperson for (hvad der er den type). TasksPublicDesc=Dette synspunkt præsenterer alle projekter og opgaver, som du får lov til at læse. TasksDesc=Dette synspunkt præsenterer alle projekter og opgaver (din brugertilladelser give dig tilladelse til at se alt). -Myprojects=Mine projekter ProjectsArea=Projekter område NewProject=Nyt projekt AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/da_DK/sendings.lang b/htdocs/langs/da_DK/sendings.lang index feec180528b..a52622bda7c 100644 --- a/htdocs/langs/da_DK/sendings.lang +++ b/htdocs/langs/da_DK/sendings.lang @@ -4,7 +4,8 @@ Sending=Sender Sendings=Sendings Shipment=Sender Shipments=Forsendelser -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Sendings område ListOfSendings=Liste over sendings SendingMethod=Afsendelse metode @@ -14,7 +15,7 @@ SearchASending=Søg en sendeorganisation StatisticsOfSendings=Statistik over sendings NbOfSendings=Antal sendings NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Afsendelse kortet +SendingCard=Shipment card NewSending=Ny afsendelse CreateASending=Opret en sendeorganisation CreateSending=Opret afsendelse @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Aflyst StatusSendingDraftShort=Udkast StatusSendingValidatedShort=Valideret StatusSendingProcessedShort=Forarbejdet -SendingSheet=Afsendelse ark +SendingSheet=Shipment sheet Carriers=Carriers Carrier=Carrier CarriersArea=Rederierne område @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Arrangementer på forsendelse LinkToTrackYourPackage=Link til at spore din pakke ShipmentCreationIsDoneFromOrder=For øjeblikket er skabelsen af ​​en ny forsendelse udført af ordrekortet. -RelatedShippings=Related shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Fangst af kunden diff --git a/htdocs/langs/da_DK/stocks.lang b/htdocs/langs/da_DK/stocks.lang index 78b35609b00..acb10492f90 100644 --- a/htdocs/langs/da_DK/stocks.lang +++ b/htdocs/langs/da_DK/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Lager værdi UserWarehouseAutoCreate=Opret en bestand automatisk, når du opretter en bruger QtyDispatched=Afsendte mængde +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Bestil lastfordelingen RuleForStockManagementDecrease=Reglen for lagerstyring fald RuleForStockManagementIncrease=Reglen for lagerstyring stigning @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Forhøjelse reelle bestande om ordrer noter ReStockOnDispatchOrder=Øge den reelle bestande på manuel ekspedition i pakhuse, efter at leverandøren ordremodtagelse ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=Ordren er endnu ikke eller ikke mere en status, der tillader forsendelse af varer på lager lagre. -StockDiffPhysicTeoric=Årsag til forskel bestand fysisk og teoretisk +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Ingen foruddefinerede produkter for dette objekt. Så ingen ekspedition på lager er påkrævet. DispatchVerb=Forsendelse StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/da_DK/suppliers.lang b/htdocs/langs/da_DK/suppliers.lang index 4bb65dd313c..2d7dbf35ee6 100644 --- a/htdocs/langs/da_DK/suppliers.lang +++ b/htdocs/langs/da_DK/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Leverandører Supplier=Leverandør -AddSupplier=Tilføj en leverandør +AddSupplier=Create a supplier SupplierRemoved=Leverandør fjernet SuppliersInvoice=Leverandører faktura NewSupplier=Ny leverandør @@ -12,8 +12,8 @@ OrderDate=Bestil dato BuyingPrice=Koebspris BuyingPriceMin=Min købskurs BuyingPriceMinShort=Min købskurs -TotalBuyingPriceMin=Total of subproducts buying prices -SomeSubProductHaveNoPrices=Some sub-products have no price defined +TotalBuyingPriceMin=Total af underprodukters købspris +SomeSubProductHaveNoPrices=Nogle underprodukter har ingen pris defineret AddSupplierPrice=Tilføj leverandør pris ChangeSupplierPrice=Skifte leverandør pris ErrorQtyTooLowForThisSupplier=Mængde for lav for denne leverandør eller ingen pris defineret om dette produkt for denne leverandør @@ -39,6 +39,8 @@ AddSupplierOrder=Opret leverandør for AddSupplierInvoice=Opret leverandørens faktura ListOfSupplierProductForSupplier=Liste over produkter og priser for leverandørens %s NoneOrBatchFileNeverRan=Ingen eller parti %s ikke kørte for nylig -SentToSuppliers=Sent to suppliers -ListOfSupplierOrders=List of supplier orders -MenuOrdersSupplierToBill=Supplier orders to invoice +SentToSuppliers=Send til leverandører +ListOfSupplierOrders=Liste over leverandør ordrer +MenuOrdersSupplierToBill=Leverandør ordrer der kan faktureres +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/da_DK/withdrawals.lang b/htdocs/langs/da_DK/withdrawals.lang index 11dda452e35..525dd55f91e 100644 --- a/htdocs/langs/da_DK/withdrawals.lang +++ b/htdocs/langs/da_DK/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Kredit på WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Vis Træk IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Hvis faktura mindst en tilbagetrækning betaling endnu ikke behandlet, vil den ikke blive angivet som betales for at tillade at styre tilbagetrækning før. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/da_DK/workflow.lang b/htdocs/langs/da_DK/workflow.lang index 9398b893222..0b3cf499945 100644 --- a/htdocs/langs/da_DK/workflow.lang +++ b/htdocs/langs/da_DK/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow-modul opsætning -WorkflowDesc=Dette modul designed at ændre adfærd automatiske handlinger i anvendelse. Som standard er workflow åbnet (du laver ting i rækkefølge, du ønsker). Du kan aktiveret automatiske handlinger, som du er interessant i. +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Der er ingen workflow kan du ændre til modul du har aktiveret. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Opret en kundeordre automatisk efter en kommerciel forslag er underskrevet descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Opret en kundefaktura automatisk efter en kommerciel forslag er underskrevet descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Opret en kundefaktura automatisk efter en kontrakt er valideret descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Opret en kundefaktura automatisk efter en kundeordre er lukket -# descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/de_DE/accountancy.lang b/htdocs/langs/de_DE/accountancy.lang index 96c7bf1a336..ae192806fb8 100644 --- a/htdocs/langs/de_DE/accountancy.lang +++ b/htdocs/langs/de_DE/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journale JournalFinancial=Finanz-Journale Exports=Exports +Export=Export Modelcsv=Exportmodell +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Wählen Sie ein Exportmodell Modelcsv_normal=Klassischer Export Modelcsv_CEGID=Export zu CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Rechnungszeile VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=CSV Trennzeichen +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/de_DE/admin.lang b/htdocs/langs/de_DE/admin.lang index bf4499985bc..68f2ac30cb8 100644 --- a/htdocs/langs/de_DE/admin.lang +++ b/htdocs/langs/de_DE/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Nicht in Produktion nutzen ThisIsProcessToFollow=So führen Sie die Installation/Aktualisierung des Systems durch: StepNb=Schritt %s FindPackageFromWebSite=Finden Sie ein Paket, das die gewünschten Funktionen beinhaltet (zum Beispiel auf der offiziellen Website %s). -DownloadPackageFromWebSite=Herunterladen des Installationspakets von der Website %s +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Entpacken des Pakets in den Stammordner der Systeminstallation %s SetupIsReadyForUse=Die Installation ist abgeschlossen und das System zur Verwendung der neuen Komponente bereit. NotExistsDirect=Kein alternatives Stammverzeichnis definiert.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Modul wählen: CurrentVersion=Aktuelle dolibarr-Version CallUpdatePage=Zur Aktualisierung der Daten und Datenbankstrukturen gehen Sie zur Seite %s. LastStableVersion=Letzte stabile Version +UpdateServerOffline=Update server offline GenericMaskCodes=Sie können ein beliebiges Numerierungsschema wählen. Dieses Schema könnte z.B. so aussehen:
{000000} steht für eine 6-stellige Nummer, die sich bei jedem neuen %s automatisch erhöht. Wählen Sie die Anzahl der Nullen je nach gewünschter Nummernlänge. Der Zähler füllt sich automatisch bis zum linken Ende mit Nullen um das gewünschte Format abzubilden.
{000000+000} führt zu einem ähnlichen Ergebnis, allerdings mit einem Wertsprung in Höhe des Werts rechts des Pluszeichens, der beim ersten %s angewandt wird.
{000000@x} wie zuvor, jedoch stellt sich der Zähler bei Erreichen des Monats x (zwischen 1 und 12) automatisch auf 0 zurück. Ist diese Option gewählt und x hat den Wert 2 oder höher, ist die Folge {mm}{yy} or {mm}{yyyy} ebenfalls erfoderlich.
{dd} Tag (01 bis 31).
{mm} Monat (01 bis 12).
{yy}, {yyyy} or {y} Jahreszahl 1-, 2- oder 4-stellig.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=Alle anderen Zeichen in der Maske bleiben.
Leerzeichen sind nicht zulässig.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Wähle von Tabelle ExtrafieldSeparator=Trennzeichen ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameterlisten müssen das Format Schlüssel,Wert haben

zum Beispiel:
1,Wert1
2,Wert2
3,Wert3
...

Um die Liste in Abhängigkeit zu einer anderen zu haben:
1,Wert1|parent_list_code:parent_key
2,Wert2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameterlisten müssen das Format Schlüssel,Wert haben

zum Beispiel:
1,Wert1
2,Wert2
3,Wert3
... ExtrafieldParamHelpradio=Parameterlisten müssen das Format Schlüssel,Wert haben

zum Beispiel:
1,Wert1
2,Wert2
3,Wert3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Verwendete Bibliothek zur PDF-Erzeugung WarningUsingFPDF=Achtung: Ihre conf.php enthält $dolibarr_pdf_force_fpdf=1 Dies bedeutet, dass Sie die FPDF-Bibliothek verwenden, um PDF-Dateien zu erzeugen. Diese Bibliothek ist alt und unterstützt viele Funktionen nicht (Unicode-, Bild-Transparenz, kyrillische, arabische und asiatische Sprachen, ...), so dass es zu Fehlern bei der PDF-Erstellung kommen kann.
Um dieses Problem zu beheben und volle Unterstützung der PDF-Erzeugung zu erhalten, laden Sie bitte die TCPDF Bibliothek , dann kommentieren Sie die Zeile $dolibarr_pdf_force_fpdf=1 aus oder entfernen diese und fügen statt dessen $dolibarr_lib_TCPDF_PATH='Pfad_zum_TCPDF_Verzeichnisr' ein LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -516,7 +519,7 @@ Module2800Desc=FTP-Client Module2900Name=GeoIPMaxmind Module2900Desc=GeoIP Maxmind Konvertierung Module3100Name=Skype -Module3100Desc=Add a Skype button into card of adherents / third parties / contacts +Module3100Desc=Skypebutton hinzufügen in in Karte von Kontakten / Drittparteien / Mitgliedern Module5000Name=Mandantenfähigkeit Module5000Desc=Ermöglicht Ihnen die Verwaltung mehrerer Firmen Module6000Name=Workflow @@ -572,7 +575,7 @@ Permission67=Service exportieren Permission71=Mitglieder einsehen Permission72=Mitglieder erstellen/bearbeiten Permission74=Mitglieder löschen -Permission75=Mitgliedertypen und -attribute einstellen +Permission75=Erstellen Typen von Mitgliedschaft Permission76=Daten exportieren Permission78=Abonnements einsehen Permission79=Abonnements erstellen/bearbeiten @@ -595,8 +598,8 @@ Permission106=Sendungen exportieren Permission109=Sendungen löschen Permission111=Finanzkonten einsehen Permission112=Transaktionen anlegen/ändern/löschen und vergleichen -Permission113=Finanzkonten einstellen (erstellen, Kategorien verwalten) -Permission114=Konsolidierung der Transaktionen +Permission113=Einstellungen Finanzkonten (erstellen, Kategorien verwalten) +Permission114=Transaktionen ausgleichen Permission115=Transaktionen und Kontoauszüge exportieren Permission116=Transfers zwischen Konten Permission117=Scheckeinlösungen verwalten @@ -761,6 +764,7 @@ Permission55001=Abstimmungen einsehen Permission55002=Abstimmung erstellen/ändern Permission59001=Margen einsehen Permission59002=Margen definieren +Permission59003=Read every user margin DictionaryCompanyType=Partnertyp DictionaryCompanyJuridicalType=Gesellschaftsformen von Drittanbietern DictionaryProspectLevel=Geschäftsaussicht @@ -786,7 +790,7 @@ DictionaryOrderMethods=Bestellmethoden DictionarySource=Quelle der Angebote/Bestellungen DictionaryAccountancyplan=Kontenplan DictionaryAccountancysystem=Kontenplan Modul -DictionaryEMailTemplates=Emails templates +DictionaryEMailTemplates=Emailvorlage SetupSaved=Setup gespeichert BackToModuleList=Zurück zur Modulübersicht BackToDictionaryList=Zurück zur Wörterbuchübersicht @@ -896,7 +900,7 @@ PermanentLeftSearchForm=Ständiges Suchfeld auf der linken Seite DefaultLanguage=Standardsprache der Anwendung (Sprachcode) EnableMultilangInterface=Mehrsprachigkeit aktivieren EnableShowLogo=Logo über dem linken Menü anzeigen -EnableHtml5=Enable Html5 (Developement - Only available on Eldy template) +EnableHtml5=Html5 aktivieren (Entwickler - Nur im Eldy template verwenden) SystemSuccessfulyUpdated=Das System wurde erfolgreich aktualisiert CompanyInfo=Firmen-/Stiftungsinformationen CompanyIds=Firmen-/Stiftungs-IDs @@ -1038,7 +1042,7 @@ SendingMailSetup=Einrichten von Sendungen per E-Mail SendmailOptionNotComplete=Achtung, auf einigen Linux-Systemen, E-Mails von Ihrem E-Mail zu senden, sendmail Ausführung Setup muss conatins Option-ba (Parameter mail.force_extra_parameters in Ihre php.ini-Datei). Wenn einige Empfänger niemals E-Mails erhalten, versuchen, diese Parameter mit PHP mail.force_extra_parameters =-ba) zu bearbeiten. PathToDocuments=Dokumentenpfad PathDirectory=Verzeichnispfad -SendmailOptionMayHurtBuggedMTA=Feature-Mails mit der Methode "PHP mail direkt" senden generiert eine Mail-Nachricht, die nicht korrekt möglicherweise von einigen Mail-Servern empfangen analysiert werden. Ergebnis ist, dass manche Mails nicht von Menschen, die von thoose abgehört Plattformen gehostet gelesen werden. Es ist bei einigen Internet-Providern (Ex: Orange in Frankreich). Dies ist nicht ein Problem in Dolibarr noch in PHP aber auf empfangende Mail-Server. Sie können jedoch hinzuzufügen MAIN_FIX_FOR_BUGGED_MTA Option auf 1 in die Setup - andere zu Dolibarr ändern, um dies zu vermeiden. Sie können jedoch Probleme mit anderen Servern, dass die Achtung streng dem SMTP-Standard zu erleben. Die andere Lösung (empfohlen) ist es, die Methode "SMTP-Socket-Bibliothek", die keine Nachteile hat benutzen. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Wahl der Sprache auf dem Bildschirm sichtbar verändert werden kann:
* Weltweit aus dem Menü Start - Einstellungen - Anzeige
* Für die Benutzer nur von Benutzer-Registerkarte Anzeige von Benutzer-Karte (klicken Sie auf Login-Bildschirm auf der Oberseite). TotalNumberOfActivatedModules=Summe aktivierter Module: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=Sie benutzen den Webbrowser %s. Dieser ist hinsichtlich Sicherheit u BrowserIsKO=Sie benutzen den Webbrowser %s. Dieser ist bekannt für Sicherheitsprobleme, schlechte Leistung und Zuverlässigkeit. Wir empfehlen Ihnen, Firefox, Chrome, Opera oder Safari zu nutzen. XDebugInstalled=XDebug installiert. XCacheInstalled=XCache installiert. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Bearbeitung von Feld %s FixTZ=Zeitzonen-Korrektur FillThisOnlyIfRequired=Beispiel: +2 (nur ausfüllen, wenn Sie Probleme mit der Zeitzone haben) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Zur Freigabe der Bestellung nach Schließung des Ang FreeLegalTextOnOrders=Freier Rechtstext auf Bestellungen WatermarkOnDraftOrders=Wasserzeichen auf Entwürfen von Aufträgen (keins, wenn leer) ShippableOrderIconInList=In Auftragsliste ein entsprechendes Icon zufügen, wenn die Bestellung versandbereit ist +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Click-to-Dial Moduleinstellungen ClickToDialUrlDesc=Definieren Sie hier die URL, die bei einem Klick auf das Telefonsymbol aufgerufen werden soll. In dieser URL können Sie Tags verwenden
%%1$s wird durch die Telefonnummer des Angerufenen ersetzt
%%2$s wird durch die Telefonnummer des Anrufers (Ihre) ersetzt
%%3$s wird durch Ihren Benutzernamen für Click-to-Dial ersetzt (siehe Benutzerdatenblatt)
%%4$s wird durch Ihr Click-to-Dial-Passwort ersetzt (siehe Benutzerdatenblatt). @@ -1392,6 +1397,7 @@ RSSUrlExample=Ein interessanter RSS Feed MailingSetup=E-Mail-Kampagnenmodul-Einstellungen MailingEMailFrom=E-Mail-Absender (für ausgehende Mails) des E-Mail-Moduls MailingEMailError=Antwort-E-Mail-Adresse für unzustellbare E-Mails +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=E-Mail Benachrichtigungs-Einstellungen NotificationEMailFrom=E-Mail-Absender (für ausgehende Mails) des Benachrichtigungsmoduls @@ -1401,9 +1407,9 @@ FixedEmailTarget=Festes E-Mail-Ziel SendingsSetup=Versandmoduleinstellungen SendingsReceiptModel=Versandbelegsvorlage SendingsNumberingModules=Sendungen Nummerierung Module -SendingsAbility=Lieferscheine für Kundensendungen unterstützen +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=In den meisten Fällen werden Lieferschein sowohl als Versand- (für die Zusammenstellung der Sendung), als auch als Zustellsscheine (vom Kunden zu unterschreiben) verwendet. Ensprechend sind Empfangsbelege meist eine doppelte und daher nicht verwendete Option. -FreeLegalTextOnShippings=Freier Text auf Frachtkosten +FreeLegalTextOnShippings=Freier Text auf Lieferungen ##### Deliveries ##### DeliveryOrderNumberingModules=Zustellscheinnumerierungs-Module DeliveryOrderModel=Zustellscheinnumerierung @@ -1414,7 +1420,7 @@ AdvancedEditor=Erweiterter Editor ActivateFCKeditor=FCKEditor aktivieren für: FCKeditorForCompany=WYSIWIG Erstellung/Bearbeitung der Partnerinformationen und Notizen FCKeditorForProduct=WYSIWIG Erstellung/Bearbeitung von Produkt-/Serviceinformationen und Notizen -FCKeditorForProductDetails=WYSIWIG Erstellung/Bearbeitung der Produktdetails für alle Dokumente (Angebote, Bestellungen, Rechnungen, etc. ..)
Achtung: Diese Option kann bei der Erstellung von PDF-Dokumenten zu Fehlern führen und ist deshalb nicht empfohlen. +FCKeditorForProductDetails=WYSIWG Erstellung/Bearbeitung der Produktdetails für alle Dokumente( Angebote, Bestellungen, Rechnungen etc...) Achtung: Die Option führt potentiell zu Problemen mit Umlauten und Sonderzeichen und wird daher nicht empfohlen. FCKeditorForMailing= WYSIWIG Erstellung/Bearbeitung von E-Mails FCKeditorForUserSignature=WYSIWIG Erstellung/Bearbeitung von Benutzer-Signaturen FCKeditorForMail=WYSIWYG Erstellung/Bearbeitung für gesamte Mail (außer Werkzeuge->eMailing) @@ -1497,7 +1503,7 @@ CashDeskBankAccountForCheque= Finanzkonto für Scheckeinlösungen CashDeskBankAccountForCB= Finanzkonto für die Einlösung von Bargeldzahlungen via Kreditkarte CashDeskDoNotDecreaseStock=Disable stock decrease when a sell is done from Point of Sale CashDeskIdWareHouse=Lager für Entnahmen festlegen und und erzwingen -StockDecreaseForPointOfSaleDisabled=Stock decrease from Point Of Sale disabled +StockDecreaseForPointOfSaleDisabled=Verringerung des Lagerbastandes durch Point of Sale deaktivert CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=Lesezeichenmoduleinstellungen @@ -1558,7 +1564,8 @@ NbNumMin=Mindestanzahl Ziffern NbSpeMin=Mindestanzahl Sonderzeichen NbIteConsecutive=Maximale Anzahl sich wiederholender Zeichen NoAmbiCaracAutoGeneration=Verwende keine mehrdeutigen Zeichen ("1", "l", "i", "|", "0", "O") für die automatische Generierung -SalariesSetup=Setup of module salaries +SalariesSetup=Einstellungen des Gehaltsmodul SortOrder=Sortierreihenfolge Format=Format TypePaymentDesc=0:Kunden-Zahlungs-Typ, 1:Lieferanten-Zahlungs-Typ, 2:Sowohl Kunden- als auch Lieferanten-Zahlungs-Typ +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/de_DE/agenda.lang b/htdocs/langs/de_DE/agenda.lang index cdf2c1620ab..5d7002b8db8 100644 --- a/htdocs/langs/de_DE/agenda.lang +++ b/htdocs/langs/de_DE/agenda.lang @@ -29,7 +29,7 @@ ActionsToDoBy=Termine zugewiesen an ActionsDoneBy=Termine erledigt von ActionsForUser=Maßnahmen für Benutzer ActionsForUsersGroup=Maßnahmen für alle Benutzer der Gruppe -ActionAssignedTo=Event assigned to +ActionAssignedTo=Maßnahme zugewiesen an AllMyActions= Alle meine Termine/Aufgaben AllActions= Alle Termine / Aufgaben ViewList=Listenansicht @@ -58,8 +58,9 @@ OrderSentByEMail=Kundenbestellung %s per E-Mail versendet InvoiceSentByEMail=Kundenrechnung %s per E-Mail versendet SupplierOrderSentByEMail=Lieferantenbestellung %s per E-Mail versendet SupplierInvoiceSentByEMail=Lieferantenrechnung %s per E-Mail versendet -ShippingSentByEMail=Lieferschein %s per E-Mail versendet -ShippingValidated= Versand %s freigegeben +ShippingSentByEMail=Lieferung %s per Email versendet +ShippingValidated= Sendung %s freigegeben +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Partner erstellt DateActionPlannedStart= Geplantes Startdatum DateActionPlannedEnd= Geplantes Enddatum @@ -68,7 +69,7 @@ DateActionDoneEnd= Effektives Ende DateActionStart= Startdatum DateActionEnd= Enddatum AgendaUrlOptions1=Sie können die Ausgabe über folgende Parameter filtern: -AgendaUrlOptions2=login=%s begrenzt die Ausgabe auf von Benutzer %s erstellte, betroffene oder erledigte Maßnahmen. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s begrenzt die Ausgabe auf von Benutzer %s erstellte Maßnahmen. AgendaUrlOptions4=logint=%s begrenzt die Ausgabe auf von Benutzer %s betroffene Maßnahmen. AgendaUrlOptionsProject=project=PROJECT_ID begrenzt die die Ausgabe auf Maßnahmen im Zusammenhang mit Projekt PROJECT_ID. diff --git a/htdocs/langs/de_DE/banks.lang b/htdocs/langs/de_DE/banks.lang index dc64c7dc846..262f9f52281 100644 --- a/htdocs/langs/de_DE/banks.lang +++ b/htdocs/langs/de_DE/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Finanzkonto FinancialAccounts=Finanzkonten BankAccount=Finanzkontenübersicht BankAccounts=Kontenübersicht +ShowAccount=Zeige Konto AccountRef=Konto-Referenz AccountLabel=Kontobezeichnung CashAccount=Kasse diff --git a/htdocs/langs/de_DE/bills.lang b/htdocs/langs/de_DE/bills.lang index c6ff37f86a6..9749805f23a 100644 --- a/htdocs/langs/de_DE/bills.lang +++ b/htdocs/langs/de_DE/bills.lang @@ -4,7 +4,7 @@ Bills=Rechnungen BillsCustomers=Kundenrechnungen BillsCustomer=Kundenrechnung BillsSuppliers=Lieferantenrechnungen -BillsCustomersUnpaid=Unbezahlte Rechnungen des Kunden +BillsCustomersUnpaid=Offene Kundenrechnungen BillsCustomersUnpaidForCompany=Unbezahlte Rechnungen für Kunden %s BillsSuppliersUnpaid=Unbezahlte Rechnungen des Lieferanten BillsSuppliersUnpaidForCompany=Unbezahlte Rechnungen des Lieferanten %s @@ -348,6 +348,7 @@ ChequeNumber=Schecknummer ChequeOrTransferNumber=Scheck-/Überweisungsnummer ChequeMaker=Scheckaussteller ChequeBank=Scheckbank +CheckBank=Check NetToBePaid=Netto Zahlbetrag PhoneNumber=Tel FullPhoneNumber=Telefon @@ -388,7 +389,7 @@ DisabledBecausePayments=Nicht möglich, da es Zahlungen gibt CantRemovePaymentWithOneInvoicePaid=Die Zahlung kann nicht entfernt werden, da es mindestens eine Rechnung gibt, die als bezahlt markiert ist ExpectedToPay=Erwartete Zahlung PayedByThisPayment=mit dieser Zahlung beglichen -ClosePaidInvoicesAutomatically=Markiert alle Standard- oder Ersatzrechnungen als "bezahlt", wenn diese vollständig beglichen sind. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Markiert alle Gutschriften als "bezahlt", wenn diese vollständig beglichen sind. AllCompletelyPayedInvoiceWillBeClosed=Alle Rechnungen ohne ausstehende Zahlungen werden automatisch geschlossen und als "bezahlt" markiert. ToMakePayment=Bezahlen @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Repräsentative Follow-up Lie TypeContact_invoice_supplier_external_BILLING=Lieferantenrechnung Kontakt TypeContact_invoice_supplier_external_SHIPPING=Lieferantenversand Kontakt TypeContact_invoice_supplier_external_SERVICE=Lieferantenservice Kontakt +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/de_DE/compta.lang b/htdocs/langs/de_DE/compta.lang index 13aa22245fc..11607daae6c 100644 --- a/htdocs/langs/de_DE/compta.lang +++ b/htdocs/langs/de_DE/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Umsatz PaymentsNotLinkedToInvoice=Zahlungen mit keiner Rechnung und damit auch keinem Partner verbunden PaymentsNotLinkedToUser=Zahlungen mit keinem Benutzer verbunden Profit=Gewinn +AccountingResult=Accounting result Balance=Bilanz Debit=Soll Credit=Haben diff --git a/htdocs/langs/de_DE/cron.lang b/htdocs/langs/de_DE/cron.lang index dddf3eb47c6..2f20a1b93ad 100644 --- a/htdocs/langs/de_DE/cron.lang +++ b/htdocs/langs/de_DE/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL zum Prüfen und Starten von Cronjobs wenn nötig OrToLaunchASpecificJob=Oder zum Prüfen und Starten von speziellen Jobs KeyForCronAccess=Sicherheitsschlüssel für URL zum Starten von Cronjobs FileToLaunchCronJobs=Kommandozeile zum Starten von Cronjobs -CronExplainHowToRunUnix=In Unix-Umgebungen sollte man crontab benutzen um die Kommandozeile jede Minute auszuführen -CronExplainHowToRunWin=In Microsoft(tm) Windows kannst Du die Aufgabenplanung benutzen um die Kommandozeile jede Minute aufzurufen +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Geplante Jobs CronListActive=Liste der aktiven/geplanten Jobs diff --git a/htdocs/langs/de_DE/deliveries.lang b/htdocs/langs/de_DE/deliveries.lang index f35d80b44c0..689a4c4929c 100644 --- a/htdocs/langs/de_DE/deliveries.lang +++ b/htdocs/langs/de_DE/deliveries.lang @@ -24,3 +24,5 @@ Deliverer=Lieferant: Sender=Absender Recipient=Empfänger ErrorStockIsNotEnough=Nicht genügend Bestand +Shippable=Versandfertig +NonShippable=Nicht versandfertig diff --git a/htdocs/langs/de_DE/ecm.lang b/htdocs/langs/de_DE/ecm.lang index 75c460261cf..1cfb67f4cd8 100644 --- a/htdocs/langs/de_DE/ecm.lang +++ b/htdocs/langs/de_DE/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Mit Verträgen verknüpfte Dokumente ECMDocsByInvoices=Mit Kundenrechnungen verknüpfte Dokumente ECMDocsByProducts=Mit Produkten verknüpfte Dokumente ECMDocsByProjects=Mit Projekten verknüpfte Dokumente +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=Noch kein Verzeichnis erstellt ShowECMSection=Zeige Verzeichnis DeleteSection=Lösche Verzeichnis diff --git a/htdocs/langs/de_DE/errors.lang b/htdocs/langs/de_DE/errors.lang index 55b246e3c98..09a01fc63e9 100644 --- a/htdocs/langs/de_DE/errors.lang +++ b/htdocs/langs/de_DE/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Das Setup des Moduls scheint unvollständig zu sein. ErrorBadMask=Fehler auf der Maske ErrorBadMaskFailedToLocatePosOfSequence=Fehler, Maske ohne fortlaufende Nummer ErrorBadMaskBadRazMonth=Fehler, falscher Reset-Wert +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Fehler. Wählen Sie mindestens einen Eintrag. ErrorProductWithRefNotExist=Produkt mit der Nummer '%s' nicht gefunden ErrorDeleteNotPossibleLineIsConsolidated=Löschen nicht möglich, da der Datensatz mit einer Banktransaktion verbunden ist. @@ -156,6 +158,8 @@ ErrorPriceExpression21=Leeres Ergebnis '%s' ErrorPriceExpression22=Negatives Ergebnis '%s' ErrorPriceExpressionInternal=Interner Fehler '%s' ErrorPriceExpressionUnknown=Unbekannter Fehler '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Zwingend notwendige Parameter sind noch nicht definiert diff --git a/htdocs/langs/de_DE/install.lang b/htdocs/langs/de_DE/install.lang index 498f934d7ac..b1f421536af 100644 --- a/htdocs/langs/de_DE/install.lang +++ b/htdocs/langs/de_DE/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migration abgeschlossen LastStepDesc=Letzter Schritt: Legen Sie Ihr Logo und das Passwort fest, welches Sie für dolibarr verwenden möchten. Verlieren Sie diese Administrator-Passwort nicht, da es der "Generalschlüssel" ist. ActivateModule=Aktivieren von Modul %s ShowEditTechnicalParameters=Hier klicken um erweiterte Funktionen zu zeigen/bearbeiten (Expertenmodus) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Aktualisiere aufgewandte Zeit (in Sekunden) MigrationActioncommElement=Aktualisiere die Maßnahmen MigrationPaymentMode=Migration der Daten für die Zahlungsart MigrationCategorieAssociation=Kategorien verschieben +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Nicht verfügbare Optionen anzeigen HideNotAvailableOptions=Nicht verfügbare Optionen ausblenden diff --git a/htdocs/langs/de_DE/languages.lang b/htdocs/langs/de_DE/languages.lang index da8c9cd3c6b..9424f5cdf57 100644 --- a/htdocs/langs/de_DE/languages.lang +++ b/htdocs/langs/de_DE/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Deutsch (Österreich) Language_de_CH=Deutsch (Schweiz) Language_el_GR=Griechisch Language_en_AU=Englisch (Australien) +Language_en_CA=English (Canada) Language_en_GB=Englisch (Großbritannien) Language_en_IN=Englisch (Indien) Language_en_NZ=Englisch (Neuseeland) diff --git a/htdocs/langs/de_DE/main.lang b/htdocs/langs/de_DE/main.lang index ddcf8035551..c8256ebde92 100644 --- a/htdocs/langs/de_DE/main.lang +++ b/htdocs/langs/de_DE/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd.MM.yyyy FormatDateShortJavaInput=dd.MM.yyyy FormatDateShortJQuery=dd.MM.yy FormatDateShortJQueryInput=dd.MM.yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Fehler beim Speichern der Datei. SetDate=Datum SelectDate=Wählen Sie ein Datum SeeAlso=Siehe auch %s +SeeHere=Sehen Sie hier BackgroundColorByDefault=Standard-Hintergrundfarbe FileNotUploaded=Datei wurde nicht hochgeladen FileUploaded=Datei wurde erfolgreich hochgeladen @@ -169,6 +171,7 @@ User=Benutzer Users=Benutzer Group=Gruppe Groups=Gruppen +NoUserGroupDefined=Kein Benutzergruppe definiert Password=Passwort PasswordRetype=Geben Sie das Passwort noch einmal ein NoteSomeFeaturesAreDisabled=Bitte beachten Sie, dass einige Funktionen/Module in dieser Demo deaktiviert sind @@ -258,6 +261,7 @@ days=Tage Hours=Stunde Minutes=Minuten Seconds=Sekunden +Weeks=Wochen Today=Heute Yesterday=Gestern Tomorrow=Morgen @@ -367,7 +371,7 @@ ActionsOnCompany=Maßnahmen zu diesem Partner ActionsOnMember=Aktionen zu diesem Mitglied NActions=%s Maßnahmen NActionsLate=%s verspätete Maßnahmen -RequestAlreadyDone=Request already recorded +RequestAlreadyDone=Anfrage bereits bekannt Filter=Filter RemoveFilter=Filter entfernen ChartGenerated=Diagramm erstellt @@ -555,7 +559,7 @@ MailSentBy=E-Mail Absender TextUsedInTheMessageBody=E-Mail Text SendAcknowledgementByMail=Kenntnisnahme per E-Mail bestätigen NoEMail=Keine E-Mail -NoMobilePhone=No mobile phone +NoMobilePhone=Kein Handy Owner=Eigentümer DetectedVersion=Erkannte Version FollowingConstantsWillBeSubstituted=Nachfolgende Konstanten werden durch entsprechende Werte ersetzt. @@ -683,6 +687,7 @@ XMoreLines=%s Zeile(n) versteckt PublicUrl=Öffentliche URL AddBox=Box zufügen SelectElementAndClickRefresh=Wählen Sie ein Element und clicken Sie Aktualisieren +PrintFile=Drucke Datei %s # Week day Monday=Montag Tuesday=Dienstag diff --git a/htdocs/langs/de_DE/margins.lang b/htdocs/langs/de_DE/margins.lang index 33f2f2d402b..735b6d604a7 100644 --- a/htdocs/langs/de_DE/margins.lang +++ b/htdocs/langs/de_DE/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Details zu Gewinnspannen ProductMargins=Produkt-Gewinnspannen CustomerMargins=Kunden-Gewinnspannen SalesRepresentativeMargins=Vertreter-Gewinnspannen +UserMargins=User margins ProductService=Produkt oder Service AllProducts=Alle Produkte und Services ChooseProduct/Service=Produkt oder Service wählen diff --git a/htdocs/langs/de_DE/orders.lang b/htdocs/langs/de_DE/orders.lang index 0260b5de948..18c9300a562 100644 --- a/htdocs/langs/de_DE/orders.lang +++ b/htdocs/langs/de_DE/orders.lang @@ -20,16 +20,16 @@ CustomersOrders=Kundenbestellungen CustomersOrdersRunning=Aktuelle Kundenbestellungen CustomersOrdersAndOrdersLines=Kundenbestellungen und Bestellpositionen OrdersToValid=Freizugebende Bestellungen -OrdersToBill=Zu verrechnende Bestellungen -OrdersInProcess=Bestellungen in Bearbeitung -OrdersToProcess=Zu bearbeitende Bestellungen +OrdersToBill=Gelieferte Kundenbestellungen +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Lieferantenbestellung in Bearbeitung StatusOrderCanceledShort=Storniert StatusOrderDraftShort=Entwurf StatusOrderValidatedShort=Freigegeben StatusOrderSentShort=In Bearbeitung StatusOrderSent=Versand in Bearbeitung -StatusOrderOnProcessShort=In Arbeit +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Bearbeitet StatusOrderToBillShort=Zu verrechnen StatusOrderToBill2Short=Zu verrechnen @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Komplett erhalten StatusOrderCanceled=Storniert StatusOrderDraft=Entwurf (freizugeben) StatusOrderValidated=Freigegeben -StatusOrderOnProcess=Warten auf Empfang +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Bearbeitet StatusOrderToBill=Zu verrechnen StatusOrderToBill2=Zu verrechnen @@ -50,6 +50,8 @@ StatusOrderRefused=Abgelehnt StatusOrderReceivedPartially=Teilweise erhalten StatusOrderReceivedAll=Komplett erhalten ShippingExist=Eine Sendung ist vorhanden +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Entwurf oder genehmigt, noch nicht bestellt DraftOrWaitingShipped=Entwurf oder bestätigt, noch nicht versandt MenuOrdersToBill=Bestellverrechnung diff --git a/htdocs/langs/de_DE/productbatch.lang b/htdocs/langs/de_DE/productbatch.lang index a78b3a8302c..3e196897569 100644 --- a/htdocs/langs/de_DE/productbatch.lang +++ b/htdocs/langs/de_DE/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Charge/Seriennr. verwalten -ProductStatusOnBatch=Verwaltet -ProductStatusNotOnBatch=Nicht Verwaltet -ProductStatusOnBatchShort=Verwaltet -ProductStatusNotOnBatchShort=Nicht verwaltet +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Charge/Seriennr atleast1batchfield=Verzehren-bis-, verkaufen-bis-Datum oder Chargennr batch_number=Charge/Seriennr @@ -18,3 +18,4 @@ printQty=Menge: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Nicht definiert WhenProductBatchModuleOnOptionAreForced=Wenn das Modul Chargen/Seriennr eingeschaltet ist, wird der Modus für Lagerbestands-Erhöhungen / -Senkungen auf die letzte Auswahl festgelegt und kann nicht geändert werden. Andere Optionen können nach Wunsch eingestellt werden. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/de_DE/products.lang b/htdocs/langs/de_DE/products.lang index e222cf88f90..91044e017bb 100644 --- a/htdocs/langs/de_DE/products.lang +++ b/htdocs/langs/de_DE/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Buchhaltung - Erlöskonto ProductOrService=Produkt oder Dienstleistung ProductsAndServices=Produkte und Dienstleistungen ProductsOrServices=Produkte oder Dienstleistungen -ProductsAndServicesOnSell=Verfügbare Produkte und Dienstleistungen -ProductsAndServicesNotOnSell=Aufgelassene Produkte und Dienstleistungen +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Produkt- und Dienstleistungs-Statistik ProductsStatistics=Produktstatistik -ProductsOnSell=Verfügbare Produkte -ProductsNotOnSell=Aufgelassene Produkte -ProductsOnSellAndOnBuy=Produkte weder für Ein- noch Verkauf -ServicesOnSell=Verfügbare Dienstleistungen -ServicesNotOnSell=Aufgelassene Dienstleistungen -ServicesOnSellAndOnBuy=Dienstleistungen weder für Ein- noch Verkauf +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Interne Referenz LastRecorded=Zuletzt erfasste, verfügbare Produkte/Dienstleistungen LastRecordedProductsAndServices=%s zuletzt erfasste Produkte/Dienstleistungen @@ -198,7 +198,7 @@ HelpAddThisServiceCard=Dies gibt ihnen die Möglichkeit, eine Dienstleistung zu CurrentProductPrice=Aktueller Preis AlwaysUseNewPrice=Immer aktuellen Preis des Produkts/Dienstleistung nutzen AlwaysUseFixedPrice=Festen Preis nutzen -PriceByQuantity=Preis nach Menge +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Bereich der Menge ProductsDashboard=Produkt- und Dienstleistungs-Zusammenfassung UpdateOriginalProductLabel=Ursprüngliches Label verändern @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Barcode-Typ oder -Wert bei Partner BarCodeDataForProduct=Barcode-Information von Produkt %s: BarCodeDataForThirdparty=Barcode-Information von Partner %s: ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Preis des Kunden +PriceByCustomer=Different price for each customer PriceCatalogue=Einzigartiger Preis pro Produkt/Dienstleistung -PricingRule=Preisregeln +PricingRule=Rules for customer prices AddCustomerPrice=Preis je Kunde hinzufügen ForceUpdateChildPriceSoc=Lege den gleichen Preis für Kunden-Tochtergesellschaften fest PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimaler Preis kann nicht kleiner als %s sein MinimumRecommendedPrice=Minimaler empfohlener Preis: %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Nummer diff --git a/htdocs/langs/de_DE/projects.lang b/htdocs/langs/de_DE/projects.lang index 107b4eef252..8d9f98ac44c 100644 --- a/htdocs/langs/de_DE/projects.lang +++ b/htdocs/langs/de_DE/projects.lang @@ -3,6 +3,7 @@ RefProject=Projekt-Nr. ProjectId=Projekt-ID Project=Projekt Projects=Projekte +ProjectStatus=Project status SharedProject=Jeder PrivateProject=Kontakte zum Projekt MyProjectsDesc=Hier können Sie nur die Projekte einsehen, bei welchen Sie als Kontakt hinzugefügt sind. @@ -11,7 +12,6 @@ ProjectsDesc=Es werden alle Projekte angezeigt (Ihre Benutzerberechtigungen bere MyTasksDesc=Diese Ansicht ist für Sie beschränkt auf Projekte oder Aufgaben bei welchen Sie als Ansprechpartner eingetragen sind. TasksPublicDesc=Diese Ansicht ist beschränkt auf Projekt und Aufgaben bei welchen Sie über Leserechte verfügen. TasksDesc=Diese Ansicht zeigt alle Projekte und Aufgaben (Ihre Benutzerberechtigungen berechtigt Sie alles zu sehen). -Myprojects=Meine Projekte ProjectsArea=Projektübersicht NewProject=Neues Projekt AddProject=Projekt erstellen @@ -36,8 +36,8 @@ TaskTimeSpent=Zeitaufwände für Aufgaben TaskTimeUser=Benutzer TaskTimeNote=Hinweis TaskTimeDate=Datum -TasksOnOpenedProject=Tasks on opened projects -WorkloadNotDefined=Workload not defined +TasksOnOpenedProject=Aufgaben für offenes Projekt +WorkloadNotDefined=Workload nicht definiert NewTimeSpent=Neuer Zeitaufwand MyTimeSpent=Mein Zeitaufwand MyTasks=Meine Aufgaben @@ -103,6 +103,7 @@ CloneContacts=Dupliziere Kontakte CloneNotes=Dupliziere Hinweise CloneProjectFiles=Dupliziere verbundene Projektdateien CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Möchten Sie dieses Projekt wirklich duplizieren? ProjectReportDate=Passe Aufgaben-Datum dem Projekt-Startdatum an ErrorShiftTaskDate=Es ist nicht möglich, das Aufgabendatum dem neuen Projektdatum anzupassen diff --git a/htdocs/langs/de_DE/sendings.lang b/htdocs/langs/de_DE/sendings.lang index 294d8e50e77..cf0fdd1fd4f 100644 --- a/htdocs/langs/de_DE/sendings.lang +++ b/htdocs/langs/de_DE/sendings.lang @@ -4,7 +4,8 @@ Sending=Sendung Sendings=Sendungen Shipment=Sendung Shipments=Lieferungen -Receivings=Warenerhalt +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Versandübersicht ListOfSendings=Versandliste SendingMethod=Versandart @@ -14,7 +15,7 @@ SearchASending=Suche Sendung StatisticsOfSendings=Versandstatistik NbOfSendings=Anzahl der Sendungen NumberOfShipmentsByMonth=Anzahl der Sendungen nach Monaten -SendingCard=Versandkarte +SendingCard=Shipment card NewSending=Neue Sendung CreateASending=Erzeuge eine Sendung CreateSending=Sendung erzeugen @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Storno StatusSendingDraftShort=Entwurf StatusSendingValidatedShort=Freigegeben StatusSendingProcessedShort=Fertig -SendingSheet=Versandbeleg +SendingSheet=Shipment sheet Carriers=Spediteure Carrier=Spediteur CarriersArea=Spediteursübersicht @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Anmerkungen zur Sendung LinkToTrackYourPackage=Link zur Sendungsnachverfolgung ShipmentCreationIsDoneFromOrder=Aktuell ist die Erstellung der neuen Sendung über die Bestellkarte erfolgt. -RelatedShippings=Ähnliche Sendungen +RelatedShippings=Related shipments ShipmentLine=Sendungszeilen CarrierList=Liste der Transporter -SendingRunning=Produkt aus Kundenbestellung bereits versandt -SuppliersReceiptRunning=Produkt aus Lieferantenbestellung bereits erhalten +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Abholung durch Kunden diff --git a/htdocs/langs/de_DE/stocks.lang b/htdocs/langs/de_DE/stocks.lang index e5b37168b3c..69b59baded0 100644 --- a/htdocs/langs/de_DE/stocks.lang +++ b/htdocs/langs/de_DE/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=DSWP EnhancedValueOfWarehouses=Lagerwert UserWarehouseAutoCreate=Beim Anlegen eines Benutzers automatisch neues Warenlager erstellen QtyDispatched=Menge +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Bestellabwicklung RuleForStockManagementDecrease=Regel für Lagerstandsanpassung (Verringerung) RuleForStockManagementIncrease=Regel für Lagerstandsanpassung (Erhöhung) @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Erhöhung der realen Bestände auf Bestellungen stellt fe ReStockOnDispatchOrder=Reale Bestände auf manuelle Dispatching in Hallen, nach Erhalt Lieferanten bestellen ReStockOnDeleteInvoice=Erhöhung der tatsächlichen Bestände bei Löschung von Rechnungen OrderStatusNotReadyToDispatch=Auftrag wurde noch nicht oder nicht mehr ein Status, der Erzeugnisse auf Lager Hallen Versand ermöglicht. -StockDiffPhysicTeoric=Grund für die Differenz physisch. und theoret. Lagerbestand +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Keine vordefinierten Produkte für dieses Objekt. Also kein Versand im Lager erforderlich ist. DispatchVerb=Versand StockLimitShort=Alarmschwelle @@ -116,10 +118,15 @@ MassMovement=Massenbewegung MassStockMovement=Massen-Umlagerung SelectProductInAndOutWareHouse=Wählen Sie ein Produkt, eine Menge, ein Quellen- und ein Ziel-Lager und klicken Sie dann auf "%s". Sobald Sie dies für alle erforderlichen Bewegungen getan haben, klicken Sie auf "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Wareneingänge für diese Bestellung +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=aufgezeichnete Lagerbewegungen RuleForStockAvailability=Regeln für Bestands-Verfügbarkeit StockMustBeEnoughForInvoice=Ausreichender Lagerbestand ist erforderlich, um das Produkt / den Service einer Rechnung hinzu zu fügen StockMustBeEnoughForOrder=Ausreichender Lagerbestand ist erforderlich, um das Produkt / den Service einer Bestellung hinzu zu fügen StockMustBeEnoughForShipment= Ausreichender Lagerbestand ist erforderlich, um das Produkt / den Service einer Lieferung hinzu zu fügen - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/de_DE/suppliers.lang b/htdocs/langs/de_DE/suppliers.lang index 4db654bb0ac..4dcff3f39f8 100644 --- a/htdocs/langs/de_DE/suppliers.lang +++ b/htdocs/langs/de_DE/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Lieferanten Supplier=Lieferant -AddSupplier=Lieferanten hinzufügen +AddSupplier=Lieferant anlegen SupplierRemoved=Lieferant entfernt SuppliersInvoice=Lieferantenrechnung NewSupplier=Neuer Lieferant @@ -40,5 +40,7 @@ AddSupplierInvoice=Lieferantenrechnung erstellen ListOfSupplierProductForSupplier=Produkt- und Preisliste für Anbieter %s NoneOrBatchFileNeverRan=Keiner oder Batch-Job %s wurde nie ausgeführt SentToSuppliers=An Lieferanten geschickt -ListOfSupplierOrders=List of supplier orders -MenuOrdersSupplierToBill=Supplier orders to invoice +ListOfSupplierOrders=Liste der Lieferantenbestellungen +MenuOrdersSupplierToBill=Zu berechnende Lieferantenbestellungen +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/de_DE/withdrawals.lang b/htdocs/langs/de_DE/withdrawals.lang index 2f66393922b..88714db1dc7 100644 --- a/htdocs/langs/de_DE/withdrawals.lang +++ b/htdocs/langs/de_DE/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Am WithdrawalFileNotCapable=Abbuchungsformular für Ihr Land %s konnte nicht erstellt werden (Dieses Land wird nicht unterstützt). ShowWithdraw=Zeige Abbuchung IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Wenn eine Rechnung mindestens eine noch zu bearbeitende Verbuchung vorweist, kann diese nicht als bezahlt markiert werden. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Datei abbuchen SetToStatusSent=Setze in Status "Datei versandt" ThisWillAlsoAddPaymentOnInvoice=Dies wird auch Zahlungen auf Rechnungen erstellen und diese als bezahlt markieren diff --git a/htdocs/langs/de_DE/workflow.lang b/htdocs/langs/de_DE/workflow.lang index dd64fffc06e..10b56ef4b38 100644 --- a/htdocs/langs/de_DE/workflow.lang +++ b/htdocs/langs/de_DE/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow Moduleinstellungen -WorkflowDesc=Dieses Modul wurde entwickelt um das Verhalten von automatisierten Vorgängen anzupassen. Standardmäßig ist der Workflow frei (Sie können alles in Ihrer Reihenfolge erledigen). Sie können automatische Vorgänge aktivieren, falls Sie es wünschen. +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Es gibt keine Vorgänge für das aktivierte Modul die Sie ändern können. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Erstelle eine automatische Kundenbestellung, nachdem ein Angebot unterzeichnet wurde descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Erstelle eine automatische Kundenrechnung, nachdem ein Angebot unterzeichnet wurde @@ -8,4 +8,4 @@ descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Erstselle eine automatische Kundenrechn descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Erstselle eine automatische Kundenrechnung, nachdem eine Kundenbestellung geschlossen wurde descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Kennzeichne verknüpftes Angebot als in Rechnung gestellt, wenn der Kundenauftrag als bezahlt markiert wird descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Kennzeichne verknüpfte Kundenbestellung(en) als in Rechnung gestellt, wenn die Kundenrechnung als bezahlt markiert wird -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Kennzeichne verknüpfte Kundenbestellung(en) als in Rechnung gestellt, wenn die Kundenrechnung bestätigt wird diff --git a/htdocs/langs/el_GR/accountancy.lang b/htdocs/langs/el_GR/accountancy.lang index c25a43570df..684ff2c5215 100644 --- a/htdocs/langs/el_GR/accountancy.lang +++ b/htdocs/langs/el_GR/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Διαμόρφωση της μονάδας λογιστι Journaux=Ημερολόγια JournalFinancial=Οικονιμικά ημερολόγια Exports=Εξαγωγές +Export=Εξαγωγή Modelcsv=Πρότυπο εξαγωγής +OptionsDeactivatedForThisExportModel=Γι 'αυτό το μοντέλο εξαγωγών, οι επιλογές είναι απενεργοποιημένες Selectmodelcsv=Επιλέξτε ένα πρότυπο από την εξαγωγή Modelcsv_normal=Κλασική εξαγωγή Modelcsv_CEGID=Εξαγωγή προς CEGID εμπειρογνωμόνων @@ -66,7 +68,7 @@ Lineofinvoice=Γραμμή τιμολογίου VentilatedinAccount=Ανανεώθηκε επιτυχώς στον λογιστικό λογαριασμό NotVentilatedinAccount=Δεν ανανεώθηκε στον λογιστικό λογαριασμό -ACCOUNTING_SEPARATORCSV=Διαχωριστικό CSV +ACCOUNTING_SEPARATORCSV=Διαχωριστικό στήλης στο αρχείο εξαγωγής ACCOUNTING_LIMIT_LIST_VENTILATION=Αριθμός αντικειμένων για ανάλυση ανά σελίδα (προτείνεται μέγιστο : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Ξεκινήστε τη διαλογή της κατανομής των σελίδων "Έχει για κατανομή» από τα πιο πρόσφατα στοιχεία diff --git a/htdocs/langs/el_GR/admin.lang b/htdocs/langs/el_GR/admin.lang index efc83a59004..f706cfa457c 100644 --- a/htdocs/langs/el_GR/admin.lang +++ b/htdocs/langs/el_GR/admin.lang @@ -210,7 +210,7 @@ ModulesJobDesc=Business modules provide simple predefined setup of Dolibarr for ModulesMarketPlaceDesc=You can find more modules to download on external web sites on the Internet... ModulesMarketPlaces=Περισσότερα Αρθρώματα... DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules -DoliPartnersDesc=List with some companies that can provide/develop on-demand modules or features (Note: any Open Source company knowning PHP language can provide you specific development) +DoliPartnersDesc=Λίστα με ορισμένες εταιρείες που μπορούν να προσφέρουν έρευνα/ανάπτυξη κατά παραγγελία modules ή χαρακτηριστικά (Σημείωση: κάθε εταιρεία Open Source που γνωρίζει γλώσσα PHP μπορεί να σας δώσει συγκεκριμένη ανάπτυξη) WebSiteDesc=Web site providers you can search to find more modules... URL=Ιστοσελίδα BoxesAvailable=Διαθέσιμα Πλαίσια @@ -294,7 +294,7 @@ DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=This is setup to process: StepNb=Βήμα %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Μεταφόρτωση πακέτου. +DownloadPackageFromWebSite=Μεταφόρτωση πακέτου %s. UnpackPackageInDolibarrRoot=Αποσυμπίεσε το αρχείο εκεί που βρίσκεται η εγκατάσταση του Dolibarr %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Select module: CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Τελευταία σταθερή έκδοση +UpdateServerOffline=Ο διακομιστής ενημερώσεων είναι εκτός σύνδεσης GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
GenericMaskCodes2={cccc} ο κωδικός πελάτη σε n χαρακτήρες
{cccc000} ο κωδικός πελάτη σε n χαρακτήρες ακολουθείται από ένα μετρητή αφιερωμένο για τον πελάτη. Αυτός ο μετρητής ειναι αφιερωμένος στον πελάτη μηδενίζεται ταυτόχρονα από την γενικό μετρητή.
{tttt} Ο κωδικός των Πελ./Προμ. σε n χαρακτήρες (βλέπε λεξικό-thirdparty types).
GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Πλαίσιο ελέγχου από τον πίνακα ExtrafieldParamHelpselect=Η λίστα παραμέτρων θα πρέπει να είναι σαν το κλειδί,value

για παράδειγμα :
1,value1
2,value2
3,value3
...

Προκειμένου να έχει τη λίστα εξαρτώμενη με μια άλλη:
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Η λίστα παραμέτρων θα πρέπει να είναι σαν το κλειδί,value

για παράδειγμα :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Η λίστα παραμέτρων θα πρέπει να είναι σαν το κλειδί,value

για παράδειγμα :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Λίστα Παραμέτρων που προέρχεται από έναν πίνακα
σύνταξη : table_name:label_field:id_field::filter
παράδειγμα: c_typent:libelle:id::filter

φίλτρο μπορεί να είναι μια απλή δοκιμή (eg active=1) για να εμφανίσετε μόνο μία ενεργό τιμή
αν θέλετε να φιλτράρετε extrafields χρησιμοποιήστε τη σύνταξη extra.fieldcode=... (όπου κωδικός πεδίου είναι ο κωδικός του extrafield)

Προκειμένου να έχει τον κατάλογο ανάλογα με ένα άλλο :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Export interventions Permission71=Read members Permission72=Create/modify members Permission74=Delete members -Permission75=Setup types and attributes for members +Permission75=Ρύθμιση τύπου για την ιδιότητα του μέλους Permission76=Export datas Permission78=Read subscriptions Permission79=Create/modify subscriptions @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Delete sendings Permission111=Read financial accounts Permission112=Create/modify/delete and compare transactions -Permission113=Setup financiel accounts (create, manage categories) -Permission114=Consolidate transactions +Permission113=Εγκατάσταση χρηματοοικονομικών λογαριασμών (δημιουργία, διαχείριση κατηγοριών) +Permission114=Συμφιλιώνει τις συναλλαγές Permission115=Export transactions and account statements Permission116=Transfers between accounts Permission117=Manage cheques dispatching @@ -761,6 +764,7 @@ Permission55001=Διαβάστε δημοσκοπήσεις Permission55002=Δημιουργία/τροποποίηση ερευνών Permission59001=Δείτε τα εμπορικά περιθώρια Permission59002=Ορίστε τα εμπορικά περιθώρια +Permission59003=Διαβάστε το κάθε περιθώριο του χρήστη DictionaryCompanyType=Τύπος Πελ./Προμ. DictionaryCompanyJuridicalType=Νομικά είδη Πέλ./Πρόμ. DictionaryProspectLevel=Προοπτική δυνητικό επίπεδο @@ -1038,7 +1042,7 @@ SendingMailSetup=Ρύθμιση του e-mail σας αποστολές από SendmailOptionNotComplete=Προσοχή, σε μερικά συστήματα Linux, για να στείλετε e-mail από το e-mail σας, το sendmail εγκατάστασης εκτέλεση πρέπει conatins επιλογή-βα (mail.force_extra_parameters παράμετρος σε php.ini αρχείο σας). Αν δεν ορισμένοι παραλήπτες λαμβάνουν μηνύματα ηλεκτρονικού ταχυδρομείου, προσπαθήστε να επεξεργαστείτε αυτή την PHP με την παράμετρο-mail.force_extra_parameters = βα). PathToDocuments=Path to documents PathDirectory=Directory -SendmailOptionMayHurtBuggedMTA=Χαρακτηριστικό για να στείλετε μηνύματα χρησιμοποιώντας τη μέθοδο "PHP mail απευθείας" θα δημιουργήσει ένα μήνυμα ηλεκτρονικού ταχυδρομείου που μπορεί να μην αναλυθούν σωστά με ορισμένους εξυπηρετητές λήψης της αλληλογραφίας. Αποτέλεσμα είναι ότι ορισμένα μηνύματα δεν μπορούν να διαβαστούν από ανθρώπους που φιλοξενούνται από τις πλατφόρμες thoose bugged. Είναι υπόθεση για ορισμένους παρόχους Internet (Ex: Orange στη Γαλλία). Αυτό δεν είναι ένα πρόβλημα σε Dolibarr ούτε σε PHP, αλλά πάνω διακομιστής παραλαβής αλληλογραφίας. Μπορείτε να προσθέσετε ωστόσο MAIN_FIX_FOR_BUGGED_MTA δυνατότητα εγκατάστασης σε 1 - να τροποποιήσει άλλες Dolibarr να το αποφύγουμε αυτό. Ωστόσο, ενδέχεται να αντιμετωπίσετε πρόβλημα με άλλους διακομιστές που σέβονται αυστηρά το πρότυπο SMTP. Η άλλη λύση (κατά προτίμηση) είναι να χρησιμοποιήσουμε τη μέθοδο "SMTP υποδοχή βιβλιοθήκη» που δεν έχει μειονεκτήματα. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=Xdebug είναι φορτωμένο. XCacheInstalled=XCache είναι φορτωμένο. -AddRefInList=Οθόνη πελάτη / προμηθευτή ref στη λίστα (επιλέξτε λίστα ή combobox) και τα περισσότερα από hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Έκδοση στο πεδίο %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Παράδειγμα: +2 (συμπληρώστε μόνο αν ζώνη ώρας αντισταθμίσουν τα προβλήματα για προβλήματα που προέκυψαν) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes i FreeLegalTextOnOrders=Free text on orders WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Προσθήκη εικονιδίου στις Παραγγελίες που δείχνει ότι η παραγγελία μπορεί να αποσταλεί +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ρωτήστε τον τραπεζικό λογαριασμό για προορισμό της παραγγελίας ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with your clicktodial login (defined on your user card)
__PASS__ that will be replaced with your clicktodial password (defined on your user card). @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=EMailing module setup MailingEMailFrom=Sender EMail (From) for emails sent by emailing module MailingEMailError=Return EMail (Errors-to) for emails with errors +MailingDelay=Δευτερόλεπτα για να περιμένετε μετά την αποστολή του επόμενου μηνύματος ##### Notification ##### NotificationSetup=Ρύθμιση module EMail κοινοποίησης NotificationEMailFrom=Sender EMail (From) for emails sent for notifications @@ -1401,9 +1407,9 @@ FixedEmailTarget=Σταθερός email στόχος SendingsSetup=Sending module setup SendingsReceiptModel=Sending receipt model SendingsNumberingModules=Σας αποστολές αρίθμησης ενοτήτων -SendingsAbility=Support sendings sheets for customer deliveries +SendingsAbility=Δελτία αποστολής για τις παραδόσεις των πελατών NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. -FreeLegalTextOnShippings=Ελεύθερο κείμενο για Αποστολές +FreeLegalTextOnShippings=Ελεύθερο κείμενο για τις μεταφορές ##### Deliveries ##### DeliveryOrderNumberingModules=Products deliveries receipt numbering module DeliveryOrderModel=Products deliveries receipt model @@ -1414,7 +1420,7 @@ AdvancedEditor=Εξελιγμένο πρόγραμμα επεξεργασίας ActivateFCKeditor=Activate advanced editor for: FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note -FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommanded as it can create problems with special characters and page formating when building PDF files. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1496,7 +1502,7 @@ CashDeskBankAccountForSell=Default account to use to receive cash payments CashDeskBankAccountForCheque= Default account to use to receive payments by cheque CashDeskBankAccountForCB= Default account to use to receive payments by credit cards CashDeskDoNotDecreaseStock=Απενεργοποίηση μείωση των αποθεμάτων όταν η πώληση γίνεται από Point of Sale -CashDeskIdWareHouse=Force and restrict warehouse to use for stock decrease +CashDeskIdWareHouse=Αναγκαστικός περιορισμός αποθήκης για μείωση των αποθεμάτων StockDecreaseForPointOfSaleDisabled=Μείωση αποθέματος από Point Of Sale απενεργοποιημένο CashDeskYouDidNotDisableStockDecease=Δεν έχετε απενεργοποιήσει μείωση των αποθεμάτων κατά την πραγματοποίηση μιας πώλησης από το σημείο πώλησης "POS". Μια αποθήκη είναι απαραίτητη. ##### Bookmark ##### @@ -1562,3 +1568,4 @@ SalariesSetup=Ρύθμιση module μισθών SortOrder=Σειρά ταξινόμησης Format=Μορφή TypePaymentDesc=0:Τύπος πληρωμής πελάτη, 1:Τύπος πληρωμής προμηθευτή, 2:Τύπος πληρωμής τόσο για τους πελάτες όσο και για τους προμηθευτές +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/el_GR/agenda.lang b/htdocs/langs/el_GR/agenda.lang index cf4031d8785..5e8f1ffdcaf 100644 --- a/htdocs/langs/el_GR/agenda.lang +++ b/htdocs/langs/el_GR/agenda.lang @@ -29,7 +29,7 @@ ActionsToDoBy=Ενέργειες που ανατέθηκαν σε ActionsDoneBy=Ενέργειες που ολοκληρώθηκαν από ActionsForUser=Γεγονότα για τον χρήστη ActionsForUsersGroup=Γεγονότα όλων των χρηστών της ομάδας -ActionAssignedTo=Event assigned to +ActionAssignedTo=Ενέργεια ανατεθειμένη σε AllMyActions= Όλες οι ενέργειες/εργασίες μου AllActions= Όλες οι ενέργειες/εργασίες ViewList=Εμφάνιση Λίστας @@ -58,8 +58,9 @@ OrderSentByEMail=Η παραγγελία του πελάτη %s εστάλη μ InvoiceSentByEMail=Το τιμολόγιο του πελάτη %s εστάλη με EMail SupplierOrderSentByEMail=Η παραγγελία προμηθευτή %s στάλθηκε με e-mail SupplierInvoiceSentByEMail=Το τιμολόγιο προμηθευτή %s στάλθηκε με e-mail -ShippingSentByEMail=Αποστολές %s αποστέλλονται με ηλεκτρονικό ταχυδρομείο -ShippingValidated= Αποστολές %s επικυρωθεί +ShippingSentByEMail=Η αποστολή %s αποστέλλεται με ηλεκτρονικό ταχυδρομείο +ShippingValidated= Η αποστολή %s επικυρώθηκε +InterventionSentByEMail=Η παρέμβαση %s αποστέλλεται μέσω ηλεκτρονικού ταχυδρομείου NewCompanyToDolibarr= Το στοιχείο δημιουργήθηκε DateActionPlannedStart= Προγρ/σμένη ημερομηνία έναρξης DateActionPlannedEnd= Προγρ/σμένη ημερομηνία λήξης @@ -68,7 +69,7 @@ DateActionDoneEnd= Πραγματική ημερομηνία λήξης DateActionStart= Ημερομηνία έναρξης DateActionEnd= Ημερομηνία λήξης AgendaUrlOptions1=Μπορείτε ακόμη να προσθέσετε τις ακόλουθες παραμέτρους για να φιλτράρετε τα αποτέλεσμα: -AgendaUrlOptions2=login=%s για να περιορίσετε τα αποτελέσματα σε ενέργειες που δημιουργήθηκαν και έγιναν από τον χρήστη %s. +AgendaUrlOptions2=login=%s για να περιορίσουν την είσοδο σε ενέργειες που δημιουργούνται ή έχουν εκχωρηθεί στο χρήστη %s. AgendaUrlOptions3=logina=%s να περιορίσει την παραγωγή ενεργειών που ανήκουν στον χρήστη %s. AgendaUrlOptions4=logint=%s για να περιορίσετε τα αποτελέσματα σε ενέργειες που αφορούν τον χρήστη%s. AgendaUrlOptionsProject=project=PROJECT_ID να περιορίσει την παραγωγή της σε ενέργειες που σχετίζονται με το έργο PROJECT_ID. diff --git a/htdocs/langs/el_GR/banks.lang b/htdocs/langs/el_GR/banks.lang index b88e071696c..c6960fe94cd 100644 --- a/htdocs/langs/el_GR/banks.lang +++ b/htdocs/langs/el_GR/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Λογαριασμός FinancialAccounts=Λογαριασμοί BankAccount=Τραπεζικός Λογαριασμός BankAccounts=Τραπεζικοί Λογαριασμοί +ShowAccount=Εμφάνιση λογαριασμού AccountRef=Αναγνωριστικό Λογιστικού Λογαριασμού AccountLabel=Ετικέτα Λογιστικού Λογαριασμού CashAccount=Λογαριασμός Μετρητών diff --git a/htdocs/langs/el_GR/bills.lang b/htdocs/langs/el_GR/bills.lang index cd400fb40ea..597c71d53e7 100644 --- a/htdocs/langs/el_GR/bills.lang +++ b/htdocs/langs/el_GR/bills.lang @@ -2,15 +2,15 @@ Bill=Τιμολόγιο Bills=Τιμολόγια BillsCustomers=Τιμολόγια πελατών -BillsCustomer=Τιμολόγιο Πελάτη +BillsCustomer=Τιμολόγιο πελάτη BillsSuppliers=Τιμολόγια προμηθευτών BillsCustomersUnpaid=Απλήρωτα τιμολόγια πελατών BillsCustomersUnpaidForCompany=Απλήρωτα τιμολόγια για %s BillsSuppliersUnpaid=Απλήρωτα τιμολόγια προμηθευτών BillsSuppliersUnpaidForCompany=Απλήρωτα τιμολόγια προμηθευτή για %s BillsLate=Καθυστερημένες Πληρωμές -BillsStatistics=Στατιστικά Τιμολογίων Πελατών -BillsStatisticsSuppliers=Στατιστικά Τιμολογίων Προμηθευτών +BillsStatistics=Στατιστικά για τα τιμολόγια των πελατών +BillsStatisticsSuppliers=Στατιστικά για τα τιμολόγια των προμηθευτών DisabledBecauseNotErasable=Απενεργοποιημένα, επειδή δεν μπορούν να διαγραφούν InvoiceStandard=Τυπικό Τιμολόγιο InvoiceStandardAsk=Τυπικό Τιμολόγιο @@ -348,6 +348,7 @@ ChequeNumber=Αριθμός Επιταγής ChequeOrTransferNumber=Check/Transfer N° ChequeMaker=Check transmitter ChequeBank=Τραπεζική Επιταγή +CheckBank=Επιταγή NetToBePaid=Φόρος που πρέπει να πληρωθεί PhoneNumber=Τηλ FullPhoneNumber=Τηλέφωνο @@ -388,7 +389,7 @@ DisabledBecausePayments=Δεν είναι δυνατόν, δεδομένου ό CantRemovePaymentWithOneInvoicePaid=Δεν μπορείτε να καταργήσετε τη πληρωμή, δεδομένου ότι υπάρχει τουλάχιστον ένα τιμολόγιο που έχει χαρακτηριστεί σαν πληρωμένο ExpectedToPay=Αναμενόμενη Πληρωμή PayedByThisPayment=Πληρωθείτε αυτό το ποσό -ClosePaidInvoicesAutomatically=Ταξινομήσει τα "Πληρωμένα" όλα τα τυπικά ή αντικατάστασης τιμολόγια που πληρώνονται εξ ολοκλήρου. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Ταξινομήσει τα "Πληρωμένα" όλα τα πιστωτικά τιμολόγια που καταβάλλονται εξ ολοκλήρου πίσω. AllCompletelyPayedInvoiceWillBeClosed=Όλα τα τιμολόγια χωρίς υπόλοιπο για πληρωμή θα κλείσουν αυτόματα σε κατάσταση "Πληρωμένα". ToMakePayment=Πληρωμή @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up s TypeContact_invoice_supplier_external_BILLING=Αντιπρόσωπος τιμολογίου προμηθευτή TypeContact_invoice_supplier_external_SHIPPING=Αντιπρόσωπος αποστολής προμηθευτή TypeContact_invoice_supplier_external_SERVICE=Αντιπρόσωπος υπηρεσίας προμηθευτή +# Situation invoices +InvoiceFirstSituationAsk=Κατάσταση πρώτου τιμολογίου +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Πρόοδος +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/el_GR/compta.lang b/htdocs/langs/el_GR/compta.lang index cad5180e87e..306b29a9767 100644 --- a/htdocs/langs/el_GR/compta.lang +++ b/htdocs/langs/el_GR/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Κύκλος εργασιών PaymentsNotLinkedToInvoice=Η πληρωμή δεν είναι συνδεδεμένη με κάποιο τιμολόγιο, οπότε δεν συνδέετε με κάποιο στοιχείο/αντιπρόσωπο PaymentsNotLinkedToUser=Η πληρωμή δεν είναι συνδεδεμένη με κάποιον πελάτη Profit=Κέρδος +AccountingResult=Λογιστικό αποτέλεσμα Balance=Ισοζύγιο Debit=Χρέωση Credit=Πίστωση diff --git a/htdocs/langs/el_GR/contracts.lang b/htdocs/langs/el_GR/contracts.lang index cff09df3981..ff824ce3a85 100644 --- a/htdocs/langs/el_GR/contracts.lang +++ b/htdocs/langs/el_GR/contracts.lang @@ -91,7 +91,7 @@ ListOfServicesToExpire=Κατάλογος Υπηρεσιών προς λήξει NoteListOfYourExpiredServices=Αυτή η λίστα περιέχει μόνο τις υπηρεσίες των συμβάσεων για λογαριασμό ΠΕΛ./ΠΡΟΜ. που συνδέονται ως εκπρόσωπος πώληση. StandardContractsTemplate=Οι πρότυπες συμβάσεις ContactNameAndSignature=Για %s, το όνομα και η υπογραφή: -OnlyLinesWithTypeServiceAreUsed=Only lines with type "Service" will be cloned. +OnlyLinesWithTypeServiceAreUsed=Μόνο εγγραφές τύπου "Υπηρεσία" θα αντιγραφούν. ##### Types de contacts ##### TypeContact_contrat_internal_SALESREPSIGN=Σύμβαση πώλησης υπογραφή εκπροσώπου diff --git a/htdocs/langs/el_GR/cron.lang b/htdocs/langs/el_GR/cron.lang index 4163539e47f..756f6c9ea35 100644 --- a/htdocs/langs/el_GR/cron.lang +++ b/htdocs/langs/el_GR/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL για να ελέγξετε και να ξεκινήσ OrToLaunchASpecificJob=Ή να ελέγξετε και να ξεκινήσει μία συγκεκριμένη εργασία KeyForCronAccess=Κλειδί ασφαλείας για το URL για να ξεκινήσει η εργασία cron FileToLaunchCronJobs=Γραμμής εντολών για να ξεκινήσει τις εργασίες -CronExplainHowToRunUnix=Σχετικά με το περιβάλλον Unix θα πρέπει να χρησιμοποιήσετε crontab να τρέχει γραμμή εντολών κάθε λίγα λεπτά -CronExplainHowToRunWin=Στο Microsoft (tm) των Windows environement, μπορείτε να χρησιμοποιήσετε τα εργαλεία Προγραμματισμένη εργασία ώστε να εκτελεστεί μια γραμμή εντολών κάθε λιγα λεπτά +CronExplainHowToRunUnix=Στο Unix περιβάλλον θα πρέπει να χρησιμοποιήσετε την ακόλουθη καταχώρηση crontab για να τρέχει η γραμμή εντολών καθένα 5 λεπτά +CronExplainHowToRunWin=Σε Microsoft (tm) Windows περιβάλλον μπορείτε να χρησιμοποιήσετε τα εργαλεία Προγραμματισμένη εργασία ώστε να εκτελείτε η γραμμή εντολών καθένα 5 λεπτά # Menu CronJobs=Προγραμματισμένες εργασίες CronListActive=Λίστα ενεργών/προγραμματισμένων εργασιών diff --git a/htdocs/langs/el_GR/ecm.lang b/htdocs/langs/el_GR/ecm.lang index 46b88646f19..df6466109aa 100644 --- a/htdocs/langs/el_GR/ecm.lang +++ b/htdocs/langs/el_GR/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Έγγραφα συνδεδεμένα με συμβόλαια ECMDocsByInvoices=Έγγραφα συνδεδεμένα με τιμολόγια πελατών ECMDocsByProducts=Έγγραφα συνδεδεμένα με προϊόντα ECMDocsByProjects=Έγγραφα που συνδέονται με σχέδια +ECMDocsByUsers=Έγγραφα που συνδέονται με χρήστες +ECMDocsByInterventions=Έγγραφα που συνδέονται με τις παρεμβάσεις ECMNoDirectoryYet=Δεν δημιουργήθηκε φάκελος ShowECMSection=Εμφάνιση φακέλου DeleteSection=Διαγραφή φακέλου diff --git a/htdocs/langs/el_GR/errors.lang b/htdocs/langs/el_GR/errors.lang index 67f1d9a24cd..eaacea01c42 100644 --- a/htdocs/langs/el_GR/errors.lang +++ b/htdocs/langs/el_GR/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Ρύθμιση της ενότητας φαίνετ ErrorBadMask=Σφάλμα στην μάσκα ErrorBadMaskFailedToLocatePosOfSequence=Σφάλμα, μάσκα χωρίς τον αύξοντα αριθμό ErrorBadMaskBadRazMonth=Σφάλμα, κακή αξία επαναφορά +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Σφάλμα. Επιλέξτε τουλάχιστον μία είσοδο. ErrorProductWithRefNotExist=Προϊόν με %s αναφοράς δεν υπάρχουν ErrorDeleteNotPossibleLineIsConsolidated=Διαγραφή δεν είναι δυνατόν λόγω εγγραφή συνδέεται με μια τράπεζα transation που συμβιβασμό @@ -138,24 +140,26 @@ ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Σφάλμα, το μέλος ErrorThereIsSomeDeliveries=Σφάλμα υπάρχουν κάποιες παραδόσεις που συνδέονται με την εν λόγω αποστολή. Η διαγραφή απορρίφθηκε. ErrorCantDeletePaymentReconciliated=Δεν μπορείτε να διαγράψετε μια πληρωμή με τραπεζική συναλλαγή που είχε φτάσει σε συμβιβασμό ErrorCantDeletePaymentSharedWithPayedInvoice=Δεν μπορείτε να διαγράψετε μια πληρωμή που σχετίζεται με ένα τουλάχιστον τιμολόγιο με καθεστώς πληρωμένο -ErrorPriceExpression1=Cannot assign to constant '%s' -ErrorPriceExpression2=Cannot redefine built-in function '%s' -ErrorPriceExpression3=Undefined variable '%s' in function definition -ErrorPriceExpression4=Illegal character '%s' -ErrorPriceExpression5=Unexpected '%s' -ErrorPriceExpression6=Wrong number of arguments (%s given, %s expected) -ErrorPriceExpression8=Unexpected operator '%s' -ErrorPriceExpression9=An unexpected error occured -ErrorPriceExpression10=Iperator '%s' lacks operand -ErrorPriceExpression11=Expecting '%s' -ErrorPriceExpression14=Division by zero -ErrorPriceExpression17=Undefined variable '%s' -ErrorPriceExpression19=Expression not found -ErrorPriceExpression20=Empty expression -ErrorPriceExpression21=Empty result '%s' -ErrorPriceExpression22=Negative result '%s' -ErrorPriceExpressionInternal=Internal error '%s' -ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorPriceExpression1=Αδύνατη η ανάθεση στην σταθερά '%s' +ErrorPriceExpression2=Αδυναμία επαναπροσδιορισμού ενσωματωμένης λειτουργίας '%s' +ErrorPriceExpression3=Μη ορισμένη μεταβλητή '%s' στον ορισμό συνάρτησης +ErrorPriceExpression4=Άγνωστος χαρακτήρας '%s' +ErrorPriceExpression5=Μη αναμενόμενο '%s' +ErrorPriceExpression6=Λάθος αριθμός παραμέτρων (%s δόθηκαν, %s αναμενώμενα) +ErrorPriceExpression8=Μη αναμενόμενος τελεστής '%s' +ErrorPriceExpression9=Μη αναμενόμενο σφάλμα +ErrorPriceExpression10=Λείπει ο τελεστής '%s' +ErrorPriceExpression11=Περιμένει '%s' +ErrorPriceExpression14=Διαίρεση με το μηδέν +ErrorPriceExpression17=Μη ορισμένη μεταβλητή '%s' +ErrorPriceExpression19=Η έκφραση δεν βρέθηκε +ErrorPriceExpression20=Κενή έκφραση +ErrorPriceExpression21=Κενό αποτέλεσμα '%s' +ErrorPriceExpression22=Αρνητικό αποτέλεσμα '%s' +ErrorPriceExpressionInternal=Εσωτερικό σφάλμα '%s' +ErrorPriceExpressionUnknown=Άγνωστο σφάλμα '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/el_GR/install.lang b/htdocs/langs/el_GR/install.lang index 3a16a7d6f69..d2cc1ae3cd8 100644 --- a/htdocs/langs/el_GR/install.lang +++ b/htdocs/langs/el_GR/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Μετανάστευση τελειώσει LastStepDesc=Τελευταίο βήμα: Καθορίστε εδώ login και password που σκοπεύετε να χρησιμοποιήσετε για να συνδεθείτε με το λογισμικό. Να μην χάσετε αυτή, όπως είναι ο λογαριασμός για να επιτρέψει να διαχειριστεί όλες τις άλλες. ActivateModule=Ενεργοποίηση %s ενότητα ShowEditTechnicalParameters=Κάντε κλικ εδώ για να δείτε/επεξεργαστείτε προηγμένες παραμέτρους (κατάσταση έμπειρου χρήστη) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Update time spent in seconds MigrationActioncommElement=Ενημέρωση στοιχεία για τις δράσεις MigrationPaymentMode=Η μεταφορά δεδομένων για την κατάσταση πληρωμής MigrationCategorieAssociation=Μετακίνηση των κατηγοριών +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Εμφάνιση μη διαθέσιμων επιλογών HideNotAvailableOptions=Απόκρυψη μη μη διαθέσιμων επιλογών diff --git a/htdocs/langs/el_GR/languages.lang b/htdocs/langs/el_GR/languages.lang index 5239ab6f167..8f3f7ad963a 100644 --- a/htdocs/langs/el_GR/languages.lang +++ b/htdocs/langs/el_GR/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Γερμανικά (Αυστρία) Language_de_CH=Γερμανικά (Ελβετίας) Language_el_GR=Ελληνικά Language_en_AU=Αγγλικά (Αυστραλία) +Language_en_CA=Αγγλικά (Καναδά) Language_en_GB=Αγγλικά (Ηνωμένο Βασίλειο) Language_en_IN=Αγγλικά (Ινδία) Language_en_NZ=Αγγλικά (Νέα Ζηλανδία) diff --git a/htdocs/langs/el_GR/main.lang b/htdocs/langs/el_GR/main.lang index 4ca402fa4b9..187c9becc66 100644 --- a/htdocs/langs/el_GR/main.lang +++ b/htdocs/langs/el_GR/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd/MM/yyyy FormatDateShortJavaInput=dd/MM/yyyy FormatDateShortJQuery=dd/mm/yy FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Σφάλμα, αποτυχία αποθήκευσης αρ SetDate=Ορισμός ημερομηνίας SelectDate=Επιλέξτε μια ημερομηνία SeeAlso=Δείτε επίσης %s +SeeHere=Δείτε εδώ BackgroundColorByDefault=Προκαθορισμένο χρώμα φόντου FileNotUploaded=Το αρχείο δεν έχει μεταφορτωθεί FileUploaded=Το αρχείο ανέβηκε με επιτυχία @@ -169,6 +171,7 @@ User=Χρήστης Users=Χρήστες Group=Ομάδα Groups=Ομάδες +NoUserGroupDefined=Κανένας χρήστης δεν ορίζεται στην ομάδα Password=Συνθηματικό PasswordRetype=Επαναπληκτρολόγηση κωδικού NoteSomeFeaturesAreDisabled=Πολλές δυνατότητες είναι απενεργοποιημένες στην παρουσίαση. @@ -258,6 +261,7 @@ days=ημέρες Hours=Ώρες Minutes=Λεπτά Seconds=Δευτερόλεπτα +Weeks=Εβδομάδες Today=Σήμερα Yesterday=Χθές Tomorrow=Αύριο @@ -683,6 +687,7 @@ XMoreLines=%s γραμμή (ές) κρυμμένη PublicUrl=Δημόσια URL AddBox=Προσθήκη πεδίου SelectElementAndClickRefresh=Επιλέξτε ένα στοιχείο και κάντε κλικ στο κουμπί Ανανέωση +PrintFile=Εκτύπωση του αρχείου %s # Week day Monday=Δευτέρα Tuesday=Τρίτη diff --git a/htdocs/langs/el_GR/margins.lang b/htdocs/langs/el_GR/margins.lang index c0f9a69deaf..c9d654ce3ef 100644 --- a/htdocs/langs/el_GR/margins.lang +++ b/htdocs/langs/el_GR/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Λεπτομέρειες Περιθωρίων ProductMargins=Περιθώρια προϊόντος CustomerMargins=Περιθώρια πελατών SalesRepresentativeMargins=Περιθώρια αντιπρόσωπου πωλήσεων +UserMargins=Περιθώρια χρήστη ProductService=Προϊόν ή Υπηρεσία AllProducts=Όλα τα προϊόντα και οι υπηρεσίες ChooseProduct/Service=Επιλέξτε προϊόν ή υπηρεσία diff --git a/htdocs/langs/el_GR/orders.lang b/htdocs/langs/el_GR/orders.lang index 96495ea8aea..4987091d539 100644 --- a/htdocs/langs/el_GR/orders.lang +++ b/htdocs/langs/el_GR/orders.lang @@ -19,17 +19,17 @@ CustomerOrder=Παραγγελία πελάτη CustomersOrders=Παραγγελίες πελατών CustomersOrdersRunning=Τρέχουσες παραγγελίες πελατών CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Πραγγελίες προς επικύρωση -OrdersToBill=Παραγγελίες προς πληρωμή -OrdersInProcess=Παραγγελίες σε εξέλιξη -OrdersToProcess=Παραγγελίες προς περέωση +OrdersToValid=Παραγγελίες πελατών για επικύρωση +OrdersToBill=Παραγγελίες πελατών που παραδίδονται +OrdersInProcess=Παραγγελίες πελατών σε εξέλιξη +OrdersToProcess=Παραγγελίες πελατών για επεξεργασία SuppliersOrdersToProcess=Παραγγελίες προμηθευτών προς επεξεργασία StatusOrderCanceledShort=Ακυρωμένη StatusOrderDraftShort=Προσχέδιο StatusOrderValidatedShort=Επικυρωμένη StatusOrderSentShort=Αποστολή στη διαδικασία StatusOrderSent=Αποστολή σε εξέλιξη -StatusOrderOnProcessShort=Σε εξέλιξη +StatusOrderOnProcessShort=Παραγγέλθηκε StatusOrderProcessedShort=Ολοκληρωμένη StatusOrderToBillShort=Για πληρωμή StatusOrderToBill2Short=Προς τιμολόγηση @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Λήφθηκε πλήρως StatusOrderCanceled=Ακυρωμένη StatusOrderDraft=Προσχέδιο (χρειάζεται επικύρωση) StatusOrderValidated=Επικυρωμένη -StatusOrderOnProcess=Σε εξέλιξη +StatusOrderOnProcess=Παραγγέλθηκε - Αναμονή παραλαβής StatusOrderProcessed=Ολοκληρωμένη StatusOrderToBill=Προς πληρωμή StatusOrderToBill2=Προς τιμολόγηση @@ -50,6 +50,8 @@ StatusOrderRefused=Αρνήθηκε StatusOrderReceivedPartially=Λήφθηκε μερικώς StatusOrderReceivedAll=Λήφθηκε πλήρως ShippingExist=Μια αποστολή, υπάρχει +ProductQtyInDraft=Ποσότητα του προϊόντος στην πρόχειρη παραγγελία +ProductQtyInDraftOrWaitingApproved=Ποσότητα του προϊόντος στο σχέδιο ή στις παραγγελίες που έχουν εγκριθεί, δεν έχει ακόμα παραγγελθεί DraftOrWaitingApproved=Draft or approved not yet ordered DraftOrWaitingShipped=Draft or validated not yet shipped MenuOrdersToBill=Παραγγελίες προς χρέωση diff --git a/htdocs/langs/el_GR/productbatch.lang b/htdocs/langs/el_GR/productbatch.lang index af3f9bba119..afe3a362d63 100644 --- a/htdocs/langs/el_GR/productbatch.lang +++ b/htdocs/langs/el_GR/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Διαχειριστείτε παρτίδα/σειριακό -ProductStatusOnBatch=Διαχείριση -ProductStatusNotOnBatch=Χωρίς διαχείριση -ProductStatusOnBatchShort=Διαχείριση -ProductStatusNotOnBatchShort=Χωρίς διαχείριση +ManageLotSerial=Χρησιμοποιήστε παρτίδα/σειριακό αριθμό +ProductStatusOnBatch=Ναι (απαιτείται Παρτίδα/σειριακό αριθμό) +ProductStatusNotOnBatch=Όχι (δεν χρησιμοποιείται Παρτίδα/σειριακό αριθμό) +ProductStatusOnBatchShort=Ναι +ProductStatusNotOnBatchShort=Όχι Batch=Παρτίδα/Σειριακός atleast1batchfield=Φάτε την ημερομηνία λήξης ή ημερομηνία πώλησης ή τον αριθμό παρτίδας batch_number=Παρτίδα/Σειριακός αριθμός @@ -18,3 +18,4 @@ printQty=Ποσότητα: %d AddDispatchBatchLine=Προσθέστε μια γραμμή για Χρόνο Διάρκειας αποστολής BatchDefaultNumber=Απροσδιόριστο WhenProductBatchModuleOnOptionAreForced=Όταν το module παρτίδας/σειριακός είναι ενεργοποιημένο, αύξηση/μείωση \nη κατάσταση των αποθεμάτων αναγκάζει την τελευταία επιλογή και δεν μπορούν να τροποποιηθούν. Άλλες επιλογές μπορούν να οριστούν όπως θέλετε. +ProductDoesNotUseBatchSerial=Αυτό το προϊόν δεν χρησιμοποιεί παρτίδα/σειριακό αριθμό diff --git a/htdocs/langs/el_GR/products.lang b/htdocs/langs/el_GR/products.lang index 98b79945713..25229b931ae 100644 --- a/htdocs/langs/el_GR/products.lang +++ b/htdocs/langs/el_GR/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Λογιστικός κωδικός (πώληση) ProductOrService=Προϊόν ή Υπηρεσία ProductsAndServices=Προϊόντα και Υπηρεσίες ProductsOrServices=Προϊόντα ή Υπηρεσίες -ProductsAndServicesOnSell=Διαθέσιμα Προϊόντα και Υπηρεσίες -ProductsAndServicesNotOnSell=Παρωχημένα individual +ProductsAndServicesOnSell=Προϊόντα και Υπηρεσίες για πώληση ή αγορά +ProductsAndServicesNotOnSell=Προϊόντα και Υπηρεσίες εκτός πώλησης ProductsAndServicesStatistics=Στατιστικά Προϊόντων και Υπηρεσιών ProductsStatistics=Στατιστικά Προϊόντων -ProductsOnSell=Διαθέσιμα Προϊόντα -ProductsNotOnSell=Παρωχημένα Προϊόντα -ProductsOnSellAndOnBuy=Προϊόντων που δεν προορίζονται για αγορά -ServicesOnSell=Διαθέσιμες Υπηρεσίες -ServicesNotOnSell=Παρωχημένες Υπηρεσίες -ServicesOnSellAndOnBuy=Υπηρεσίες που δεν είναι προς πώληση, ούτε την αγορά +ProductsOnSell=Προϊόν για πώληση ή για αγορά +ProductsNotOnSell=Προϊόν εκτός πώλησης και εκτός αγοράς +ProductsOnSellAndOnBuy=Προϊόντα προς πώληση και για αγορά +ServicesOnSell=Υπηρεσίες για πώληση ή αγορά +ServicesNotOnSell=Υπηρεσίες εκτός πώλησης +ServicesOnSellAndOnBuy=Υπηρεσίες προς πώληση και για αγορά InternalRef=Εσωτερική Παραπομπή LastRecorded=Last products/services on sell recorded LastRecordedProductsAndServices=%s τελευταία εγγεγραμένα προϊόντα/υπηρεσίες @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Διαφορετικές τιμές από την ποσότητα PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Τροποποίηση αρχικής ετικέτας @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Ορισμός του τύπου ή BarCodeDataForProduct=Πληροφορίες barcode του προϊόντος %s : BarCodeDataForThirdparty=Πληροφορίες Barcode από άλλους κατασκευαστές %s : ResetBarcodeForAllRecords=Ορίστε την αξία barcode για όλα τα αρχεία (προσοχή, θα επαναφέρει επίσης την αξία barcode που έχουν ήδη καθοριστεί με νέες τιμές) -PriceByCustomer=Τιμή ανά πελάτη +PriceByCustomer=Διαφορετική τιμή για κάθε πελάτη PriceCatalogue=Μοναδική τιμή ανά προϊόν/υπηρεσία -PricingRule=Κανόνες τιμολόγησης +PricingRule=Κανόνες για τις τιμές των πελατών AddCustomerPrice=Προσθέστε τιμή των πελατών ForceUpdateChildPriceSoc=Ορισμός ίδιας τιμής για τις θυγατρικές του πελάτη PriceByCustomerLog=Τιμή ανά πελάτη log @@ -244,6 +244,9 @@ MinimumPriceLimit=Ελάχιστη τιμή δεν μπορεί να είναι MinimumRecommendedPrice=Ελάχιστη συνιστώμενη τιμή είναι: %s PriceExpressionEditor=Επεξεργαστής συνάρτησης τιμών PriceExpressionSelected=Επιλογή συνάρτησης τιμών -PriceExpressionEditorHelp="τιμή = 2 + 2" or "2 + 2" για τον καθορισμό της τιμής
ExtraFields \nείναι μεταβλητές, όπως "#options_myextrafieldkey# * 2"
Υπάρχουν ειδικές μεταβλητές όπως #quantity# και #tva_tx#
Χρησιμοποιήστε ; για να διαχωρίσει τις εκφράσεις +PriceExpressionEditorHelp1="τιμή = 2 + 2" ή "2 + 2" για τον καθορισμό της τιμής. Χρησιμοποιήστε ; για να διαχωρίσετε τις εκφράσεις +PriceExpressionEditorHelp2=Μπορείτε να αποκτήσετε πρόσβαση στα Συμπληρωματικά χαρακτηριστικά με μεταβλητές όπως #options_myextrafieldkey# +PriceExpressionEditorHelp3=Στο προϊόν/υπηρεσία και στις τιμές του προμηθευτή υπάρχουν αυτές οι μεταβλητές διαθέσιμες:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=Μόνο σε τιμές προϊόντων/υπηρεσιών: #supplier_min_price#
Μόνο τιμές Προμηθευτών: #supplier_quantity# and #supplier_tva_tx# PriceMode=Λειτουργία Τιμής PriceNumeric=Αριθμός diff --git a/htdocs/langs/el_GR/projects.lang b/htdocs/langs/el_GR/projects.lang index 6dcccff7a50..c4ce60ce368 100644 --- a/htdocs/langs/el_GR/projects.lang +++ b/htdocs/langs/el_GR/projects.lang @@ -3,6 +3,7 @@ RefProject=Κωδ. έργου ProjectId=Id Έργου Project=Έργο Projects=Έργα +ProjectStatus=Κατάσταση έργου SharedProject=Όλοι PrivateProject=Αντιπρόσωποι του έργου MyProjectsDesc=Η άποψη αυτή περιορίζονται σε έργα που είναι σε μια επαφή για την (όποια είναι ο τύπος). @@ -11,7 +12,6 @@ ProjectsDesc=Η άποψη αυτή παρουσιάζει όλα τα έργα MyTasksDesc=Η άποψη αυτή περιορίζονται σε έργα ή εργασίες που έχουν μια επαφή για την (όποια είναι ο τύπος). TasksPublicDesc=Η άποψη αυτή παρουσιάζει όλα τα έργα και τα καθήκοντα που επιτρέπεται να διαβάζουν. TasksDesc=Η άποψη αυτή παρουσιάζει όλα τα έργα και τα καθήκοντα (δικαιώματα χρήστη να δώσει δικαίωμα για να δείτε τα πάντα). -Myprojects=Τα έργα μου ProjectsArea=Περιοχή Έργων NewProject=Νέο Έργο AddProject=Δημιουργία έργου @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Κλώνος έργου εντάχθηκαν αρχεία CloneTaskFiles=Ο κλώνος εργασία (ες) εντάχθηκαν αρχεία (εάν εργασία (ες) που κλωνοποιήθηκε) +CloneMoveDate=Ενημέρωση έργου/εργασιών χρονολογείται από τώρα; ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/el_GR/sendings.lang b/htdocs/langs/el_GR/sendings.lang index 2b00a7dfb0b..d2774a6577f 100644 --- a/htdocs/langs/el_GR/sendings.lang +++ b/htdocs/langs/el_GR/sendings.lang @@ -4,7 +4,8 @@ Sending=Αποστολή Sendings=Αποστολές Shipment=Αποστολή Shipments=Αποστολές -Receivings=Παραλαβές +ShowSending=Προβολή αποστολής +Receivings=Αποδείξεις SendingsArea=Περιοχή αποστολών ListOfSendings=Κατάλογος των αποστολών SendingMethod=Μέθοδο αποστολής @@ -14,7 +15,7 @@ SearchASending=Αναζήτηση για την αποστολή StatisticsOfSendings=Στατιστικά στοιχεία για τις αποστολές NbOfSendings=Αριθμός των αποστολών NumberOfShipmentsByMonth=Αριθμός αποστολών ανά μήνα -SendingCard=Αποστολές καρτών +SendingCard=Κάρτα αποστολής NewSending=Νέα αποστολή CreateASending=Δημιουργία μιας αποστολής CreateSending=Δημιουργία αποστολής @@ -61,8 +62,12 @@ ShipmentCreationIsDoneFromOrder=Προς το παρόν, η δημιουργί RelatedShippings=Σχετικές αποστολές ShipmentLine=Σειρά αποστολής CarrierList=Κατάλογος των μεταφορέων -SendingRunning=Προϊόν από παραγγελία του πελάτη που έχει ήδη αποσταλεί -SuppliersReceiptRunning=Προϊόν από παραγγελία προμηθευτή έχει ληφθεί +SendingRunning=Προϊόν από εντολή παραγγελιών σε πελάτες +SuppliersReceiptRunning=Προϊόν από εντολή παραγγελιών σε προμηθευτές +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Πιάσε τον πελάτη diff --git a/htdocs/langs/el_GR/stocks.lang b/htdocs/langs/el_GR/stocks.lang index 8c4c7dfb7e4..26a0e5802bc 100644 --- a/htdocs/langs/el_GR/stocks.lang +++ b/htdocs/langs/el_GR/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Αποθήκες αξία UserWarehouseAutoCreate=Δημιουργήστε μια αποθήκη αυτόματα κατά τη δημιουργία ενός χρήστη QtyDispatched=Ποσότητα αποστέλλονται +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Χρηματιστήριο αποστολή RuleForStockManagementDecrease=Κανόνας για μείωση της διαχείρισης των αποθεμάτων RuleForStockManagementIncrease=Κανόνας για την αύξηση της διαχείρισης των αποθεμάτων @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Αύξηση πραγματικού αποθεμάτων ReStockOnDispatchOrder=Αύξηση των αποθεμάτων σε πραγματικό εγχειρίδιο αποστολή σε αποθήκες, μετά από σειρά προμηθευτής που λαμβάνει ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=Παραγγελία δεν έχει ακόμη ή όχι περισσότερο μια κατάσταση που επιτρέπει την αποστολή των προϊόντων σε αποθήκες αποθεμάτων. -StockDiffPhysicTeoric=Λόγος αποθεμάτων διαφορά φυσική και θεωρητική +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Δεν προκαθορισμένα προϊόντα για αυτό το αντικείμενο. Έτσι, δεν έχει αποστολή σε απόθεμα είναι απαραίτητη. DispatchVerb=Αποστολή StockLimitShort=Όριο για ειδοποιήσεις @@ -116,10 +118,15 @@ MassMovement=Μαζική μετακίνηση MassStockMovement=Μαζική κίνηση αποθεμάτων SelectProductInAndOutWareHouse=Επιλέξτε ένα προϊόν, ποσότητα, μια αποθήκη πηγή και μια αποθήκη στόχο, στη συνέχεια, κάντε κλικ στο "%s". Μόλις γίνει αυτό για όλες τις απαιτούμενες κινήσεις, κάντε κλικ στο "%s". RecordMovement=Η εγγραφή μεταφέρθηκε -ReceivingForSameOrder=Λήψη για αυτή τη σειρά +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Οι κινήσεις των αποθεμάτων καταγράφονται RuleForStockAvailability=Κανόνες σχετικά με τις απαιτήσεις του αποθέματος StockMustBeEnoughForInvoice=Το επίπεδο των αποθεμάτων πρέπει να είναι επαρκής για να προσθέσετε το προϊόν / υπηρεσία στο τιμολόγιο StockMustBeEnoughForOrder=Το επίπεδο των αποθεμάτων πρέπει να είναι επαρκής για να προσθέσετε το προϊόν / υπηρεσία για αγορά StockMustBeEnoughForShipment= Το επίπεδο των αποθεμάτων πρέπει να είναι επαρκής για να προσθέσετε το προϊόν / υπηρεσία για αποστολή - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/el_GR/suppliers.lang b/htdocs/langs/el_GR/suppliers.lang index 743d0787740..8a37a970d19 100644 --- a/htdocs/langs/el_GR/suppliers.lang +++ b/htdocs/langs/el_GR/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Προμηθευτές Supplier=Προμηθευτής -AddSupplier=Προσθήκη προμηθευτή +AddSupplier=Δημιουργία προμηθευτή SupplierRemoved=Ο προμηθευτής αφαιρέθηκε SuppliersInvoice=Τιμολόγιο προμηθευτή NewSupplier=Νέος προμηθευτής @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Κανένας ή παρτίδα %s έχει τρ SentToSuppliers=Αποστολή σε προμηθευτές ListOfSupplierOrders=Λίστα παραγγελιών των προμηθευτών MenuOrdersSupplierToBill=Παραγγελίες προμηθευτών για τιμολόγηση +NbDaysToDelivery=Καθυστέρηση παράδοσης σε ημέρες +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/el_GR/withdrawals.lang b/htdocs/langs/el_GR/withdrawals.lang index 7f13ceb6468..df2ba95700a 100644 --- a/htdocs/langs/el_GR/withdrawals.lang +++ b/htdocs/langs/el_GR/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Πιστωτικές με WithdrawalFileNotCapable=Αδύνατο να δημιουργηθεί το αρχείο παραλαβή απόσυρση για τη χώρα σας %s (η χώρα σας δεν υποστηρίζεται) ShowWithdraw=Εμφάνιση Ανάληψη IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Ωστόσο, εάν το τιμολόγιο δεν έχει τουλάχιστον μία πληρωμή απόσυρσης ακόμη σε επεξεργασία, δεν θα πρέπει να οριστεί ως καταβληθέν θα επιτρέψει εκ των προτέρων την απόσυρση από την διαχείριση. -DoStandingOrdersBeforePayments=Αυτή η καρτέλα σας επιτρέπει να ζητήσετε μια πάγια εντολή. Άπαξ ο δωρεοδόχος, πηγαίνετε στο μενού Τράπεζας-> Απόσυρση για τη διαχείριση της πάγιας εντολής. Όταν η πάγια εντολή είναι κλειστή, η πληρωμή στο τιμολόγιο θα πρέπει να καταγράφεται αυτόματα και το τιμολόγιο θα κλείσει εάν υπόλοιπο που είναι να πληρώσει είναι μηδενικό. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Απόσυρση αρχείο SetToStatusSent=Ρυθμίστε την κατάσταση "αποστολή αρχείου" ThisWillAlsoAddPaymentOnInvoice=Αυτό θα ισχύει επίσης για τις πληρωμές προς τα τιμολόγια και θα τα χαρακτηρίσουν ως "Πληρωμένα" diff --git a/htdocs/langs/el_GR/workflow.lang b/htdocs/langs/el_GR/workflow.lang index 225dcd1ed4e..25b95c360c3 100644 --- a/htdocs/langs/el_GR/workflow.lang +++ b/htdocs/langs/el_GR/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Ροής εργασίας ρύθμιση μονάδας -WorkflowDesc=Αυτή η ενότητα Σχεδιασμός για την τροποποίηση της συμπεριφοράς των αυτόματων ενεργειών σε εφαρμογή. Από προεπιλογή, η ροή εργασίας έχει ανοίξει (πράγμα που κάνετε στη σειρά που θέλετε). Μπορείτε να ενεργοποιήσει την αυτόματη ενέργειες που σας ενδιαφέρει. +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Δεν υπάρχει καμία ροή εργασίας μπορείτε να τροποποιήσετε τη μονάδα που έχετε ενεργοποιήσει. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Δημιουργήστε μια παραγγελία του πελάτη αυτόματα μετά από μια προσφορά που έχει υπογραφεί descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Δημιουργήστε ένα τιμολόγιο πελάτη αυτόματα μετά από μια προσφορά που έχει υπογραφεί diff --git a/htdocs/langs/es_ES/accountancy.lang b/htdocs/langs/es_ES/accountancy.lang index d26e84d7a36..67b6e7e7f4c 100644 --- a/htdocs/langs/es_ES/accountancy.lang +++ b/htdocs/langs/es_ES/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuración del módulo contable Journaux=Diarios JournalFinancial=Diarios financieros Exports=Exportaciones +Export=Export Modelcsv=Modelo de exportación +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Seleccione un modelo de exportación Modelcsv_normal=Exportación clásica Modelcsv_CEGID=Exportar a Cegid Expert @@ -66,7 +68,7 @@ Lineofinvoice=Línea de la factura VentilatedinAccount=Contabilizada con éxito en la cuenta contable NotVentilatedinAccount=Cuenta sin contabilización en la contabilidad -ACCOUNTING_SEPARATORCSV=Separador CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Número de elementos a contabilizar que se muestran por página (máximo recomendado: 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Ordenar las páginas de contabilización "A contabilizar" por los elementos más recientes diff --git a/htdocs/langs/es_ES/admin.lang b/htdocs/langs/es_ES/admin.lang index e2c2f124b2e..e07f8194142 100644 --- a/htdocs/langs/es_ES/admin.lang +++ b/htdocs/langs/es_ES/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=No usar en producción ThisIsProcessToFollow=He aquí el procedimiento a seguir: StepNb=Paso %s FindPackageFromWebSite=Buscar el paquete que responde a su necesidad (por ejemplo en el sitio web %s) -DownloadPackageFromWebSite=Descargar el paquete desde el sitio %s. +DownloadPackageFromWebSite=Descargar paquete %s. UnpackPackageInDolibarrRoot=Descomprimir el paquete en el directorio raíz de Dolibarr %s sobre los archivos existentes (sin desplazar o borrar los existentes, so pena de perder su configuración o los módulos no oficiales instalados) SetupIsReadyForUse=La instalación ha finalizado y Dolibarr está disponible con el nuevo componente. NotExistsDirect=No existe el directorio alternativo.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Seleccione paquete: CurrentVersion=Versión actual de Dolibarr CallUpdatePage=Llamar a la página de actualización de la estructura y datos de la base de datos %s. LastStableVersion=Última versión estable disponible +UpdateServerOffline=Actualizar servidor offline GenericMaskCodes=Puede introducir cualquier máscara numérica. En esta máscara, puede utilizar las siguientes etiquetas:
{000000} corresponde a un número que se incrementa en cada uno de %s. Introduzca tantos ceros como longitud desee mostrar. El contador se completará a partir de ceros por la izquierda con el fin de tener tantos ceros como la máscara.
{000000+000} Igual que el anterior, con una compensación correspondiente al número a la derecha del signo + se aplica a partir del primer %s.
{000000@x} igual que el anterior, pero el contador se restablece a cero cuando se llega a x meses (x entre 1 y 12). Si esta opción se utiliza y x es de 2 o superior, entonces la secuencia {yy}{mm} o {yyyy}{mm} también es necesaria.
{dd} días (01 a 31).
{mm} mes (01 a 12).
{yy}, {yyyy} ou {y} año en 2, 4 ó 1 cifra.
GenericMaskCodes2={cccc} código de cliente con n caracteres
{cccc000} código de cliente con n caracteres es seguido por un contador dedicado a clientes. Este contador dedicado a clientes se reseteará al mismo tiempo que el contador global.
{tttt} El código del tipo de empresa con n caracteres (vea diccionarios->tipos de empresa).
GenericMaskCodes3=Cualquier otro carácter en la máscara se quedará sin cambios.
No se permiten espacios
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Lista desde una tabla ExtrafieldSeparator=Separador ExtrafieldCheckBox=Casilla de verificación ExtrafieldRadio=Botón de selección excluyente +ExtrafieldCheckBoxFromList= Casilla de selección de tabla ExtrafieldParamHelpselect=El listado de parámetros tiene que ser key,valor

por ejemplo:\n
1,value1
2,value2
3,value3
...

Para tener la lista en función de otra:
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=El listado de parámetros tiene que ser key,valor

por ejemplo:\n
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=El listado de parámetros tiene que ser key,valor

por ejemplo:\n
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Lista Parámetros viene de una tabla
Sintaxis: nombre_tabla: etiqueta_campo: identificador_campo :: filtro
Ejemplo: c_typent: libelle: id :: filtro
filtro puede ser una prueba simple (por ejemplo, activo = 1) para mostrar el valor sólo se activa
si desea filtrar un campo extra utilizar la sintáxis extra.fieldcode = ... (donde el código de campo es el código del campo extra)
para tener la lista en función de otra:
c_typent: libelle: id: parent_list_code | parent_column: filtro +ExtrafieldParamHelpchkbxlst=Lista de parámetros viene de una tabla
Sintaxis: nombre_tabla: etiqueta_campo: identificador_campo :: filtro
Ejemplo: c_typent: libelle: id :: filtro
filtro puede ser una prueba simple (por ejemplo, activo = 1) para mostrar el valor sólo se activa
si desea filtrar un campo extra utilizar la sintáxis extra.fieldcode = ... (donde el código de campo es el código del campo extra)
para tener la lista en función de otra:
c_typent: libelle: id: parent_list_code | parent_column: filtro LibraryToBuildPDF=Librería usada para la creación de archivos PDF WarningUsingFPDF=Atención: Su archivo conf.php contiene la directiva dolibarr_pdf_force_fpdf=1. Esto hace que se use la librería FPDF para generar sus archivos PDF. Esta librería es antigua y no cubre algunas funcionalidades (Unicode, transparencia de imágenes, idiomas cirílicos, árabes o asiáticos, etc.), por lo que puede tener problemas en la generación de los PDF.
Para resolverlo, y disponer de un soporte completo de PDF, puede descargar la librería TCPDF , y a continuación comentar o eliminar la línea $dolibarr_pdf_force_fpdf=1, y añadir en su lugar $dolibarr_lib_TCPDF_PATH='ruta_a_TCPDF' LocalTaxDesc=Algunos países aplican 2 o 3 tasas a cada línea de factura. Si es el caso, escoja el tipo de la segunda y tercera tasa y su valor. Los posibles tipos son:
1 : tasa local aplicable a productos y servicios sin IVA (IVA no se aplica en la tasa local)
2 : tasa local se aplica a productos y servicios antes del IVA (IVA se calcula sobre importe+tasa local)
3 : tasa local se aplica a productos sin IVA (IVA no se aplica en la tasa local)
4 : tasa local se aplica a productos antes del IVA (IVA se calcula sobre el importe+tasa local)
5 : tasa local se aplica a servicios sin IVA (IVA no se aplica a la tasa local)
6 : tasa local se aplica a servicios antes del IVA (IVA se calcula sobre importe + tasa local) @@ -572,7 +575,7 @@ Permission67=Exportar intervenciones Permission71=Consultar miembros Permission72=Crear/modificar miembros Permission74=Eliminar miembros -Permission75=Configurar tipos y atributos de los miembros +Permission75=Configurar tipos de los miembros Permission76=Exportar miembros Permission78=Consultar cotizaciones Permission79=Crear/modificar cotizaciones @@ -596,7 +599,7 @@ Permission109=Eliminar expediciones Permission111=Consultar cuentas financieras (cuentas bancarias, cajas) Permission112=Crear/modificar cantidad/eliminar registros bancarios Permission113=Configurar cuentas financieras (crear, controlar las categorías) -Permission114=Exportar transacciones y registros bancarios +Permission114=Reconciliar transacciones Permission115=Exportar transacciones y extractos Permission116=Captar transferencias entre cuentas Permission117=Gestionar envío de cheques @@ -761,6 +764,7 @@ Permission55001=Leer encuestas Permission55002=Crear/modificar encuestas Permission59001=Leer márgenes comerciales Permission59002=Definir márgenes comerciales +Permission59003=Leer cualquier margen de usuario DictionaryCompanyType=Tipos de terceros DictionaryCompanyJuridicalType=Tipos jurídicos de terceros DictionaryProspectLevel=Perspectiva nivel cliente potencial @@ -1038,7 +1042,7 @@ SendingMailSetup=Configuración del envío por mail SendmailOptionNotComplete=Atención, en algunos sistemas Linux, con este método de envio, para poder enviar mails en su nombre, la configuración de sendmail debe contener la opción -ba (parámetro mail.force_extra_parameters en el archivo php.ini). Si algunos de sus destinatarios no reciben sus mensajes, pruebe a modificar este parámetro PHP con mail.force_extra_parameters=-ba. PathToDocuments=Rutas de acceso a documentos PathDirectory=Directorio -SendmailOptionMayHurtBuggedMTA=La funcionalidad de enviar correo electrónico a través del "correo directo PHP" genera una solicitud que puede ser mal interpretado por algunos servidores de correo. Esto se traduce en mensajes de correo electrónico ilegibles para las personas alojadas en estas plataformas. Este es el caso de clientes en ciertos proveedores de servicios de Internet (Ej: Orange). Esto no es un problema ni de Dolibarr ni de PHP, pero sí del servidor de correo. Sin embargo, puede agregar la opción MAIN_FIX_FOR_BUGGED_MTA con valor 1 en configuración-varios para tratar que Dolibarr evite el error. Otra solución (recomendada) es utilizar el método de envío por SMTP que no tiene este inconveniente. +SendmailOptionMayHurtBuggedMTA=La funcionalidad de enviar correo electrónico a través del "correo directo PHP" genera una solicitud que puede ser mal interpretado por algunos servidores de correo. Esto se traduce en mensajes de correo electrónico ilegibles para las personas alojadas en estas plataformas. Este es el caso de clientes en ciertos proveedores de servicios de Internet (Ej: Orange). Esto no es un problema ni de Dolibarr ni de PHP, pero sí del servidor de correo. Sin embargo, puede agregar la opción MAIN_FIX_FOR_BUGGED_MTA con valor 1 en configuración-varios para tratar que Dolibarr evite el error. Otra solución (recomendada) es utilizar el método de envío por SMTP que no tiene este inconveniente. TranslationSetup=Configuración traducción TranslationDesc=La elección del idioma mostrado en pantalla se modifica:
* A nivel global desde el menú Inicio - Configuración - Entorno
* De manera específica al usuario desde la pestaña Interfaz usuario de su ficha de usuario (hacer clic en su login en la parte superior izquierda de la pantalla). TotalNumberOfActivatedModules=Número total de módulos activados: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=Usa el navegador web %s. Este navegador está optimizado para la seg BrowserIsKO=Usa el navegador web %s. Este navegador es una mala opción para la seguridad, rendimiento y fiabilidad. Aconsejamos utilizar Firefox, Chrome, Opera o Safari. XDebugInstalled=XDebug está cargado. XCacheInstalled=XCache está cargado -AddRefInList=Mostrar el código de cliente/proveedor en los listados (lista desplegable o autoselección) en la mayoría de enlaces +AddRefInList=Mostrar código de cliente/proveedor en los listados (y selectores) y enlaces. Los terceros aparecerán con el nombre "CC12345 - SC45678 - The big company coorp", en lugar de "The big company coorp". FieldEdition=Edición del campo %s FixTZ=Corrección de zona horaria FillThisOnlyIfRequired=Ejemplo: +2 (Complete sólo si se registra una desviación del tiempo en la exportación) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Validar el pedido después del cierre del presupuest FreeLegalTextOnOrders=Texto libre en pedidos WatermarkOnDraftOrders=Marca de agua en pedidos borrador (en caso de estar vacío) ShippableOrderIconInList=Añadir un icono en el listado de pedidos que indica si el pedido es enviable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Preguntar por cuenta bancaria a usar en el pedido ##### Clicktodial ##### ClickToDialSetup=Configuración del módulo Click To Dial ClickToDialUrlDesc=URL de llamada haciendo click en el icono teléfono.
La URL completa de llamada será: URL?login=...&password=...&caller=...&called=telellamada @@ -1392,6 +1397,7 @@ RSSUrlExample=Un flujo RSS interesante MailingSetup=Configuración del módulo E-Mailing MailingEMailFrom=E-Mail emisor (From) de los correos enviados por E-Mailing MailingEMailError=E-Mail de respuesta (Errors-to) para las respuestas acerca de envíos por e-mailing con error. +MailingDelay=Segundos de espera después de enviar el mensaje siguiente ##### Notification ##### NotificationSetup=Configuración del módulo notificaciones NotificationEMailFrom=E-Mail emisor (From) de los correos enviados a través de notificaciones @@ -1403,7 +1409,7 @@ SendingsReceiptModel=Modelo de notas de entrega SendingsNumberingModules=Módulos de numeración de notas de entrega SendingsAbility=Uso de notas de entrega para los envíos a clientes NoNeedForDeliveryReceipts=En la mayoría de los casos, las notas de entrega (lista de productos enviados) también actúan como notas de recepción y son firmadas por el cliente. La gestión de las notas de recepción es por lo tanto redundante y rara vez se activará. -FreeLegalTextOnShippings=Mención complementaria en las notas de entrega +FreeLegalTextOnShippings=Texto libre en envíos ##### Deliveries ##### DeliveryOrderNumberingModules=Módulos de numeración de las notas de recepción DeliveryOrderModel=Modelo de notas de recepción @@ -1414,7 +1420,7 @@ AdvancedEditor=Editor avanzado ActivateFCKeditor=Activar editor avanzado para : FCKeditorForCompany=Creación/edición WYSIWIG de la descripción y notas de los terceros FCKeditorForProduct=Creación/edición WYSIWIG de la descripción y notas de los productos/servicios -FCKeditorForProductDetails=Creación/edición WYSIWIG de las líneas de detalle de los productos (en pedidos, presupuestos, facturas, etc.) +FCKeditorForProductDetails=Creación/edición WYSIWIG de las líneas de detalle de los productos (pedidos, presupuestos, facturas, etc.). Atención: El uso de esta opción no es recomendable ya que puede crear problemas con los caracteres especiales y el formateo de página al generar archivos PDF. FCKeditorForMailing= Creación/edición WYSIWIG de los E-Mails (Utilidades->E-Mailings) FCKeditorForUserSignature=Creación/edición WYSIWIG de la firma de usuarios FCKeditorForMail=Creación/edición WYSIWIG de todos los E-Mails (excepto Utilidades->E-Mailings) @@ -1562,3 +1568,4 @@ SalariesSetup=Configuración del módulo salarios SortOrder=Ordenación Format=Formatear TypePaymentDesc=0:Pago cliente,1:Pago proveedor,2:Tanto pago de cliente como de proveedor +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/es_ES/agenda.lang b/htdocs/langs/es_ES/agenda.lang index 078045f4c14..ad9ebcba1b2 100644 --- a/htdocs/langs/es_ES/agenda.lang +++ b/htdocs/langs/es_ES/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Pedido de cliente %s enviado por e-mail InvoiceSentByEMail=Factura a cliente %s enviada por e-mail SupplierOrderSentByEMail=Pedido a proveedor %s enviada por e-mail SupplierInvoiceSentByEMail=Factura de proveedor %s enviada por e-mail -ShippingSentByEMail=Expedición %s enviada por e-mail -ShippingValidated= Envío %s validado +ShippingSentByEMail=Expedición %s enviada por email +ShippingValidated= Expedición %s validada +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Tercero creado DateActionPlannedStart= Fecha de inicio prevista DateActionPlannedEnd= Fecha de fin prevista @@ -68,7 +69,7 @@ DateActionDoneEnd= Fecha real de finalización DateActionStart= Fecha de inicio DateActionEnd= Fecha finalización AgendaUrlOptions1=Puede también añadir estos parámetros al filtro de salida: -AgendaUrlOptions2=login=%s para restringir inserciones a acciones creadas , que afecten o realizadas por el usuario %s. +AgendaUrlOptions2=login=%s para restringir inserciones a acciones creadas o asignadas al usuario %s. AgendaUrlOptions3=logina=%s para restringir inserciones a acciones creadas por el usuario %s. AgendaUrlOptions4=logint=%s para restringir inserciones a acciones que afecten al usuario %s. AgendaUrlOptionsProject=project=PROJECT_ID para restringir inserciones a acciones asociadas al proyecto PROJECT_ID. diff --git a/htdocs/langs/es_ES/banks.lang b/htdocs/langs/es_ES/banks.lang index 2c7516b555b..647e7987293 100644 --- a/htdocs/langs/es_ES/banks.lang +++ b/htdocs/langs/es_ES/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Cuenta FinancialAccounts=Cuentas BankAccount=Cuenta bancaria BankAccounts=Cuentas Bancarias +ShowAccount=Mostrar cuenta AccountRef=Ref. cuenta financiera AccountLabel=Etiqueta cuenta financiera CashAccount=Cuenta caja/efectivo diff --git a/htdocs/langs/es_ES/bills.lang b/htdocs/langs/es_ES/bills.lang index 7e4a1e1376d..782efdf26e2 100644 --- a/htdocs/langs/es_ES/bills.lang +++ b/htdocs/langs/es_ES/bills.lang @@ -2,7 +2,7 @@ Bill=Factura Bills=Facturas BillsCustomers=Facturas a clientes -BillsCustomer=Facturas al cliente +BillsCustomer=Facturas a clientes BillsSuppliers=Facturas de proveedores BillsCustomersUnpaid=Facturas a clientes pendientes de cobro BillsCustomersUnpaidForCompany=Facturas a clientes pendientes de cobro de %s @@ -348,6 +348,7 @@ ChequeNumber=Cheque nº ChequeOrTransferNumber=Cheque/Transferencia nº ChequeMaker=Emisor del cheque ChequeBank=Banco del cheque +CheckBank=Verificar NetToBePaid=Neto a pagar PhoneNumber=Tel. FullPhoneNumber=Teléfono @@ -388,7 +389,7 @@ DisabledBecausePayments=No disponible ya que existen pagos CantRemovePaymentWithOneInvoicePaid=Eliminación imposible cuando existe al menos una factura clasificada como pagada. ExpectedToPay=Esperando el pago PayedByThisPayment=Pagada por este pago -ClosePaidInvoicesAutomatically=Clasificar como "Pagadas" las facturas y facturas rectificativas completamente pagadas. +ClosePaidInvoicesAutomatically=Clasificar como "Pagadas" las facturas, facturas de situación y facturas rectificativas completamente pagadas. ClosePaidCreditNotesAutomatically=Clasificar automáticamente como "Pagados" los abonos completamente reembolsados AllCompletelyPayedInvoiceWillBeClosed=Todas las facturas con un resto a pagar 0 serán automáticamente cerradas al estado "Pagada". ToMakePayment=Pagar @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Responsable seguimiento factu TypeContact_invoice_supplier_external_BILLING=Contacto proveedor facturación TypeContact_invoice_supplier_external_SHIPPING=Contacto proveedor entregas TypeContact_invoice_supplier_external_SERVICE=Contacto proveedor servicios +# Situation invoices +InvoiceFirstSituationAsk=Factura de primera situación +InvoiceFirstSituationDesc=Las facturas de situación están ligadas a situaciones relacionadas con una progresión, por ejemplo, la progresión de una construcción. Cada situación está ligada a una factura. +InvoiceSituation=Factura de situación +InvoiceSituationAsk=Factura de seguimiento de situación +InvoiceSituationDesc=Creación de una nueva situación que seguirá a una posición ya abierta. +SituationAmount=Importe Factura situación (Sin IVA) +SituationDeduction=Deducción situación +Progress=Progreso +ModifyAllLines=Modificar todas las líneas +CreateNextSituationInvoice=Crear próxima situación +NotLastInCycle=Esta factura no la última en el ciclo y no debe ser modificada. +DisabledBecauseNotLastInCycle=La próxima situación ya existe. +DisabledBecauseFinal=Esta situación es la última. +CantBeLessThanMinPercent=El progreso de una línea no puede ser inferior a su valor a la situación anterior. +NoSituations=Sin situaciones abiertas +InvoiceSituationLast=Factura final y general diff --git a/htdocs/langs/es_ES/compta.lang b/htdocs/langs/es_ES/compta.lang index f6eaf40f12b..83e1dc18b6e 100644 --- a/htdocs/langs/es_ES/compta.lang +++ b/htdocs/langs/es_ES/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Volumen de ventas PaymentsNotLinkedToInvoice=Pagos vinculados a ninguna factura, por lo que ninguún tercero PaymentsNotLinkedToUser=Pagos no vinculados a un usuario Profit=Beneficio +AccountingResult=Accounting result Balance=Saldo Debit=Debe Credit=Haber diff --git a/htdocs/langs/es_ES/cron.lang b/htdocs/langs/es_ES/cron.lang index 883b32aefa9..477deb2e57a 100644 --- a/htdocs/langs/es_ES/cron.lang +++ b/htdocs/langs/es_ES/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL para ejecutar tareas Cron OrToLaunchASpecificJob=O para ejecutar una tarea en concreto KeyForCronAccess=Clave para la URL para ejecutar tareas Cron FileToLaunchCronJobs=Comando para ejecutar tareas Cron -CronExplainHowToRunUnix=En entorno Unix debes usar crontab para ejecutar el comando cada varios minutos -CronExplainHowToRunWin=En un entorno de Microsoft(tm) Windows puedes usar el programador de tareas para ejecutar el comando cada varios minutos +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Tareas programadas CronListActive=Listado de tareas activas/programadas diff --git a/htdocs/langs/es_ES/ecm.lang b/htdocs/langs/es_ES/ecm.lang index 6f2cf618ff9..ea37f35c3ef 100644 --- a/htdocs/langs/es_ES/ecm.lang +++ b/htdocs/langs/es_ES/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Documentos asociados a contratos ECMDocsByInvoices=Documentos asociados a facturas ECMDocsByProducts=Documentos enlazados a productos ECMDocsByProjects=Documentos enlazados a proyectos +ECMDocsByUsers=Documentos enlazados a usuarios +ECMDocsByInterventions=Documentos enlazados a intervenciones ECMNoDirectoryYet=No se ha creado el directorio ShowECMSection=Mostrar directorio DeleteSection=Eliminación directorio diff --git a/htdocs/langs/es_ES/errors.lang b/htdocs/langs/es_ES/errors.lang index 71715c703db..16715819b76 100644 --- a/htdocs/langs/es_ES/errors.lang +++ b/htdocs/langs/es_ES/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=La configuración del módulo parece incompleta. Vay ErrorBadMask=Error en la máscara ErrorBadMaskFailedToLocatePosOfSequence=Error, sin número de secuencia en la máscara ErrorBadMaskBadRazMonth=Error, valor de vuelta a 0 incorrecto +ErrorMaxNumberReachForThisMask=Número máximo alcanzado para esta máscara +ErrorCounterMustHaveMoreThan3Digits=El contador debe contener más de 3 dígitos ErrorSelectAtLeastOne=Error. Seleccione al menos una entrada. ErrorProductWithRefNotExist=La referencia de producto '%s' no existe ErrorDeleteNotPossibleLineIsConsolidated=Eliminación imposible ya que el registro está enlazado a una transacción bancaria conciliada @@ -156,6 +158,8 @@ ErrorPriceExpression21=Resultado '%s' vacío ErrorPriceExpression22=Resultado '%s' negativo ErrorPriceExpressionInternal=Error interno '%s' ErrorPriceExpressionUnknown=Error desconocido '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Los parámetros obligatorios de configuración no están todavía definidos diff --git a/htdocs/langs/es_ES/install.lang b/htdocs/langs/es_ES/install.lang index 2cb12467d66..a93ded0ce8e 100644 --- a/htdocs/langs/es_ES/install.lang +++ b/htdocs/langs/es_ES/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Actualización terminada LastStepDesc=Último paso: Indique aquí la cuenta y la contraseña del primer usuario que usted utilizará para conectarse a la aplicación. No pierda estos identificadores, es la cuenta que permite administrar el resto. ActivateModule=Activación del módulo %s ShowEditTechnicalParameters=Pulse aquí para ver/editar los parámetros técnicos (modo experto) +WarningUpgrade=Atención:\nHa pensado en hacer una copia de seguridad de la base de datos?\nEs muy recomendable: por ejemplo, debido a algunos fallos en los sistemas de bases de datos (por ejemplo MySQL versión 5.5.40), algunos datos o tablas se pueden perder durante este proceso, por lo que es muy recomendable tener una copia completa de su base de datos antes de iniciar la migración.\n\nHaga clic en OK para iniciar el proceso de migración... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Actualización de tiempo dedicado en segundos MigrationActioncommElement=Actualización de los datos de acciones sobre elementos MigrationPaymentMode=Actualización de los modos de pago MigrationCategorieAssociation=Actualización de las categorías +MigrationEvents=Migración de eventos para agregar propietario de evento en la tabla de asignacion ShowNotAvailableOptions=Mostrar opciones no disponibles HideNotAvailableOptions=Ocultar opciones no disponibles diff --git a/htdocs/langs/es_ES/languages.lang b/htdocs/langs/es_ES/languages.lang index 88fba3e586f..db80bec8869 100644 --- a/htdocs/langs/es_ES/languages.lang +++ b/htdocs/langs/es_ES/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Alemán (Austria) Language_de_CH=Alemán (Suiza) Language_el_GR=Griego Language_en_AU=Inglés (Australia) +Language_en_CA=Inglés (Canadá) Language_en_GB=Inglés (Reino Unido) Language_en_IN=Inglés (India) Language_en_NZ=Inglés (Nueva Zelanda) diff --git a/htdocs/langs/es_ES/main.lang b/htdocs/langs/es_ES/main.lang index 0f13a2540a2..80c77d8c09e 100644 --- a/htdocs/langs/es_ES/main.lang +++ b/htdocs/langs/es_ES/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd/MM/yyyy FormatDateShortJavaInput=dd/MM/yyyy FormatDateShortJQuery=dd/mm/yy FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Error, el registro del archivo falló. SetDate=Fijar fecha SelectDate=Seleccione una fecha SeeAlso=Ver también %s +SeeHere=Vea aquí BackgroundColorByDefault=Color de fondo FileNotUploaded=No se ha subido el archivo FileUploaded=El archivo se ha subido correctamente @@ -169,6 +171,7 @@ User=Usuario Users=Usuarios Group=Grupo Groups=Grupos +NoUserGroupDefined=No hay definido grupo de usuarios Password=Contraseña PasswordRetype=Repetir contraseña NoteSomeFeaturesAreDisabled=Atención, sólo unos pocos módulos/funcionalidades han sido activados en esta demo. @@ -258,6 +261,7 @@ days=días Hours=Horas Minutes=Minutos Seconds=Segundos +Weeks=Semanas Today=Hoy Yesterday=Ayer Tomorrow=Mañana @@ -683,6 +687,7 @@ XMoreLines=%s línea(s) ocultas PublicUrl=URL pública AddBox=Añadir caja SelectElementAndClickRefresh=Seleccione un elemento y haga clic en Refrescar +PrintFile=Imprimir Archivo %s # Week day Monday=Lunes Tuesday=Martes diff --git a/htdocs/langs/es_ES/margins.lang b/htdocs/langs/es_ES/margins.lang index 2094ff8761a..7b585ad9630 100644 --- a/htdocs/langs/es_ES/margins.lang +++ b/htdocs/langs/es_ES/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Detalles de márgenes realizados ProductMargins=Márgenes por producto CustomerMargins=Márgenes por cliente SalesRepresentativeMargins=Margenes por comercial +UserMargins=Márgenes del usuario ProductService=Producto o servicio AllProducts=Todos los productos y servicios ChooseProduct/Service=Elija el producto o servicio diff --git a/htdocs/langs/es_ES/orders.lang b/htdocs/langs/es_ES/orders.lang index 67002f7d105..ce5b62a9033 100644 --- a/htdocs/langs/es_ES/orders.lang +++ b/htdocs/langs/es_ES/orders.lang @@ -29,7 +29,7 @@ StatusOrderDraftShort=Borrador StatusOrderValidatedShort=Validado StatusOrderSentShort=Expedición en curso StatusOrderSent=Envío en curso -StatusOrderOnProcessShort=Pte. recibir +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Procesado StatusOrderToBillShort=Emitido StatusOrderToBill2Short=A facturar @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Recibido StatusOrderCanceled=Anulado StatusOrderDraft=Borrador (a validar) StatusOrderValidated=Validado -StatusOrderOnProcess=Pendiente de recibir +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Procesado StatusOrderToBill=Emitido StatusOrderToBill2=A facturar @@ -50,6 +50,8 @@ StatusOrderRefused=Rechazado StatusOrderReceivedPartially=Recibido parcialmente StatusOrderReceivedAll=Recibido ShippingExist=Existe una expedición +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Borrador o aprobado aún no controlado DraftOrWaitingShipped=Borrador o validado aún no expedido MenuOrdersToBill=Pedidos a facturar diff --git a/htdocs/langs/es_ES/productbatch.lang b/htdocs/langs/es_ES/productbatch.lang index ceb6bd361e3..194a1ab5a5b 100644 --- a/htdocs/langs/es_ES/productbatch.lang +++ b/htdocs/langs/es_ES/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Gestionar lotes/series -ProductStatusOnBatch=Gestionado -ProductStatusNotOnBatch=No gestionado -ProductStatusOnBatchShort=Gestionado -ProductStatusNotOnBatchShort=No gestionado +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Lote/Serie atleast1batchfield=Fecha de caducidad o Fecha de venta o Lote batch_number=Número Lote/Serie @@ -18,3 +18,4 @@ printQty=Cant.: %d AddDispatchBatchLine=Añada una línea para despacho por caducidad BatchDefaultNumber=Indefinido WhenProductBatchModuleOnOptionAreForced=Si el módulo de Lotes/Series está activado, el incremento/decremento de stock es forzado a lo último escogido y no puede editarse. Otras opciones pueden definirse si se necesita +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/es_ES/products.lang b/htdocs/langs/es_ES/products.lang index 693cdfdd193..97ad12c901b 100644 --- a/htdocs/langs/es_ES/products.lang +++ b/htdocs/langs/es_ES/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Código contable ventas ProductOrService=Producto o servicio ProductsAndServices=Productos y servicios ProductsOrServices=Productos o servicios -ProductsAndServicesOnSell=Productos y servicios a la venta -ProductsAndServicesNotOnSell=Productos y servicios fuera de venta +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Estadísticas productos y servicios ProductsStatistics=Estadísticas productos -ProductsOnSell=Productos en venta o en compra -ProductsNotOnSell=Productos fuera de venta y de compra -ProductsOnSellAndOnBuy=Productos ni a la venta ni a la compra -ServicesOnSell=Servicios en venta o en compra -ServicesNotOnSell=Servicios fuera de venta y de compra -ServicesOnSellAndOnBuy=Servicios ni a la venta ni a la compra +ProductsOnSell=Producto en venta o en compra +ProductsNotOnSell=Producto fuera de venta y fuera de compra +ProductsOnSellAndOnBuy=Productos en venta o en compra +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Servicios fuera de venta +ServicesOnSellAndOnBuy=Servicios a la venta o en compra InternalRef=Referencia interna LastRecorded=Ultimos productos/servicios en venta registrados LastRecordedProductsAndServices=Los %s últimos productos/servicios registrados @@ -198,7 +198,7 @@ HelpAddThisServiceCard=Esta opción permite crear o clonar una ficha de servicio CurrentProductPrice=Precio actual AlwaysUseNewPrice=Usar siempre el precio actual AlwaysUseFixedPrice=Usar el precio fijado -PriceByQuantity=Precio por cantidad +PriceByQuantity=Precios diferentes por cantidad PriceByQuantityRange=Rango cantidad ProductsDashboard=Resumen Productos/Servicios UpdateOriginalProductLabel=Modificar etiqueta original @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definición de tipo o valor de códi BarCodeDataForProduct=Información del código de barras del producto %s: BarCodeDataForThirdparty=Información del código de barras del tercero %s: ResetBarcodeForAllRecords=Definir códigos de barras para todos los registros (machacará los valores de códigos de barras ya registrados) -PriceByCustomer=Precio por cliente +PriceByCustomer=Precio diferente para cada cliente PriceCatalogue=Precio único por producto/servicio -PricingRule=Reglas de precio +PricingRule=Reglas para precios a clientes AddCustomerPrice=Añadir precio por clientes ForceUpdateChildPriceSoc=Establecer el mismo precio en las filiales de los clientes PriceByCustomerLog=Log de precios por clientes @@ -244,6 +244,9 @@ MinimumPriceLimit=El precio mínimo no puede ser menor de %s MinimumRecommendedPrice=El precio mínimo recomendado es: %s PriceExpressionEditor=Editor de expresión de precios PriceExpressionSelected=Expresión de precios seleccionada -PriceExpressionEditorHelp="price = 2 + 2" o "2 + 2" para indicar el precio
ExtraFields son variables como "#options_myextrafieldkey# * 2"
Existen variables especiales como #quantity# y #tva_tx#
Use ; para separar expresiones +PriceExpressionEditorHelp1="price = 2 + 2" o "2 + 2" para configurar un precio. Use ; para separar expresiones +PriceExpressionEditorHelp2=Puede acceder a los atributos adicionales con variables como #options_clavedemiatributoadicional# +PriceExpressionEditorHelp3=En productos y servicios, y precios de proveedor están disponibles las siguientes variables
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=Solamente en los precios de productos y servicios: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Modo precio PriceNumeric=Número diff --git a/htdocs/langs/es_ES/projects.lang b/htdocs/langs/es_ES/projects.lang index 3a6ed7f8784..ce1af52a955 100644 --- a/htdocs/langs/es_ES/projects.lang +++ b/htdocs/langs/es_ES/projects.lang @@ -3,7 +3,7 @@ RefProject=Ref. proyecto ProjectId=Id proyecto Project=Proyecto Projects=Proyectos -ProjectStatus=Estado del proyecto +ProjectStatus=Project status SharedProject=Proyecto compartido PrivateProject=Contactos del proyecto MyProjectsDesc=Esta vista muestra aquellos proyectos en los que usted es un contacto afectado (cualquier tipo). @@ -12,7 +12,6 @@ ProjectsDesc=Esta vista muestra todos los proyectos (sus permisos de usuario le MyTasksDesc=Esta vista se limita a los proyectos y tareas en los que usted es un contacto afectado en al menos una tarea (cualquier tipo). TasksPublicDesc=Esta vista muestra todos los proyectos y tareas en los que usted tiene derecho a tener visibilidad. TasksDesc=Esta vista muestra todos los proyectos y tareas (sus permisos de usuario le permiten tener una visión completa). -Myprojects=Mis proyectos ProjectsArea=Área proyectos NewProject=Nuevo proyecto AddProject=Crear proyecto @@ -57,7 +56,7 @@ MyActivities=Mis tareas/actividades MyProjects=Mis proyectos DurationEffective=Duración efectiva Progress=Progresión -ProgressDeclared=Progresión declarado +ProgressDeclared=Progresión declarada ProgressCalculated=Progresión calculada Time=Tiempo ListProposalsAssociatedProject=Listado de presupuestos asociados al proyecto @@ -104,6 +103,7 @@ CloneContacts=Clonar los contactos CloneNotes=Clonar las notas CloneProjectFiles=Clonar los archivos adjuntos del proyecto CloneTaskFiles=Clonar los archivos adjuntos de la(s) tarea(s) (si se clonan la(s) tarea(s)) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=¿Está seguro de querer clonar este proyecto? ProjectReportDate=Cambiar las fechas de las tareas en función de la fecha de inicio del proyecto ErrorShiftTaskDate=Se ha producido un error en el cambio de las fechas de las tareas diff --git a/htdocs/langs/es_ES/sendings.lang b/htdocs/langs/es_ES/sendings.lang index 4335c234d11..d9e67d7c0e4 100644 --- a/htdocs/langs/es_ES/sendings.lang +++ b/htdocs/langs/es_ES/sendings.lang @@ -4,7 +4,8 @@ Sending=Envío Sendings=Envíos Shipment=Envío Shipments=Envíos -Receivings=Recepciones +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Área envíos ListOfSendings=Listado de envíos SendingMethod=Método de envío @@ -14,7 +15,7 @@ SearchASending=Buscar envío StatisticsOfSendings=Estadísticas de envíos NbOfSendings=Número de envíos NumberOfShipmentsByMonth=Número de envíos por mes -SendingCard=Ficha envío +SendingCard=Shipment card NewSending=Nuevo envío CreateASending=Crear un envío CreateSending=Crear envío @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Anulado StatusSendingDraftShort=Borrador StatusSendingValidatedShort=Validado StatusSendingProcessedShort=Procesado -SendingSheet=Nota de entrega +SendingSheet=Shipment sheet Carriers=Transportistas Carrier=Transportista CarriersArea=Área transportistas @@ -58,11 +59,15 @@ SendShippingRef=Envío de la expedición %s ActionsOnShipping=Eventos sobre la expedición LinkToTrackYourPackage=Enlace para el seguimento de su paquete ShipmentCreationIsDoneFromOrder=De momento, la creación de una nueva expedición se realiza desde la ficha de pedido. -RelatedShippings=Expedición(es) asociada(s) +RelatedShippings=Related shipments ShipmentLine=Línea de expedición CarrierList=Listado de transportistas -SendingRunning=Ya ha sido enviado el producto del pedido de cliente -SuppliersReceiptRunning=Ya ha sido recibido el producto del pedido a proveedor +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Recogido por el cliente diff --git a/htdocs/langs/es_ES/stocks.lang b/htdocs/langs/es_ES/stocks.lang index 04f2c864f9d..652c750edb2 100644 --- a/htdocs/langs/es_ES/stocks.lang +++ b/htdocs/langs/es_ES/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=PMP EnhancedValueOfWarehouses=Valor de stocks UserWarehouseAutoCreate=Crear automáticamente existencias/almacén propio del usuario en la creación del usuario QtyDispatched=Cantidad recibida +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Recepción de stocks RuleForStockManagementDecrease=Regla de gestión de decrementos de stock RuleForStockManagementIncrease=Regla de gestión de incrementos de stock @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Incrementar los stocks físicos sobre los pedidos a prove ReStockOnDispatchOrder=Incrementa los stocks físicos en el desglose manual de la recepción de los pedidos a proveedores en los almacenes ReStockOnDeleteInvoice=Incrementa los stocks físicos en la eliminación de facturas OrderStatusNotReadyToDispatch=El pedido aún no está o no tiene un estado que permita un desglose de stock. -StockDiffPhysicTeoric=Motivo de la diferencia entre valores físicos y teóricos +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=No hay productos predefinidos en este objeto. Por lo tanto no se puede realizar un desglose de stock. DispatchVerb=Validar recepción StockLimitShort=Límite para alerta @@ -116,10 +118,15 @@ MassMovement=Movimientos en masa MassStockMovement=Movimientos de stock en masa SelectProductInAndOutWareHouse=Selecccione un producto, una cantidad, un almacén origen y un almacén destino, seguidamente haga clic "%s". Una vez seleccionados todos los movimientos, haga clic en "%s". RecordMovement=Registrar transferencias -ReceivingForSameOrder=Recepciones de este pedido +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Movimiento de stock registrado RuleForStockAvailability=Reglas de requerimiento de stock StockMustBeEnoughForInvoice=El nivel de existencias debe ser suficiente para añadir productos/servicios en facturas StockMustBeEnoughForOrder=El nivel de existencias debe ser suficiente para añadir productos/servicios en pedidos StockMustBeEnoughForShipment= El nivel de existencias debe ser suficiente para añadir productos/servicios en envíos - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/es_ES/suppliers.lang b/htdocs/langs/es_ES/suppliers.lang index 06079f22874..88db48b131a 100644 --- a/htdocs/langs/es_ES/suppliers.lang +++ b/htdocs/langs/es_ES/suppliers.lang @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Ninguno o lote %s no se ha ejecutado recientement SentToSuppliers=Enviado a proveedores ListOfSupplierOrders=Listado de pedidos a proveedor MenuOrdersSupplierToBill=Pedidos a proveedor a facturar +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/es_ES/withdrawals.lang b/htdocs/langs/es_ES/withdrawals.lang index de91cb28d0a..b1a5531479e 100644 --- a/htdocs/langs/es_ES/withdrawals.lang +++ b/htdocs/langs/es_ES/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Abonada el WithdrawalFileNotCapable=No es posible generar el fichero bancario de domiciliación para el país %s (El país no está soportado) ShowWithdraw=Ver domiciliación IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Sin embargo, si la factura tiene pendiente algún pago por domiciliación, no será cerrada para permitir la gestión de la domiciliación. -DoStandingOrdersBeforePayments=Esta pestaña le permite realizar una petición de domiciliación. Una vez realizada, vaya al menú de Bancos->Domiciliaciones para gestionar las domiciliaciones. Cuando una domiciliación se marca como abonada, el pago en la factura se grabará automáticamente, y la factura será cerrada si resto a pagar es cero. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Archivo de la domiciliación SetToStatusSent=Clasificar como "Archivo enviado" ThisWillAlsoAddPaymentOnInvoice=Se crearán los pagos de las facturas y las clasificará como pagadas diff --git a/htdocs/langs/es_ES/workflow.lang b/htdocs/langs/es_ES/workflow.lang index f135f135ccb..826ad1eb61e 100644 --- a/htdocs/langs/es_ES/workflow.lang +++ b/htdocs/langs/es_ES/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Configuración del módulo Flujo de trabajo -WorkflowDesc=Este módulo le permite cambiar el comportamiento automatizado. De forma predeterminada, el workflow está abierto y no impuesto. Active los enlaces automáticos que le interesan. +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=No hay workflow modificable para los módulos que tiene activados. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Crear un pedido de cliente automáticamente a la firma de un presupuesto descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Crear una factura a cliente automáticamente a la firma de un presupuesto diff --git a/htdocs/langs/et_EE/accountancy.lang b/htdocs/langs/et_EE/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/et_EE/accountancy.lang +++ b/htdocs/langs/et_EE/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/et_EE/admin.lang b/htdocs/langs/et_EE/admin.lang index 105335add8e..cc2f8c9915d 100644 --- a/htdocs/langs/et_EE/admin.lang +++ b/htdocs/langs/et_EE/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Ära kasuta tootmispaigaldustes ThisIsProcessToFollow=See on seadistatud töötlema üksust: StepNb=Samm %s FindPackageFromWebSite=Leia pakett, mis võimaldab soovitud funktsionaalsuse (näiteks ametlikul veebilehel %s). -DownloadPackageFromWebSite=Lae pakett alla. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Paki paketifail Dolibarri juurkataloogi %s SetupIsReadyForUse=Paigaldamine on lõpetatud ja Dolibarr on valmis kasutama uut komponenti. NotExistsDirect=Alternatiivset juurkausta pole määratletud.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Vali moodul: CurrentVersion=Dolibarri praegune versioo CallUpdatePage=Mine lehele, mis uuendab andmebaasi struktuuri ja andmed: %s. LastStableVersion=Viimane stabiilne versioon +UpdateServerOffline=Update server offline GenericMaskCodes=Sa võid sisestada suvalise numeratsiooni maski. Järgnevas maskis saab kasutada järgmisi silte:
{000000} vastab arvule, mida suurendatakse iga sündmuse %s korral. Sisesta niipalju nulle, kui soovid loenduri pikkuseks. Loendurile lisatakse vasakult alates niipalju nulle, et ta oleks maskiga sama pikk.
{000000+000} on eelmisega sama, kuid esimesele %s lisatakse nihe, mis vastab + märgist paremal asuvale arvule.
{000000@x} on eelmisega sama, ent kuuni x jõudmisel nullitakse loendur (x on 1 ja 12 vahel, või 0 seadistuses määratletud majandusaasta alguse kasutamiseks, või 99 loenduri nullimiseks iga kuu alguses). Kui kasutad seda funktsiooni ja x on 2 või kõrgem, siis on jada {yy}{mm} or {yyyy}{mm} nõutud.
{dd} päev (01 kuni 31).
{mm} kuu (01 kuni 12).
{yy}, {yyyy} või {y} aasta 2, 4 või 1 numbri kasutamisks.
GenericMaskCodes2={cccc} kliendi kood, n tähemärki
{cccc000} n tähemärgiga kliendi koodile järgneb kliendile määratletud loenduri väärtus. Kliendile määratletud loendur lähtestatakse koos üldise loenduriga.
{tttt} Kolmanda isiku koodi liik n tähemärgiga (vt Sõnastik->Kolmandate isikute liigid)
GenericMaskCodes3=Kõik teised maskis olevad tähemärgid jäävad puutuamata.
Tühikud ei ole lubatud.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Vali tabelist ExtrafieldSeparator=Eraldaja ExtrafieldCheckBox=Märkeruut ExtrafieldRadio=Raadionupp +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameetrite nimekiri peab olema kujul võti,väärtus

Näiteks:
1,väärtus1
2,väärtus2
3,väärtus3
jne

Nimekirja teisest nimekirjast sõltuvaks muutmiseks:
1,väärtus1|ema_nimekirja_kood:ema_võti
2,väärtus2|ema_nimekirja_kood:ema_võti ExtrafieldParamHelpcheckbox=Parameetrite nimekiri peab olema kujul võti,väärtus

Näiteks:
1,väärtus1
2,väärtus2
3,väärtus3
... ExtrafieldParamHelpradio=Parameetrite nimekiri peab olema kujul võti,väärtus

Näiteks:
1,väärtus1
2,väärtus2
3,väärtus3
... ExtrafieldParamHelpsellist=Parameetrite nimekiri on määratletud tabelis
Süntaks: tabeli_nimi:välja_silt:välja_id::filter
Näiteks: c_typent:libelle:id::filter

filter võib olla lihtne test (nt active=1) ainult aktiivse väärtuse näitamiseks
Lisaväljade põhjal filtreerimiseks kasuta süntaksit extra.fieldcode=... (kus välja kood on lisavälja e extrafieldi kood)

Nimekirja teisest nimekirjast sõltuvaks muutmiseks tee nii:
c_typent:libelle:id:vanem_listi_kood|vanema_veerg:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=PDFide loomiseks kasutatav teek WarningUsingFPDF=Hoiatus: conf.php sisaldab direktiivi dolibarr_pdf_force_fpdf=1. See tähendab, et PDF failide loomiseks kasutatakse FPDF teeki. FPDF teek on vananenud ja ei toeta paljusid võimalusi (Unicode, läbipaistvad pildid, kirillitsa, araabia ja aasia märgistikke jne), seega võib PDFi loomise ajal tekkida vigu.
Probleemide vältimiseks ja täieliku PDFi loomise toe jaoks palun lae alla TCPDF teek ning seejärel kommenteeri välja või kustuta rida $dolibarr_pdf_force_fpdf=1 ja lisa rida $dolibarr_lib_TCPDF_PATH='TCPDF_kausta_rada' LocalTaxDesc=Mõnedes riikides rakendub igale arve reale 2 või 3 maksu. Sellisel juhul vali vali teise või kolmanda maksu tüüp ja maksu määr. Võimalikud tüübid on järgnevad:
1 - kohalik maks, rakendub ainult käibemaksuta toodetele ja teenustele (käibemaksu ei rakendata kohalikule maksule)
2 - kohalik maks, rakendub toodetele ja teenustele enne käibemaksu (käibemaksu arvutatakse summa + kohalik_maks pealt)
3 - kohalik maks rakendub käibemaksuta toodetele (käibemaksu ei rakendata kohalikule maksule)
4 - kohalik maks rakendub toodetele enne käibemaksu (käibemaksu arvutatakse summa + kohalik_maks pealt)
5 - kohalik maks rakendub käibemaksuta teenustele (käibemaksu ei rakendata kohalikule maksule)
6 - kohalik maks rakendub teenustele enne käibemaksu (käibemaksu arvutatakse summa + kohalik_maks pealt) @@ -572,7 +575,7 @@ Permission67=Sekkumiste eksport Permission71=Liikmete vaatamine Permission72=Liikmete loomine/muutmine Permission74=Liikmete kustutamine -Permission75=Liikmete tüüpide ja atribuutide seadistamine +Permission75=Setup types of membership Permission76=Andmete eksport Permission78=Tellimuste vaatamine Permission79=Tellimuste loomine/muutmine @@ -595,8 +598,8 @@ Permission106=Saatmiste ekspor Permission109=Saatmiste kustutamine Permission111=Finantskontode vaatamine Permission112=Tehingute loomine/muutmine/kustutamine ja võrdlemine -Permission113=Finantskontode seadistamine (kategooriate loomine ja haldamine) -Permission114=Tehingute konsolideerimine +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Tehingute ja kontosaldode ekspor Permission116=Kontode vahelised kanded Permission117=Tšekkide saatmise haldamine @@ -761,6 +764,7 @@ Permission55001=Küsitluste vaatamine Permission55002=Küsitluste loomine/muutmine Permission59001=Marginaalide vaatamine Permission59002=Marginaalide määratlemine +Permission59003=Read every user margin DictionaryCompanyType=Kolmandate isikute tüüp DictionaryCompanyJuridicalType=Kolmandate isikute juriidilised liigid DictionaryProspectLevel=Huvilise huvitatuse tase @@ -1038,7 +1042,7 @@ SendingMailSetup=E-kirja saatmise seadistamine SendmailOptionNotComplete=Hoiatus: mõnedel Linuxi süsteemidel peab e-kirja saatmiseks sendmaili käivitamise seadistus sisaldama võtit -ba (php.ini failis parameeter mail.force_extra_parameters). Kui mõned adressaadid ei saa kunagi kirju kätte, siis proovi parameetri väärtust mail.force_extra_parameters = -ba PathToDocuments=Dokumentide rada PathDirectory=Kaust -SendmailOptionMayHurtBuggedMTA="PHP mail direct" võimaluse kasutamine e-kirjade saatmiseks loob e-kirja, mida mõned meiliserverid ei pruugi õigesti sõeluda. Selle tulemusena ei saa nende vigaste platvormide kasutajad neid e-kirju lugeda ning seda tuleb mõnikord ette (näiteks Prantsusmaal Orange kasutajad). Tegu ei ole Dolibarri ega PHP probleemiga, vaid vastuvõtva meiliserveriga. Selle vältimiseks võid Seadistamine->Muu alla lisada parameetri MAIN_FIX_FOR_BUGGED_MTA väärtuseks 1. Samas võib siis tekkida probleeme teiste serveritega, mis käituvad vastavalt SMTP standardile. Lisavõimaluseks (ning soovitatav) on kasutada "SMTP socket library" meetodit, mille kasutamisega ei kaasne mingeid probleeme. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Tõlke seadistus TranslationDesc=Ekraanil kasutatava keele valikut saab muuta:
* Üldist keelt menüüst Kodu->Seadistamine->Kuva
* Kasutajapõhiselt sakist Kasutaja kuva kasutaja kaardilt (klõpsa kasutajanime ekraani ülaosas). TotalNumberOfActivatedModules=Aktiveeritud mooduleid kokku: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=Kasutad brauserit %s, mis on nii turvalisuse kui jõudluse suhtes OK BrowserIsKO=Kasutad brauserit %s. See brauser on tuntud halva turvalisuse, jõudluse ja usaldusväärsuse poolest. Soovtitame kasutada Firefoxi, Chromei, Operat või Safarit. XDebugInstalled=XDebug on laetud. XCacheInstalled=XCache on laetud. -AddRefInList=Näita kliendi/hankija viiteid nimekirjas (valikus või liitboksis) ja enamust hüperlingist +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Välja %s muutmine FixTZ=Ajavööndi parandus FillThisOnlyIfRequired=Näide: +2 (täida vaid siis, kui koged ajavööndi nihkega probleeme) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Tellimuse kinnitamine pärast pakkumise sulgemist v FreeLegalTextOnOrders=Vaba tekst tellimustel WatermarkOnDraftOrders=Vesimärk tellimuste mustanditel (puudub, kui tühi) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Click To Dial mooduli seadistamine ClickToDialUrlDesc=Url, mida kasutatakse telefoni pildi klõpsamisel. URLi sees saab kasutada järgmisi silte:
__PHONETO__ asendatakse helistatava inimese telefoninumbriga
__PHONEFROM__ asendatakse helistaja (Sinu) telefoninumbriga
__LOGIN__ asendatakse clicktodial kasutajanimega (määratletud Sinu kasutajakaardil)
__PASS__ asendatakse clicktodial parooliga (määratletud Sinu kasutajakaardil). @@ -1392,6 +1397,7 @@ RSSUrlExample=Huvitav RSS voog MailingSetup=E-posti mooduli sedistamine MailingEMailFrom=Saatja aadress (Kellelt/From) e-posti mooduli poolt saadetud kirjadel MailingEMailError=Tagastusaadress (Errors-to) vigadega e-kirjade jaoks +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Saatja e-post (Kellelt/From) teadete saatmisel e-kirjaga @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Saatmiste mooduli seadistamine SendingsReceiptModel=Saatekviitungi mudel SendingsNumberingModules=Saatmiste numeratsiooni moodulid -SendingsAbility=Toeta saatelehti kliendile saatmiste jaoks +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=Enamikul juhtudel on saatedokumendid kasutatud nii kontrollehtedena (nimekiri toodetest, mida saata) kui lehtedena, mille saab klient endale ja allkirjastab. Seega on saatedokumentide väljastamine dubleeritud võimalus ja aktiveeritakse harva. -FreeLegalTextOnShippings=Vaba tekst saatmistel +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Saatedokumentide numeratsiooni moodul DeliveryOrderModel=Saatedokumentide mudel @@ -1414,7 +1420,7 @@ AdvancedEditor=Keerulisem toimeti ActivateFCKeditor=Aktiveeri keerulisem toimeti järgmistel lehtedel: FCKeditorForCompany=WYSIWIG loomine/muutmine elementide kirjeldustes ja märkustes (välja arvatud tooted/teenused) FCKeditorForProduct=WYSIWIG loomine/muutmine toodete/teenuste kirjeldustes ja märkustes -FCKeditorForProductDetails=WYSIWIG loomine/muutmine toodete lisainfo ridadel kõigis üksustes (pakkumised, tellimused, arved jne) Hoiatus: selle võimaluse kasutamine on sügavalt vastunäidustatud, kuna see võib PDF-failide loomisel tekitada probleeme erisümbolitega ja lehe kujundusega. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG loomine/muutmine masspostitusel (Tööriistad->E-kirjad) FCKeditorForUserSignature=WYSIWIG loomine/muutmine kasutaja allkirjas FCKeditorForMail=WYSIWIG loomine/muutmine kogu kirjavahetuse jaoks (välja arvatud Tööriistad->E-kirjad) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Formaat TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/et_EE/agenda.lang b/htdocs/langs/et_EE/agenda.lang index 743d827082a..2a229dded16 100644 --- a/htdocs/langs/et_EE/agenda.lang +++ b/htdocs/langs/et_EE/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Tellimus %s on saadetud e-postiga InvoiceSentByEMail=Arve %s on saadetud e-postiga SupplierOrderSentByEMail=Ostutellimus %s on saadetud e-postiga SupplierInvoiceSentByEMail=Ostuarve %s on saadetud e-postiga -ShippingSentByEMail=Saadetis %s on saadetud e-postiga -ShippingValidated= Kohaletoomine %s on kinnitatud +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Kolmas isik loodud DateActionPlannedStart= Plaanitav alguskuupäev DateActionPlannedEnd= Plaanitav lõppkuupäev @@ -68,7 +69,7 @@ DateActionDoneEnd= Tegelik lõppkuupäev DateActionStart= Alguskuupäev DateActionEnd= Lõppkuupäev AgendaUrlOptions1=Otsingutulemuste piiramiseks võib kasutada ka järgmisi parameetreid: -AgendaUrlOptions2=login=%s tagastab vastusena kasutaja poolt algatatud, talle määratud ja lõpetatud sündmused%s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=%s tagastab vastusena ainult kasutajale määratud tegevused %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/et_EE/banks.lang b/htdocs/langs/et_EE/banks.lang index 0639698e4d4..ab73f169a23 100644 --- a/htdocs/langs/et_EE/banks.lang +++ b/htdocs/langs/et_EE/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Konto FinancialAccounts=Kontod BankAccount=Pangakonto BankAccounts=Pangakontod +ShowAccount=Show Account AccountRef=Finantskonto viide AccountLabel=Finantskonto silt CashAccount=Sularaha konto diff --git a/htdocs/langs/et_EE/bills.lang b/htdocs/langs/et_EE/bills.lang index 621b928f35b..7fbee469a0a 100644 --- a/htdocs/langs/et_EE/bills.lang +++ b/htdocs/langs/et_EE/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Arve Bills=Arved -BillsCustomers=Müügiarved -BillsCustomer=Müügiarve -BillsSuppliers=Ostuarve -BillsCustomersUnpaid=Tasumata müügiarved +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Tasumata müügiarved ühikuga %s BillsSuppliersUnpaid=Tasumata ostuarved BillsSuppliersUnpaidForCompany=Tasumata ostuarved ühikuga %s BillsLate=Hilinenud maksed -BillsStatistics=Müügiarvete statistika -BillsStatisticsSuppliers=Ostuarvete statistika +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Blokeeritud, sest ei saa kustutada InvoiceStandard=Standardne arve InvoiceStandardAsk=Standardne arve @@ -348,6 +348,7 @@ ChequeNumber=Tšeki nr ChequeOrTransferNumber=Tšeki/ülekande nr ChequeMaker=Tšeki saatja ChequeBank=Tšeki pank +CheckBank=Check NetToBePaid=Makstav netosumma PhoneNumber=Tel FullPhoneNumber=Telefon @@ -388,7 +389,7 @@ DisabledBecausePayments=Pole võimalik, kuna on mõningaid makseid CantRemovePaymentWithOneInvoicePaid=Ei saa makset eemaldada, kuna vähemalt üks arve on märgitud makstuks ExpectedToPay=Oodatud makse PayedByThisPayment=Makstud selle maksega -ClosePaidInvoicesAutomatically=Liigita kõik täielikult makstud tavalised või asendusarved makstuks. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Liigita kõik täielikult tagasi makstud kreeditarved makstuks. AllCompletelyPayedInvoiceWillBeClosed=Kõik arved, mille kohta ei ole makstavat jääki, märgitakse makstuks. ToMakePayment=Maksa @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Müügiesindaja järelkaja os TypeContact_invoice_supplier_external_BILLING=Ostuarve kontakt TypeContact_invoice_supplier_external_SHIPPING=Hankija saatmise kontakt TypeContact_invoice_supplier_external_SERVICE=Hankija teenuse kontakt +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/et_EE/compta.lang b/htdocs/langs/et_EE/compta.lang index 4dba49aa2f3..8eef9586af4 100644 --- a/htdocs/langs/et_EE/compta.lang +++ b/htdocs/langs/et_EE/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Käive PaymentsNotLinkedToInvoice=Makseid ei ole seotud ühegi arvega, seega ei ole nad seotud ühegi kolmanda isikuga PaymentsNotLinkedToUser=Ühegi kasutajaga sidumata maksed Profit=Kasum +AccountingResult=Accounting result Balance=Saldo Debit=Deebet Credit=Kreedit diff --git a/htdocs/langs/et_EE/cron.lang b/htdocs/langs/et_EE/cron.lang index 72240998cac..419f0202b60 100644 --- a/htdocs/langs/et_EE/cron.lang +++ b/htdocs/langs/et_EE/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=Croni poolt kontrollitavate ja käivitatavate programmide ja OrToLaunchASpecificJob=Või mõne kindla programmi kontrollimiseks ja käivitamiseks KeyForCronAccess=Croni käivitatavate programmide URLile ligipääsu turvavõti FileToLaunchCronJobs=Käsurea käsk cron programmide käivitamiseks -CronExplainHowToRunUnix=Unix keskonnas on soovitatav kasutada crontabi käsurealt käivitatavate käskude jooksutamiseks -CronExplainHowToRunWin=Microsoft(tm) Windows keskkonnas võib kasutada Toiminguajasti tööriista kindlate intervallide tagant käivitavate tegevuste plaanimiseks. +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Plaanitud käivitused CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/et_EE/ecm.lang b/htdocs/langs/et_EE/ecm.lang index d7bd023b553..54aed27c612 100644 --- a/htdocs/langs/et_EE/ecm.lang +++ b/htdocs/langs/et_EE/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Lepingutega seotud dokumendid ECMDocsByInvoices=Müügiarvetega seotud dokumendid ECMDocsByProducts=Toodetega seotud dokumendid ECMDocsByProjects=Projektidega seotud dokumendid +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=Ühtki kausta pole loodud ShowECMSection=Näita kausta DeleteSection=Eemalda kaust diff --git a/htdocs/langs/et_EE/errors.lang b/htdocs/langs/et_EE/errors.lang index ade13da068e..4dec9c707e8 100644 --- a/htdocs/langs/et_EE/errors.lang +++ b/htdocs/langs/et_EE/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Mooduli seadistamine paistab olevat lõpule viimata. ErrorBadMask=Maski viga ErrorBadMaskFailedToLocatePosOfSequence=Viga: mask on järjekorranumbrita ErrorBadMaskBadRazMonth=Viga: halb lähteväärtus +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Viga: vali vähemalt üks sissekanne ErrorProductWithRefNotExist=Toodet viitega '%s' ei ole olemas ErrorDeleteNotPossibleLineIsConsolidated=Kustutamine ei ole võimalik, kuna kirje on seotud juba vastavusse viidud pangaülekandega @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Kohustuslikud seadistusparameetrid on määratlemata diff --git a/htdocs/langs/et_EE/install.lang b/htdocs/langs/et_EE/install.lang index 92902cbc4c8..4ab6289f4f2 100644 --- a/htdocs/langs/et_EE/install.lang +++ b/htdocs/langs/et_EE/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migreerimine lõpetatud LastStepDesc=Viimane samm: Määra siin tarkvaraga ühendumiseks kasutatav kasutajanimi ja parool. Hoia neid alles, kuna selle kontoga saab administreerida kõiki teisi kasutajaid. ActivateModule=Aktiveeri moodul %s ShowEditTechnicalParameters=Klõpsa siia lisaparameetrite näitamiseks/muutmiseks (spetsialisti režiim) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Uuendamiseks kulutatud aeg sekundites MigrationActioncommElement=Uuenda tegevuste andmec MigrationPaymentMode=Maksete režiimi andmete migreerimine MigrationCategorieAssociation=Kategooriate migreerimine +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Näita mitte saadaval olevaid lisavalikuid HideNotAvailableOptions=Peida mitte saadaval olevad lisavalikud diff --git a/htdocs/langs/et_EE/languages.lang b/htdocs/langs/et_EE/languages.lang index c0f577ec8a6..effb7253522 100644 --- a/htdocs/langs/et_EE/languages.lang +++ b/htdocs/langs/et_EE/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Saksa (Austria) Language_de_CH=German (Switzerland) Language_el_GR=Kreeka Language_en_AU=Inglise (Austraalia) +Language_en_CA=English (Canada) Language_en_GB=Inglise (Ühendkuningriigid) Language_en_IN=Inglise (India) Language_en_NZ=Inglise (Uus-Meremaa) diff --git a/htdocs/langs/et_EE/main.lang b/htdocs/langs/et_EE/main.lang index d1d99f01b74..52b69c9f148 100644 --- a/htdocs/langs/et_EE/main.lang +++ b/htdocs/langs/et_EE/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd.MM.yyyy FormatDateShortJavaInput=dd.MM.yyyy FormatDateShortJQuery=dd.mm.yy FormatDateShortJQueryInput=dd.mm.yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%d. %b %Y. a @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Viga: faili salvestamine ebaõnnestus. SetDate=Sea kuupäev SelectDate=Vali kuupäev SeeAlso=Vaata lisaks %s +SeeHere=See here BackgroundColorByDefault=Vaikimisi taustavärv FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=Kasutaja Users=Kasutajad Group=Rühm Groups=Rühmad +NoUserGroupDefined=No user group defined Password=Parool PasswordRetype=Korda parooli NoteSomeFeaturesAreDisabled=Pane tähele, et palju mooduleid ja funktsioone on demoversioonis keelatud. @@ -258,6 +261,7 @@ days=päeva Hours=Tundi Minutes=Minutit Seconds=Sekundit +Weeks=Weeks Today=Täna Yesterday=Eile Tomorrow=Homme @@ -683,6 +687,7 @@ XMoreLines=%s joon(t) varjatud PublicUrl=Avalik link AddBox=Lisa kast SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Esmaspäev Tuesday=Teisipäev diff --git a/htdocs/langs/et_EE/margins.lang b/htdocs/langs/et_EE/margins.lang index 1042f5c96cb..530c796faee 100644 --- a/htdocs/langs/et_EE/margins.lang +++ b/htdocs/langs/et_EE/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Marginaalide info ProductMargins=Toodete marginaalid CustomerMargins=Klientide marginaalid SalesRepresentativeMargins=Müügiesindajate tasud +UserMargins=User margins ProductService=Toode või teenus AllProducts=Kõik tooted ja teenused ChooseProduct/Service=Vali toode või teenus diff --git a/htdocs/langs/et_EE/orders.lang b/htdocs/langs/et_EE/orders.lang index 55b48bf91f0..060a7ae2cfb 100644 --- a/htdocs/langs/et_EE/orders.lang +++ b/htdocs/langs/et_EE/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Ostutellimus SuppliersOrders=Ostutellimus SuppliersOrdersRunning=Praegused ostutellimused CustomerOrder=Müügitellimus -CustomersOrders=Müügitellimused +CustomersOrders=Customers orders CustomersOrdersRunning=Praegused müügitellimused CustomersOrdersAndOrdersLines=Müügitellimused ja tellimuste read -OrdersToValid=Kinnitamist vajavad müügitellimused -OrdersToBill=Kohale toimetatud müügitellimused -OrdersInProcess=Töötlemisel olevad müügitellimused -OrdersToProcess=Töötlemist vajavad müügitellimused +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Töötlemist vajavad ostutellimused StatusOrderCanceledShort=Tühistatud StatusOrderDraftShort=Mustand StatusOrderValidatedShort=Kinnitatud StatusOrderSentShort=Töötlemisel StatusOrderSent=Saatmine töötlemisel -StatusOrderOnProcessShort=Vastuvõtt +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Töödeldud StatusOrderToBillShort=Saadetud StatusOrderToBill2Short=Arve esitada @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Täielikult kohale jõudnud StatusOrderCanceled=Tühistatud StatusOrderDraft=Mustand (vajab kinnitamist) StatusOrderValidated=Kinnitatud -StatusOrderOnProcess=Ootab kohale jõudmist +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Töödeldud StatusOrderToBill=Saadetud StatusOrderToBill2=Arve esitada @@ -50,6 +50,8 @@ StatusOrderRefused=Keeldutud StatusOrderReceivedPartially=Osaliselt kohale jõudnud StatusOrderReceivedAll=Täielikult kohale jõudnud ShippingExist=Saadetis on olemas +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Mustand või heaks kiidetud pole veel tellitud DraftOrWaitingShipped=Mustand või kinnitatud pole veel saadetud MenuOrdersToBill=Saadetud tellimused diff --git a/htdocs/langs/et_EE/productbatch.lang b/htdocs/langs/et_EE/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/et_EE/productbatch.lang +++ b/htdocs/langs/et_EE/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/et_EE/products.lang b/htdocs/langs/et_EE/products.lang index df8001d04b8..b90084c9ced 100644 --- a/htdocs/langs/et_EE/products.lang +++ b/htdocs/langs/et_EE/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Raamatupidamise kood (müük) ProductOrService=Toode või teenus ProductsAndServices=Tooted ja teenused ProductsOrServices=Tooted või teenused -ProductsAndServicesOnSell=Saadaval tooted ja teenused -ProductsAndServicesNotOnSell=Vananenud tooted ja teenused +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Toodete ja teenuste statistika ProductsStatistics=Toodete statistika -ProductsOnSell=Saadaval tooted -ProductsNotOnSell=Vananenud tooted -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Saadaval teenused -ServicesNotOnSell=Vananenud teenused -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Sisemine viide LastRecorded=Viimased salvestatud müügil olevad tooted/teenused LastRecordedProductsAndServices=Viimased %s salvestatud toodet/teenust @@ -198,7 +198,7 @@ HelpAddThisServiceCard=See võimaldab teenuse loomise või kloonimise, kui seda CurrentProductPrice=Hetkehind AlwaysUseNewPrice=Kasuta alati toote/teenuse hetkehinda AlwaysUseFixedPrice=Kasuta fikseeritud hinda -PriceByQuantity=Hind koguse järgi +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Koguse ulatus ProductsDashboard=Toodete/teenuste kokkuvõte UpdateOriginalProductLabel=Muuda algset nime @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Hinnareeglid +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/et_EE/projects.lang b/htdocs/langs/et_EE/projects.lang index 2cf8253da79..7333f9ac138 100644 --- a/htdocs/langs/et_EE/projects.lang +++ b/htdocs/langs/et_EE/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. projekt ProjectId=Projekti ID Project=Projekt Projects=Projektid +ProjectStatus=Project status SharedProject=Kõik PrivateProject=Projekti kontaktid MyProjectsDesc=Selles vaates näidatakse vaid neid projekte, mille kontaktiks oled märgitud (hoolimata liigist) @@ -11,7 +12,6 @@ ProjectsDesc=See vaade näitab kõiki projekte (sinu kasutajaõigused annavad li MyTasksDesc=Selles vaates näidatakse vaid neid projekte või ülesandeid, mille kontaktiks oled märgitud (hoolimata liigist) TasksPublicDesc=See vaade esitab kõik projektid ja ülesanded, mida sul on lubatud vaadata. TasksDesc=See vaade näitab kõiki projekte ja ülesandeid (sinu kasutajaõigused annavad ligipääsu kõigele) -Myprojects=Minu projektid ProjectsArea=Projektide ala NewProject=Uus projekt AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Klooni kontaktid CloneNotes=Klooni märkmed CloneProjectFiles=Klooni projekti ühised failid CloneTaskFiles=Klooni ülesande/(ülesannete) ühised failid (kui ülesanne/(ülesanded) kloonitakse) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Kas oled kindel, et soovid selle projekti kloonida? ProjectReportDate=Muuda ülesande kuupäeva vastavalt projekti alguskuupäevale ErrorShiftTaskDate=Ülesande kuupäeva ei ole võimalik nihutada vastavalt uuele projekti alguskuupäevale diff --git a/htdocs/langs/et_EE/sendings.lang b/htdocs/langs/et_EE/sendings.lang index 4d441895359..515ab2ca303 100644 --- a/htdocs/langs/et_EE/sendings.lang +++ b/htdocs/langs/et_EE/sendings.lang @@ -4,7 +4,8 @@ Sending=Saadetis Sendings=Saadetised Shipment=Saadetis Shipments=Saadetised -Receivings=Saabumised +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Saadetiste ala ListOfSendings=Saadetiste nimekiri SendingMethod=Saatmisviis @@ -14,7 +15,7 @@ SearchASending=Otsi saadetist StatisticsOfSendings=Saadetiste statistika NbOfSendings=Saadetiste arv NumberOfShipmentsByMonth=Saadetiste arv kuude järgi -SendingCard=Saadetise kaart +SendingCard=Shipment card NewSending=Uus saadetis CreateASending=Koosta saadetis CreateSending=Koosta saadetis @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Tühistatud StatusSendingDraftShort=Mustand StatusSendingValidatedShort=Kinnitatud StatusSendingProcessedShort=Töödeldud -SendingSheet=Saateleht +SendingSheet=Shipment sheet Carriers=Vedajad Carrier=Vedaja CarriersArea=Vedajate ala @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Saatmisel toimuvad tegevused LinkToTrackYourPackage=Paki jälgimise link ShipmentCreationIsDoneFromOrder=Praegu luuakse saadetised tellimuse kaardilt. -RelatedShippings=Seotud saatmised +RelatedShippings=Related shipments ShipmentLine=Saadetise rida CarrierList=Vedajate nimekiri -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Kliendi saak diff --git a/htdocs/langs/et_EE/stocks.lang b/htdocs/langs/et_EE/stocks.lang index 064f62cc803..9e250e14562 100644 --- a/htdocs/langs/et_EE/stocks.lang +++ b/htdocs/langs/et_EE/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=KKH EnhancedValueOfWarehouses=Ladude väärtus UserWarehouseAutoCreate=Loo kasutaja loomisel automaatselt ladu QtyDispatched=Saadetud kogus +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Laojäägi saatmine RuleForStockManagementDecrease=Laojäägi haldamise vähenemise reegel RuleForStockManagementIncrease=Laojäägi suurenemise haldamise reegel @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Suurenda reaalset laojääki ostutellimuste heaks kiitmis ReStockOnDispatchOrder=Suurenda reaalset laojääki käsitsi ladudesse saatmisel pärast ostutellimuse vastu võtmist ReStockOnDeleteInvoice=Suurenda reaalset laojääki arvete kustutamisel OrderStatusNotReadyToDispatch=Tellimus kas ei ole veel jõudnud või ei ole enam staatuses, mis lubab toodete lattu saatmist. -StockDiffPhysicTeoric=Füüsilise ja teoreetilise laojäägi erinevuse põhjus +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Selle objektiga ei ole seotud ettemääratud tooteid, seega ei ole vaja laojäägi saatmist. DispatchVerb=Saada StockLimitShort=Hoiatuse piir @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Massiline lao liikumine SelectProductInAndOutWareHouse=Vali toode, kogus, lähteladu ja sihtladu, siis klõpsa "%s". Kui see on kõigi soovitud liikumiste jaoks tehtud, klõpsa "%s". RecordMovement=Registreeri ülekanne -ReceivingForSameOrder=Selle tellimuse vastuvõtmised +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/et_EE/suppliers.lang b/htdocs/langs/et_EE/suppliers.lang index fb019da9c5f..894a1dfcad6 100644 --- a/htdocs/langs/et_EE/suppliers.lang +++ b/htdocs/langs/et_EE/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Hankijad Supplier=Hankija -AddSupplier=Lisa hankija +AddSupplier=Create a supplier SupplierRemoved=Hankija kustutatud SuppliersInvoice=Ostuarved NewSupplier=Uus hankija @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Puudub või partiid %s pole hiljuti käivitatud SentToSuppliers=Saadetud hankijatele ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/et_EE/withdrawals.lang b/htdocs/langs/et_EE/withdrawals.lang index be438a477ad..5500f69422b 100644 --- a/htdocs/langs/et_EE/withdrawals.lang +++ b/htdocs/langs/et_EE/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Krediteeri WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Näita väljamakset IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Juhul kui arvel on vähemalt üks töötlemata väljamakse, ei märgita seda makstuks, et lubada eelnevat väljamakse haldamist. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Väljamaksete fail SetToStatusSent=Märgi staatuseks 'Fail saadetud' ThisWillAlsoAddPaymentOnInvoice=See rakendub ka arvetega seotud maksetele ja liigitab nad "Makstud" diff --git a/htdocs/langs/et_EE/workflow.lang b/htdocs/langs/et_EE/workflow.lang index 58465b3c40d..dbbd2ac7611 100644 --- a/htdocs/langs/et_EE/workflow.lang +++ b/htdocs/langs/et_EE/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Töövoo mooduli seaded -WorkflowDesc=Selle mooduli eesmärgiks on võimaldada rakenduses automaatseid tegevusi. Vaikimisi on töövoog avatud (st et tegevusi võib teha vabalt valitud järjekorras). Soovi korral võib tegevusi seadistada automaatselt toimuma. +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Hetkel aktiveeritud moodulite jaoks ei ole ühtki muudetavat töövoogu. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Pärast pakkumise allkirjastamast loo automaatselt uus tellimus descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Pärast pakkumise allkirjastamist loo automaatselt uus arve diff --git a/htdocs/langs/eu_ES/accountancy.lang b/htdocs/langs/eu_ES/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/eu_ES/accountancy.lang +++ b/htdocs/langs/eu_ES/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/eu_ES/admin.lang b/htdocs/langs/eu_ES/admin.lang index cbdb7bc6d98..15b5248bbbd 100644 --- a/htdocs/langs/eu_ES/admin.lang +++ b/htdocs/langs/eu_ES/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=This is setup to process: StepNb=%s pausua FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Paketea jaitsi +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr's root directory %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Modulua aukeratu: CurrentVersion=Dolibarr-en uneko bertsioa CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Azkeneko bertsio egonkorra +UpdateServerOffline=Update server offline GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Taulatik aukeratu ExtrafieldSeparator=Bereizlea ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio botoia +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=PDF-ak sortzeko erabilitako liburutegia WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Export interventions Permission71=Read members Permission72=Create/modify members Permission74=Delete members -Permission75=Setup types and attributes for members +Permission75=Setup types of membership Permission76=Export datas Permission78=Read subscriptions Permission79=Create/modify subscriptions @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Delete sendings Permission111=Read financial accounts Permission112=Create/modify/delete and compare transactions -Permission113=Setup financiel accounts (create, manage categories) -Permission114=Consolidate transactions +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Export transactions and account statements Permission116=Transfers between accounts Permission117=Manage cheques dispatching @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Setup of sendings by email SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). PathToDocuments=Path to documents PathDirectory=Directory -SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by thoose bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommanded) is to use the method "SMTP socket library" that has no disadvantages. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes i FreeLegalTextOnOrders=Free text on orders WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with your clicktodial login (defined on your user card)
__PASS__ that will be replaced with your clicktodial password (defined on your user card). @@ -1392,6 +1397,7 @@ RSSUrlExample=RSS kanal interesgarri bat MailingSetup=EMailing moduluaren konfigurazioa MailingEMailFrom=Sender EMail (From) for emails sent by emailing module MailingEMailError=Return EMail (Errors-to) for emails with errors +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Sender EMail (From) for emails sent for notifications @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Sending module setup SendingsReceiptModel=Sending receipt model SendingsNumberingModules=Sendings numbering modules -SendingsAbility=Support sendings sheets for customer deliveries +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. -FreeLegalTextOnShippings=Free text on shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Products deliveries receipt numbering module DeliveryOrderModel=Products deliveries receipt model @@ -1414,7 +1420,7 @@ AdvancedEditor=Advanced editor ActivateFCKeditor=Activate advanced editor for: FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note -FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommanded as it can create problems with special characters and page formating when building PDF files. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/eu_ES/agenda.lang b/htdocs/langs/eu_ES/agenda.lang index e5470c8011a..fb870bcd019 100644 --- a/htdocs/langs/eu_ES/agenda.lang +++ b/htdocs/langs/eu_ES/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Customer order %s sent by EMail InvoiceSentByEMail=Customer invoice %s sent by EMail SupplierOrderSentByEMail=Supplier order %s sent by EMail SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail -ShippingSentByEMail=Shipping %s sent by EMail -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Third party created DateActionPlannedStart= Planned start date DateActionPlannedEnd= Planned end date @@ -68,7 +69,7 @@ DateActionDoneEnd= Real end date DateActionStart= Start date DateActionEnd= End date AgendaUrlOptions1=You can also add following parameters to filter output: -AgendaUrlOptions2=login=%s to restrict output to actions created by, assigned to or done by user %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=%s to restrict output to actions assigned to user %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/eu_ES/banks.lang b/htdocs/langs/eu_ES/banks.lang index 05156a723ad..10a5f5b3c14 100644 --- a/htdocs/langs/eu_ES/banks.lang +++ b/htdocs/langs/eu_ES/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Account FinancialAccounts=Accounts BankAccount=Bank account BankAccounts=Bank accounts +ShowAccount=Show Account AccountRef=Financial account ref AccountLabel=Financial account label CashAccount=Cash account diff --git a/htdocs/langs/eu_ES/bills.lang b/htdocs/langs/eu_ES/bills.lang index d20b6762937..5ded974ea16 100644 --- a/htdocs/langs/eu_ES/bills.lang +++ b/htdocs/langs/eu_ES/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Invoice Bills=Invoices -BillsCustomers=Customer's invoices -BillsCustomer=Customer's invoice -BillsSuppliers=Supplier's invoices -BillsCustomersUnpaid=Unpaid customer's invoices +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Unpaid customer's invoices for %s BillsSuppliersUnpaid=Unpaid supplier's invoices BillsSuppliersUnpaidForCompany=Unpaid supplier's invoices for %s BillsLate=Late payments -BillsStatistics=Customer's invoices statistics -BillsStatisticsSuppliers=Supplier's invoices statistics +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Disabled because can not be erased InvoiceStandard=Standard invoice InvoiceStandardAsk=Standard invoice @@ -348,6 +348,7 @@ ChequeNumber=Check N° ChequeOrTransferNumber=Check/Transfer N° ChequeMaker=Check transmitter ChequeBank=Bank of Check +CheckBank=Check NetToBePaid=Net to be paid PhoneNumber=Tel FullPhoneNumber=Telephone @@ -388,7 +389,7 @@ DisabledBecausePayments=Not possible since there are some payments CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified paid ExpectedToPay=Expected payment PayedByThisPayment=Paid by this payment -ClosePaidInvoicesAutomatically=Classify "Paid" all standard or replacement invoices entirely paid. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=All invoice with no remain to pay will be automatically closed to status "Paid". ToMakePayment=Pay @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up s TypeContact_invoice_supplier_external_BILLING=Supplier invoice contact TypeContact_invoice_supplier_external_SHIPPING=Supplier shipping contact TypeContact_invoice_supplier_external_SERVICE=Supplier service contact +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/eu_ES/compta.lang b/htdocs/langs/eu_ES/compta.lang index 878eb49b3c9..0d579a06ff1 100644 --- a/htdocs/langs/eu_ES/compta.lang +++ b/htdocs/langs/eu_ES/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Turnover PaymentsNotLinkedToInvoice=Payments not linked to any invoice, so not linked to any third party PaymentsNotLinkedToUser=Payments not linked to any user Profit=Profit +AccountingResult=Accounting result Balance=Balance Debit=Debit Credit=Credit diff --git a/htdocs/langs/eu_ES/cron.lang b/htdocs/langs/eu_ES/cron.lang index 85438821b7b..36270d08f1b 100644 --- a/htdocs/langs/eu_ES/cron.lang +++ b/htdocs/langs/eu_ES/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/eu_ES/ecm.lang b/htdocs/langs/eu_ES/ecm.lang index 47c6a4ccd6e..4a1931a3217 100644 --- a/htdocs/langs/eu_ES/ecm.lang +++ b/htdocs/langs/eu_ES/ecm.lang @@ -1,55 +1,57 @@ # Dolibarr language file - Source file is en_US - ecm -# MenuECM=Documents -# DocsMine=My documents -# DocsGenerated=Generated documents -# DocsElements=Elements documents -# DocsThirdParties=Documents third parties -# DocsContracts=Documents contracts -# DocsProposals=Documents proposals -# DocsOrders=Documents orders -# DocsInvoices=Documents invoices -# ECMNbOfDocs=Nb of documents in directory -# ECMNbOfDocsSmall=Nb of doc. -# ECMSection=Directory -# ECMSectionManual=Manual directory -# ECMSectionAuto=Automatic directory -# ECMSectionsManual=Manual tree -# ECMSectionsAuto=Automatic tree -# ECMSections=Directories -# ECMRoot=Root -# ECMNewSection=New directory -# ECMAddSection=Add directory -# ECMNewDocument=New document -# ECMCreationDate=Creation date -# ECMNbOfFilesInDir=Number of files in directory -# ECMNbOfSubDir=Number of sub-directories -# ECMNbOfFilesInSubDir=Number of files in sub-directories -# ECMCreationUser=Creator -# ECMArea=EDM area -# ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. -# ECMAreaDesc2=* Automatic directories are filled automatically when adding documents from card of an element.
* Manual directories can be used to save documents not linked to a particular element. -# ECMSectionWasRemoved=Directory %s has been deleted. -# ECMDocumentsSection=Document of directory -# ECMSearchByKeywords=Search by keywords -# ECMSearchByEntity=Search by object -# ECMSectionOfDocuments=Directories of documents -# ECMTypeManual=Manual -# ECMTypeAuto=Automatic -# ECMDocsBySocialContributions=Documents linked to social contributions -# ECMDocsByThirdParties=Documents linked to third parties -# ECMDocsByProposals=Documents linked to proposals -# ECMDocsByOrders=Documents linked to customers orders -# ECMDocsByContracts=Documents linked to contracts -# ECMDocsByInvoices=Documents linked to customers invoices -# ECMDocsByProducts=Documents linked to products -# ECMDocsByProjects=Documents linked to projects -# ECMNoDirectoryYet=No directory created -# ShowECMSection=Show directory -# DeleteSection=Remove directory -# ConfirmDeleteSection=Can you confirm you want to delete the directory %s ? -# ECMDirectoryForFiles=Relative directory for files -# CannotRemoveDirectoryContainsFiles=Removed not possible because it contains some files -# ECMFileManager=File manager -# ECMSelectASection=Select a directory on left tree... -# DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. +MenuECM=Documents +DocsMine=My documents +DocsGenerated=Generated documents +DocsElements=Elements documents +DocsThirdParties=Documents third parties +DocsContracts=Documents contracts +DocsProposals=Documents proposals +DocsOrders=Documents orders +DocsInvoices=Documents invoices +ECMNbOfDocs=Nb of documents in directory +ECMNbOfDocsSmall=Nb of doc. +ECMSection=Directory +ECMSectionManual=Manual directory +ECMSectionAuto=Automatic directory +ECMSectionsManual=Manual tree +ECMSectionsAuto=Automatic tree +ECMSections=Directories +ECMRoot=Root +ECMNewSection=New directory +ECMAddSection=Add directory +ECMNewDocument=New document +ECMCreationDate=Creation date +ECMNbOfFilesInDir=Number of files in directory +ECMNbOfSubDir=Number of sub-directories +ECMNbOfFilesInSubDir=Number of files in sub-directories +ECMCreationUser=Creator +ECMArea=EDM area +ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. +ECMAreaDesc2=* Automatic directories are filled automatically when adding documents from card of an element.
* Manual directories can be used to save documents not linked to a particular element. +ECMSectionWasRemoved=Directory %s has been deleted. +ECMDocumentsSection=Document of directory +ECMSearchByKeywords=Search by keywords +ECMSearchByEntity=Search by object +ECMSectionOfDocuments=Directories of documents +ECMTypeManual=Manual +ECMTypeAuto=Automatic +ECMDocsBySocialContributions=Documents linked to social contributions +ECMDocsByThirdParties=Documents linked to third parties +ECMDocsByProposals=Documents linked to proposals +ECMDocsByOrders=Documents linked to customers orders +ECMDocsByContracts=Documents linked to contracts +ECMDocsByInvoices=Documents linked to customers invoices +ECMDocsByProducts=Documents linked to products +ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions +ECMNoDirectoryYet=No directory created +ShowECMSection=Show directory +DeleteSection=Remove directory +ConfirmDeleteSection=Can you confirm you want to delete the directory %s ? +ECMDirectoryForFiles=Relative directory for files +CannotRemoveDirectoryContainsFiles=Removed not possible because it contains some files +ECMFileManager=File manager +ECMSelectASection=Select a directory on left tree... +DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. diff --git a/htdocs/langs/eu_ES/errors.lang b/htdocs/langs/eu_ES/errors.lang index 53f8d168a55..497ddd814e4 100644 --- a/htdocs/langs/eu_ES/errors.lang +++ b/htdocs/langs/eu_ES/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Setup of module looks to be uncomplete. Go on Setup ErrorBadMask=Error on mask ErrorBadMaskFailedToLocatePosOfSequence=Error, mask without sequence number ErrorBadMaskBadRazMonth=Error, bad reset value +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Error. Select at least one entry. ErrorProductWithRefNotExist=Product with reference '%s' don't exist ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transation that is conciliated @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/eu_ES/install.lang b/htdocs/langs/eu_ES/install.lang index 5d0c83e3173..5a494156672 100644 --- a/htdocs/langs/eu_ES/install.lang +++ b/htdocs/langs/eu_ES/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migration finished LastStepDesc=Last step: Define here login and password you plan to use to connect to software. Do not loose this as it is the account to administer all others. ActivateModule=Activate module %s ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Update time spent in seconds MigrationActioncommElement=Update data on actions MigrationPaymentMode=Data migration for payment mode MigrationCategorieAssociation=Migration of categories +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/eu_ES/languages.lang b/htdocs/langs/eu_ES/languages.lang index f0a375c7f1f..726aeb8863b 100644 --- a/htdocs/langs/eu_ES/languages.lang +++ b/htdocs/langs/eu_ES/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=German (Austria) Language_de_CH=Alemana (Suitza) Language_el_GR=Greziera Language_en_AU=Ingelesa (Australia) +Language_en_CA=English (Canada) Language_en_GB=Ingelesa (Erresuma Batua) Language_en_IN=Ingelesa (India) Language_en_NZ=Ingelesa (Zelanda Berria) diff --git a/htdocs/langs/eu_ES/main.lang b/htdocs/langs/eu_ES/main.lang index 103789691ef..6045b98edb1 100644 --- a/htdocs/langs/eu_ES/main.lang +++ b/htdocs/langs/eu_ES/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=MM/dd/yyyy FormatDateShortJavaInput=MM/dd/yyyy FormatDateShortJQuery=mm/dd/yy FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Error, failed to save file. SetDate=Set date SelectDate=Select a date SeeAlso=See also %s +SeeHere=See here BackgroundColorByDefault=Default background color FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=Erabiltzailea Users=Erabiltzaileak Group=Taldea Groups=Taldeak +NoUserGroupDefined=No user group defined Password=Pasahitza PasswordRetype=Retype your password NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. @@ -258,6 +261,7 @@ days=days Hours=Hours Minutes=Minutes Seconds=Seconds +Weeks=Weeks Today=Today Yesterday=Yesterday Tomorrow=Tomorrow @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/eu_ES/margins.lang b/htdocs/langs/eu_ES/margins.lang index 606d5e5053a..748b3c71f30 100644 --- a/htdocs/langs/eu_ES/margins.lang +++ b/htdocs/langs/eu_ES/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Product or Service AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/eu_ES/orders.lang b/htdocs/langs/eu_ES/orders.lang index 6ee9c19fa95..34792ae1eb2 100644 --- a/htdocs/langs/eu_ES/orders.lang +++ b/htdocs/langs/eu_ES/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customer's orders +CustomersOrders=Customers orders CustomersOrdersRunning=Current customer's orders CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customer's orders to validate -OrdersToBill=Customer's orders delivered -OrdersInProcess=Customer's orders in process -OrdersToProcess=Customer's orders to process +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Supplier's orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated StatusOrderSentShort=In process StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Reception +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Processed StatusOrderToBillShort=Delivered StatusOrderToBill2Short=To bill @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Everything received StatusOrderCanceled=Canceled StatusOrderDraft=Draft (needs to be validated) StatusOrderValidated=Validated -StatusOrderOnProcess=Waiting to receive +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Processed StatusOrderToBill=Delivered StatusOrderToBill2=To bill @@ -50,6 +50,8 @@ StatusOrderRefused=Refused StatusOrderReceivedPartially=Partially received StatusOrderReceivedAll=Everything received ShippingExist=A shipment exists +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Draft or approved not yet ordered DraftOrWaitingShipped=Draft or validated not yet shipped MenuOrdersToBill=Orders delivered diff --git a/htdocs/langs/eu_ES/productbatch.lang b/htdocs/langs/eu_ES/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/eu_ES/productbatch.lang +++ b/htdocs/langs/eu_ES/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/eu_ES/products.lang b/htdocs/langs/eu_ES/products.lang index 81d217ddb54..3a29639b12b 100644 --- a/htdocs/langs/eu_ES/products.lang +++ b/htdocs/langs/eu_ES/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Accountancy code (sell) ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services -ProductsAndServicesOnSell=Available Products and Services -ProductsAndServicesNotOnSell=Obsolete Products and Services +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Available products -ProductsNotOnSell=Obsolete products -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Available services -ServicesNotOnSell=Obsolete services -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded LastRecordedProductsAndServices=Last %s recorded products/services @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/eu_ES/projects.lang b/htdocs/langs/eu_ES/projects.lang index c48e27fd204..b3c150d1687 100644 --- a/htdocs/langs/eu_ES/projects.lang +++ b/htdocs/langs/eu_ES/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Project Projects=Projects +ProjectStatus=Project status SharedProject=Everybody PrivateProject=Contacts of project MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). @@ -11,7 +12,6 @@ ProjectsDesc=This view presents all projects (your user permissions grant you pe MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). TasksPublicDesc=This view presents all projects and tasks you are allowed to read. TasksDesc=This view presents all projects and tasks (your user permissions grant you permission to view everything). -Myprojects=My projects ProjectsArea=Projects area NewProject=New project AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/eu_ES/sendings.lang b/htdocs/langs/eu_ES/sendings.lang index f6111bac684..794c9019c86 100644 --- a/htdocs/langs/eu_ES/sendings.lang +++ b/htdocs/langs/eu_ES/sendings.lang @@ -4,7 +4,8 @@ Sending=Shipment Sendings=Shipments Shipment=Shipment Shipments=Shipments -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Shipments area ListOfSendings=List of shipments SendingMethod=Shipping method @@ -14,7 +15,7 @@ SearchASending=Search for shipment StatisticsOfSendings=Statistics for shipments NbOfSendings=Number of shipments NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Shipping card +SendingCard=Shipment card NewSending=New shipment CreateASending=Create a shipment CreateSending=Create shipment @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Canceled StatusSendingDraftShort=Draft StatusSendingValidatedShort=Validated StatusSendingProcessedShort=Processed -SendingSheet=Sending sheet +SendingSheet=Shipment sheet Carriers=Carriers Carrier=Carrier CarriersArea=Carriers area @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Events on shipment LinkToTrackYourPackage=Link to track your package ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is done from the order card. -RelatedShippings=Related shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Catch by customer diff --git a/htdocs/langs/eu_ES/stocks.lang b/htdocs/langs/eu_ES/stocks.lang index 06c502504e9..9de2e5a4dbe 100644 --- a/htdocs/langs/eu_ES/stocks.lang +++ b/htdocs/langs/eu_ES/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a warehouse automatically when creating a user QtyDispatched=Quantity dispatched +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Stock dispatching RuleForStockManagementDecrease=Rule for stock management decrease RuleForStockManagementIncrease=Rule for stock management increase @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. -StockDiffPhysicTeoric=Reason for difference stock physical and theoretical +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=No predefined products for this object. So no dispatching in stock is required. DispatchVerb=Dispatch StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/eu_ES/suppliers.lang b/htdocs/langs/eu_ES/suppliers.lang index b1545d6ca3c..7b4d4acb244 100644 --- a/htdocs/langs/eu_ES/suppliers.lang +++ b/htdocs/langs/eu_ES/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Suppliers Supplier=Supplier -AddSupplier=Add a supplier +AddSupplier=Create a supplier SupplierRemoved=Supplier removed SuppliersInvoice=Suppliers invoice NewSupplier=New supplier @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=None or batch %s not ran recently SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/eu_ES/withdrawals.lang b/htdocs/langs/eu_ES/withdrawals.lang index ea32511fefb..c36ffbf025a 100644 --- a/htdocs/langs/eu_ES/withdrawals.lang +++ b/htdocs/langs/eu_ES/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Credit on WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Show Withdraw IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one withdrawal payment not yet processed, it won't be set as paid to allow prior withdrawal management. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/eu_ES/workflow.lang b/htdocs/langs/eu_ES/workflow.lang index b7f4f77d9f4..17c8dd3aafa 100644 --- a/htdocs/langs/eu_ES/workflow.lang +++ b/htdocs/langs/eu_ES/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin -# WorkflowSetup=Workflow module setup -# WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can enabled automatic actions that you are interesting in. -# ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -# descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -# descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -# descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -# descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed -# descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +WorkflowSetup=Workflow module setup +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. +ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/fa_IR/accountancy.lang b/htdocs/langs/fa_IR/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/fa_IR/accountancy.lang +++ b/htdocs/langs/fa_IR/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/fa_IR/admin.lang b/htdocs/langs/fa_IR/admin.lang index a5889dd5197..a943825df33 100644 --- a/htdocs/langs/fa_IR/admin.lang +++ b/htdocs/langs/fa_IR/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=آیا در استفاده از تولید نیست ThisIsProcessToFollow=این راه اندازی به فرآیند است: StepNb=مرحله٪ s را FindPackageFromWebSite=پیدا کردن یک بسته است که ویژگی فراهم می کند شما می خواهید (به عنوان مثال در وب سایت رسمی٪ بازدید کنندگان). -DownloadPackageFromWebSite=دانلود بسته. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=باز کردن فایل بسته به پوشه ریشه Dolibarr هست٪ s SetupIsReadyForUse=نصب به پایان رسید و Dolibarr آماده استفاده است با این بخش جدید است. NotExistsDirect=ریشه جایگزین تعریف نشده است.
@@ -304,6 +304,7 @@ YouCanSubmitFile=ماژول را انتخاب کنید: CurrentVersion=نسخه فعلی Dolibarr CallUpdatePage=برو به صفحه ای که به روز رسانی ساختار بانک اطلاعاتی و دادهها:٪ است. LastStableVersion=آخرین نسخه پایدار +UpdateServerOffline=Update server offline GenericMaskCodes=شما می توانید ماسک شماره را وارد کنید. در این ماسک، تگ های زیر می تواند مورد استفاده قرار گیرد:
{000000} مربوط به تعداد خواهد شد که در هر یک از٪ s را افزایش مییابد. به عنوان بسیاری از صفر را وارد کنید به عنوان طول مورد نظر از ضد. شمارنده خواهد شد صفر از سمت چپ به منظور به صفر کرده اند و بسیاری از ماسک به پایان رسید.
{000.000 +000} همان قبلی است اما جبران مربوطه را به شماره در سمت راست علامت + شروع به کار رفته در اولین٪ است.
{000000 @ X} همان قبلی است اما شمارنده به صفر زمانی که ماه X برسد (x بین 1 و 12، و یا 0 به استفاده از ماه های اولیه سال مالی تعیین شده در تنظیمات خود را، و یا 99 به صفر هر ماه ). اگر این گزینه استفاده می شود و x است 2 یا بالاتر، و سپس دنباله {YY} {میلی متر} یا {تاریخ برای ورود yyyy} {میلی متر} نیز مورد نیاز است.
{تولد} روز (01 تا 31).
{میلی متر} ماه (01 تا 12).
{YY}، {تاریخ برای ورود yyyy} یا {Y} سال بیش از 2، 4 و یا 1 عدد.
GenericMaskCodes2={CCCC} کد مشتری در تعداد کاراکتر
{cccc000} کد مشتری در تعداد کاراکتر توسط شمارنده اختصاص داده شده برای مشتری است. این مبارزه اختصاص داده شده به مشتری است که در همان زمان از مبارزه جهانی بازنشانی کنید.
{TTTT} کد از نوع thirdparty در تعداد شخصیت (نگاه کنید به انواع فرهنگ لغت-thirdparty).
GenericMaskCodes3=تمام شخصیت های دیگر در ماسک دست نخورده باقی خواهد ماند.
فضاهای امکان پذیر نیست.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = انتخاب از جدول ExtrafieldSeparator=تفکیک کننده ExtrafieldCheckBox=جعبه ExtrafieldRadio=دکمه های رادیویی +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=فهرست پارامترها را به مانند کلید، ارزش است

به عنوان مثال:
1، VALUE1
2، VALUE2
3، value3
...

به منظور داشتن لیست بسته به نوع دیگر:
1، VALUE1 | parent_list_code: parent_key
2، VALUE2 | parent_list_code: parent_key ExtrafieldParamHelpcheckbox=فهرست پارامترها را به مانند کلید، ارزش است

به عنوان مثال:
1، VALUE1
2، VALUE2
3، value3
... ExtrafieldParamHelpradio=فهرست پارامترها را به مانند کلید، ارزش است

به عنوان مثال:
1، VALUE1
2، VALUE2
3، value3
... ExtrafieldParamHelpsellist=لیست پارامترها می آید از یک جدول
نحو: table_name از: label_field: id_field :: فیلتر
به عنوان مثال: c_typent: libelle: شناسه :: فیلتر

فیلتر می تواند یک آزمون ساده است (به عنوان مثال فعال = 1) برای نمایش تنها ارزش فعال
اگر شما می خواهید برای فیلتر کردن در extrafields استفاده syntaxt extra.fieldcode = ... (که در آن کد رشته کد extrafield است)

به منظور داشتن لیست بسته به نوع دیگر:
c_typent: libelle: شناسه: parent_list_code | parent_column: فیلتر +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=کتابخانه مورد استفاده برای ساخت PDF WarningUsingFPDF=اخطار: conf.php شما شامل dolibarr_pdf_force_fpdf بخشنامه = 1. این به این معنی شما استفاده از کتابخانه FPDF برای تولید فایل های PDF. این کتابخانه قدیمی است و بسیاری از ویژگی های (یونیکد، شفافیت تصویر، زبان سیریلیک، عربی و آسیایی، ...) را پشتیبانی نمی کند، بنابراین شما ممکن است خطا در PDF نسل را تجربه کنند.
برای حل این و دارای پشتیبانی کامل از PDF نسل، لطفا دانلود کنید کتابخانه TCPDF ، پس از آن اظهار نظر و یا حذف خط $ dolibarr_pdf_force_fpdf = 1، و اضافه کردن به جای $ dolibarr_lib_TCPDF_PATH = 'path_to_TCPDF_dir' LocalTaxDesc=برخی از کشورها 2 یا 3 مالیات در هر خط فاکتور اعمال می شود. اگر این مورد است، نوع مالیات دوم و سوم و نرخ آن را انتخاب کنید. نوع ممکن است:
1: مالیات های محلی اعمال می شود بر روی محصولات و خدمات بدون مالیات بر ارزش افزوده (مالیات بر ارزش افزوده بر مالیات های محلی به کار گرفته نمی شود)
2: مالیات های محلی اعمال می شود بر روی محصولات و خدمات قبل از مالیات بر ارزش افزوده (مالیات بر ارزش افزوده بر مقدار + localtax محاسبه)
3: مالیات های محلی اعمال می شود بر روی محصولات بدون مالیات بر ارزش افزوده (مالیات بر ارزش افزوده بر مالیات های محلی به کار گرفته نمی شود)
4: مالیات های محلی اعمال می شود بر روی محصولات قبل از مالیات بر ارزش افزوده (مالیات بر ارزش افزوده بر مقدار + localtax محاسبه)
5: مالیات های محلی اعمال می شود در خدمات بدون مالیات بر ارزش افزوده (مالیات بر ارزش افزوده بر مالیات های محلی به کار گرفته نمی شود)
6: مالیات های محلی اعمال می شود در مورد خدمات قبل از مالیات بر ارزش افزوده (مالیات بر ارزش افزوده بر مقدار + localtax محاسبه) @@ -572,7 +575,7 @@ Permission67=مداخلات صادرات Permission71=کاربران Permission72=ایجاد / تغییر کاربران Permission74=حذف کاربران -Permission75=انواع راه اندازی و ویژگی برای کاربران +Permission75=Setup types of membership Permission76=دادهها صادرات Permission78=خوانده شده اشتراک ها Permission79=ایجاد / تغییر اشتراک ها @@ -595,8 +598,8 @@ Permission106=sendings صادرات Permission109=حذف sendings Permission111=دفعات بازدید: حساب های مالی Permission112=ایجاد / تغییر / حذف و مقایسه معاملات -Permission113=حساب های راه اندازی financiel (ایجاد، مدیریت مجموعه ها) -Permission114=تحکیم معاملات +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=معاملات صادرات و اظهارات حساب کاربری Permission116=نقل و انتقالات بین حساب Permission117=مدیریت چک اعزام @@ -761,6 +764,7 @@ Permission55001=دفعات بازدید نظر سنجی Permission55002=ایجاد / تغییر نظر سنجی Permission59001=دفعات بازدید: حاشیه های تجاری Permission59002=تعریف حاشیه های تجاری +Permission59003=Read every user margin DictionaryCompanyType=نوع Thirdparties DictionaryCompanyJuridicalType=انواع حقوقی thirdparties DictionaryProspectLevel=سطح بالقوه چشم انداز @@ -1038,7 +1042,7 @@ SendingMailSetup=راه اندازی sendings توسط ایمیل SendmailOptionNotComplete=اخطار، در برخی از سیستم های لینوکس، برای ارسال ایمیل از ایمیل شما، از sendmail باید راه اندازی حکم اعدام گزینه-BA (mail.force_extra_parameters پارامتر به یک فایل php.ini خود را). اگر برخی از دریافت کنندگان هرگز ایمیل های دریافت، سعی کنید به ویرایش این پارامتر PHP با mail.force_extra_parameters =-BA). PathToDocuments=مسیر اسناد PathDirectory=دایرکتوری -SendmailOptionMayHurtBuggedMTA=قابلیت ارسال ایمیل با استفاده از روش "پست الکترونیکی PHP مستقیم" به یک پیام پست الکترونیک است که ممکن است به درستی از سوی برخی از سرویس دهنده پست الکترونیکی گیرنده تجزیه نه. نتیجه این است که چند نامه می تواند توسط افراد به میزبانی thoose سیستم عامل bugged خوانده شوند. (: نارنجی در فرانسه سابق) این پرونده برای برخی از ارائه دهندگان اینترنت است. این مشکل به Dolibarr و نه به PHP اما بر روی دریافت میل سرور نیست. با این حال شما می توانید MAIN_FIX_FOR_BUGGED_MTA گزینه اضافه به 1 به نصب - دیگر برای تغییر Dolibarr برای جلوگیری از این. با این حال، شما ممکن است مشکل با سرور های دیگر که به شدت استاندارد SMTP احترام را تجربه کنند. راه حل دیگر (توصیه) استفاده از روش "کتابخانه سوکت SMTP" است که هیچ معایب. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=پیکربندی د لا traduction TranslationDesc=انتخاب زبان بر روی صفحه نمایش قابل مشاهده است می تواند اصلاح شود:
* در سطح جهانی را از منوی صفحه اصلی - راه اندازی - نمایش
* برای کاربر تنها از تب صفحه نمایش کاربر از کارت کاربر (در ورود در بالای صفحه کلیک کنید). TotalNumberOfActivatedModules=مجموع ماژول ها از ویژگی های فعال:٪ s را @@ -1057,7 +1061,7 @@ BrowserIsOK=شما با استفاده از مرورگر وب از٪ s. این BrowserIsKO=شما با استفاده از مرورگر وب از٪ s. این مرورگر شناخته شده است به یک انتخاب بد برای امنیت، عملکرد و قابلیت اطمینان. ما recommand شما را به استفاده از فایرفاکس، کروم، اپرا و یا سافاری. XDebugInstalled=XDebug بارگذاری شده است. XCacheInstalled=XCache بارگذاری شده است. -AddRefInList=نمایش مشتری / تامین کننده کد عکس را به لیست (لیست و یا جعبهترکیب را انتخاب کنید) و بیشتر از لینک +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=نسخه فیلد٪ s FixTZ=ثابت منطقه زمانی FillThisOnlyIfRequired=به عنوان مثال: +2 (را پر کنید فقط اگر منطقه زمانی جبران مشکلات با تجربه هستند) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=به اعتبار منظور پس از پیشنها FreeLegalTextOnOrders=متن رایگان در سفارشات WatermarkOnDraftOrders=تعیین میزان مد آب به دستور پیش نویس (هیچ اگر خالی) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=کلیک کنید تا شماره گیری راه اندازی ماژول ClickToDialUrlDesc=آدرس نامیده می شود که با کلیک بر روی picto تلفن انجام می شود. در URL، شما می توانید برچسب ها
__PHONETO__ خواهد شد که با شماره تلفن از فرد جایگزین را به تماس
__PHONEFROM__ خواهد شد که با شماره تلفن تماس شخص (شما) به جای
__LOGIN__ خواهد شد که با ورود clicktodial خود را جایگزین (تعریف شده در کارت کاربر شما)
__PASS__ خواهد شد که با رمز عبور clicktodial شما (تعریف شده در کارت کاربر خود را) جایگزین شده است. @@ -1392,6 +1397,7 @@ RSSUrlExample=خوراک RSS جالب MailingSetup=ایمیل راه اندازی ماژول MailingEMailFrom=پست الکترونیکی فرستنده (از) برای ایمیل های فرستاده شده توسط ایمیل ماژول MailingEMailError=ایمیل بازگشت (خطاها به) برای ایمیل با اشتباهات +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=پست الکترونیکی فرستنده (از) برای ایمیل های ارسال شده اطلاعیه @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=در حال ارسال راه اندازی ماژول SendingsReceiptModel=ارسال مدل رسید SendingsNumberingModules=Sendings تعداد ماژول ها -SendingsAbility=sendings پشتیبانی ورق برای تحویل به مشتری +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=در اغلب موارد، sendings رسید هر دو به عنوان ورق برای تحویل به مشتری (لیستی از محصولات برای ارسال) و ورق است که recevied و امضا شده توسط مشتری استفاده می شود. بنابراین تحویل محصول رسید یکی از ویژگی های تکرار است و به ندرت فعال می شود. -FreeLegalTextOnShippings=متن رایگان در shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=محصولات تحویل رسید ماژول شماره DeliveryOrderModel=محصولات تحویل مدل رسید @@ -1414,7 +1420,7 @@ AdvancedEditor=ویرایشگر پیشرفته ActivateFCKeditor=فعال کردن ویرایشگر پیشرفته برای: FCKeditorForCompany=ایجاد WYSIWIG / نسخه عناصر توضیحات و توجه داشته باشید (به جز محصولات / خدمات) FCKeditorForProduct=ایجاد WYSIWIG / نسخه از محصولات / خدمات شرح و توجه داشته باشید -FCKeditorForProductDetails=ایجاد WYSIWIG / نسخه از محصولات جزئیات خطوط برای همه اشخاص (پیشنهادات، سفارشات، فاکتورها، و غیره ..) هشدار: با استفاده از این گزینه برای این مورد است که به طور جدی توصیه نه به عنوان آن می تواند مشکلاتی را با شخصیت های خاص و صفحه قالب بندی در هنگام ساختن PDF ایجاد کنید فایل های. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= ایجاد WYSIWIG / نسخه برای eMailings جرم (ابزار> ایمیل) FCKeditorForUserSignature=ایجاد WYSIWIG / نسخه از امضای کاربر FCKeditorForMail=ایجاد WYSIWIG / نسخه برای تمام نامه (به جز Outils-> ایمیل) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=قالب TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/fa_IR/agenda.lang b/htdocs/langs/fa_IR/agenda.lang index 31bd6a514ab..6e11caf7b70 100644 --- a/htdocs/langs/fa_IR/agenda.lang +++ b/htdocs/langs/fa_IR/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=سفارش مشتری٪ s ارسال با ایمیل InvoiceSentByEMail=صورت حساب به مشتری٪ s ارسال با ایمیل SupplierOrderSentByEMail=تامین کننده نظم٪ s ارسال با ایمیل SupplierInvoiceSentByEMail=تامین کننده فاکتور٪ s ارسال با ایمیل -ShippingSentByEMail=حمل و نقل٪ s ارسال با ایمیل -ShippingValidated= حمل و نقل از٪ s معتبر +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= شخص ثالث ایجاد شده DateActionPlannedStart= تاریخ شروع برنامه ریزی شده DateActionPlannedEnd= تاریخ پایان برنامه ریزی شده @@ -68,7 +69,7 @@ DateActionDoneEnd= تاریخ پایان واقعی DateActionStart= تاریخ شروع DateActionEnd= تاریخ پایان AgendaUrlOptions1=شما همچنین می توانید پارامترهای زیر برای فیلتر کردن خروجی اضافه: -AgendaUrlOptions2=ورود =٪ s را برای محدود کردن خروجی به اقدامات ایجاد شده توسط، اختصاص یافته به و یا انجام شده توسط کاربر٪ s را. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint =٪ s را برای محدود کردن خروجی به اقدامات داده شده به کاربر از٪ s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/fa_IR/banks.lang b/htdocs/langs/fa_IR/banks.lang index 2a6596ddc68..b94e76dd3c6 100644 --- a/htdocs/langs/fa_IR/banks.lang +++ b/htdocs/langs/fa_IR/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=حساب FinancialAccounts=حسابها BankAccount=حساب بانکی BankAccounts=حسابهای بانکی +ShowAccount=Show Account AccountRef=نيازمندی های حساب مالی شخص AccountLabel=برچسب حساب مالی CashAccount=حساب صندوق diff --git a/htdocs/langs/fa_IR/bills.lang b/htdocs/langs/fa_IR/bills.lang index 7b7d6b27fd8..90a5b2b6aeb 100644 --- a/htdocs/langs/fa_IR/bills.lang +++ b/htdocs/langs/fa_IR/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=صورت حساب Bills=صورت حساب -BillsCustomers=صورت حساب مشتری -BillsCustomer=صورت حساب مشتری -BillsSuppliers=فاکتورها تامین کننده -BillsCustomersUnpaid=صورت حساب به مشتری پرداخت نشده است +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=صورت حساب به مشتری پرداخت نشده است برای٪ s BillsSuppliersUnpaid=فاکتورها منبع پرداخت نشده است BillsSuppliersUnpaidForCompany=فاکتورها منبع پرداخت نشده است برای٪ s BillsLate=پرداخت در اواخر -BillsStatistics=فاکتورها آمار مشتری -BillsStatisticsSuppliers=فاکتورها آمار تامین کننده +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=غیر فعال چون نمی تواند پاک شود InvoiceStandard=صورت حساب استاندارد InvoiceStandardAsk=صورت حساب استاندارد @@ -348,6 +348,7 @@ ChequeNumber=چک N ° ChequeOrTransferNumber=بررسی / انتقال N ° ChequeMaker=چک فرستنده ChequeBank=بانک مرکزی ورود +CheckBank=Check NetToBePaid=خالص پرداخت می شود PhoneNumber=تلفن FullPhoneNumber=تلفن @@ -388,7 +389,7 @@ DisabledBecausePayments=ممکن نیست زیرا بعضی از پرداخت و CantRemovePaymentWithOneInvoicePaid=آیا می توانم پرداخت را حذف کنید از حداقل یک فاکتور طبقه بندی شده پرداخت می شود وجود دارد ExpectedToPay=پرداخت مورد انتظار PayedByThisPayment=پرداخت شده توسط این پرداخت -ClosePaidInvoicesAutomatically=طبقه بندی "پرداخت" تمام فاکتورها استاندارد یا تعویض به طور کامل پرداخت می شود. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=طبقه بندی "پرداخت" تمام یادداشت های اعتباری به طور کامل دوباره پرداخت می شود. AllCompletelyPayedInvoiceWillBeClosed=همه فاکتور بدون باقی می ماند به پرداخت به طور خودکار به وضعیت "پرداخت" بسته است. ToMakePayment=پرداخت @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=نماینده زیر کرد TypeContact_invoice_supplier_external_BILLING=منبع تماس با فاکتور TypeContact_invoice_supplier_external_SHIPPING=تماس با تامین کننده حمل و نقل TypeContact_invoice_supplier_external_SERVICE=خدمات منبع تماس با +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/fa_IR/compta.lang b/htdocs/langs/fa_IR/compta.lang index ecc5cfbf660..f6f134faec3 100644 --- a/htdocs/langs/fa_IR/compta.lang +++ b/htdocs/langs/fa_IR/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=حجم معاملات PaymentsNotLinkedToInvoice=پرداخت به هر فاکتور در ارتباط نیست، بنابراین به هر شخص ثالث مرتبط نیست PaymentsNotLinkedToUser=پرداخت به هر کاربر در ارتباط نیست Profit=سود +AccountingResult=Accounting result Balance=تعادل Debit=بدهی Credit=اعتبار diff --git a/htdocs/langs/fa_IR/cron.lang b/htdocs/langs/fa_IR/cron.lang index ef96c9ca620..c7464dd88b9 100644 --- a/htdocs/langs/fa_IR/cron.lang +++ b/htdocs/langs/fa_IR/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL برای بررسی و راه اندازی کارهای OrToLaunchASpecificJob=و یا برای بررسی و راه اندازی یک کار خاص KeyForCronAccess=کلید امنیتی برای URL برای راه اندازی کارهای cron FileToLaunchCronJobs=خط فرمان برای راه اندازی کارهای cron -CronExplainHowToRunUnix=در محیط یونیکس شما باید crontab کاربر برای اجرای خط فرمان در هر دقیقه استفاده -CronExplainHowToRunWin=در مایکروسافت، محصول محیط ویندوز شما می توانید ابزار کار برنامه ریزی شده برای اجرای خط فرمان در هر دقیقه استفاده +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=شغل برنامه ریزی CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/fa_IR/ecm.lang b/htdocs/langs/fa_IR/ecm.lang index 074bd81df6f..2f10c713737 100644 --- a/htdocs/langs/fa_IR/ecm.lang +++ b/htdocs/langs/fa_IR/ecm.lang @@ -28,7 +28,7 @@ ECMCreationUser=خالق ECMArea=منطقه EDM ECMAreaDesc=EDM (سند الکترونیکی مدیریت) منطقه اجازه می دهد تا شما را به صرفه جویی، به اشتراک گذاری و جستجو به سرعت همه نوع اسناد در Dolibarr. ECMAreaDesc2=* دایرکتوری ها به صورت خودکار به طور خودکار در هنگام اضافه کردن اسناد از کارت یک عنصر پر شده است.
* دایرکتوری دستی می توان برای ذخیره اسناد به یک عنصر خاصی پیوند ندارد. -ECMSectionWasRemoved=شاخه%s حذف شده است. +ECMSectionWasRemoved=شاخه٪ s حذف شده است. ECMDocumentsSection=سند دایرکتوری ECMSearchByKeywords=جستجو با کلمات کلیدی ECMSearchByEntity=جستجو توسط شی @@ -43,10 +43,12 @@ ECMDocsByContracts=اسناد مربوط به قرارداد ECMDocsByInvoices=اسناد مربوط به صورت حساب مشتریان ECMDocsByProducts=اسناد مرتبط به محصولات ECMDocsByProjects=اسناد مربوط به پروژه +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=بدون دایرکتوری ایجاد شده ShowECMSection=نمایش دایرکتوری DeleteSection=حذف دایرکتوری -ConfirmDeleteSection=آیا تائید می کنید که می خواهید این شاخه%s را حذف کنید؟ +ConfirmDeleteSection=آیا تائید می کنید که می خواهید این شاخه٪ s را حذف کنید؟ ECMDirectoryForFiles=دایرکتوری نسبی برای فایل ها CannotRemoveDirectoryContainsFiles=ممکن است حذف شده، زیرا حاوی بعضی از فایل ها نمی ECMFileManager=مدیریت فایل ها diff --git a/htdocs/langs/fa_IR/errors.lang b/htdocs/langs/fa_IR/errors.lang index 8ac54cde918..2b562f769ad 100644 --- a/htdocs/langs/fa_IR/errors.lang +++ b/htdocs/langs/fa_IR/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=راه اندازی ماژول به نظر می رس ErrorBadMask=خطا در ماسک ErrorBadMaskFailedToLocatePosOfSequence=خطا، ماسک بدون شماره ترتیب ErrorBadMaskBadRazMonth=خطا، مقدار تنظیم مجدد بد +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=خطا. حداقل یک ورودی را انتخاب کنید. ErrorProductWithRefNotExist=محصولات با مرجع '٪ s' را وجود ندارد ErrorDeleteNotPossibleLineIsConsolidated=حذف ممکن نیست چون رکورد به یک transation بانکی است که با آشتی خاتمه نیافت مرتبط @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=پارامترهای راه اندازی اجباری هنوز تعریف نشده diff --git a/htdocs/langs/fa_IR/install.lang b/htdocs/langs/fa_IR/install.lang index affb451ad1e..ac1ba6dc068 100644 --- a/htdocs/langs/fa_IR/install.lang +++ b/htdocs/langs/fa_IR/install.lang @@ -3,33 +3,33 @@ InstallEasy=فقط به گام دستورالعمل های گام به گام د MiscellaneousChecks=پیش نیازها بررسی DolibarrWelcome=به Dolibarr خوش آمدید ConfFileExists=فایل پیکربندی %s موجود است -ConfFileDoesNotExists=فایل پیکربندی%s وجود ندارد! -ConfFileDoesNotExistsAndCouldNotBeCreated=فایل پیکربندی%s وجود ندارد و نمی توان آن را! -ConfFileCouldBeCreated=فایل پیکربندی%s را می تواند ایجاد شود. +ConfFileDoesNotExists=فایل پیکربندی٪ s وجود ندارد! +ConfFileDoesNotExistsAndCouldNotBeCreated=فایل پیکربندی٪ s وجود ندارد و نمی توان آن را! +ConfFileCouldBeCreated=فایل پیکربندی٪ s را می تواند ایجاد شود. ConfFileIsNotWritable=فایل پیکربندی٪ است قابل نوشتن نیست. مجوز بررسی کنید. برای اولین بار نصب کنید، وب سرور شما باید اعطا می شود که قادر به ارسال این فایل در فرایند پیکربندی (به عنوان مثال در یونیکس مانند سیستم عامل "سطح دسترسی 666"). -ConfFileIsWritable=فایل پیکربندی%s قابل نوشتن است. +ConfFileIsWritable=فایل پیکربندی٪ s قابل نوشتن است. ConfFileReload=بازنگری تمام اطلاعات از فایل پیکربندی. PHPSupportSessions=این جلسات PHP پشتیبانی می کند. PHPSupportPOSTGETOk=این PHP پشتیبانی از متغیر های POST و GET. PHPSupportPOSTGETKo=این امکان وجود دارد راه اندازی PHP شما از متغیر های POST پشتیبانی نمی کند و / یا. بررسی کنید variables_order پارامتر خود را در php.ini. PHPSupportGD=این GD پشتیبانی از PHP توابع گرافیکی. PHPSupportUTF8=این پشتیبانی از PHP توابع UTF8. -PHPMemoryOK=PHP حداکثر شما حافظه جلسه به%s تنظیم شده است. این باید به اندازه کافی باشد. -PHPMemoryTooLow=PHP حداکثر شما حافظه را وارد نمایید به%s بایت تنظیم شده است. این باید بسیار کم باشد. تغییر فایل php.ini خود را به تنظیم پارامتر memory_limit را به حداقل%s بایت. +PHPMemoryOK=PHP حداکثر شما حافظه جلسه به٪ s تنظیم شده است. این باید به اندازه کافی باشد. +PHPMemoryTooLow=PHP حداکثر شما حافظه را وارد نمایید به٪ s بایت تنظیم شده است. این باید بسیار کم باشد. تغییر فایل php.ini خود را به تنظیم پارامتر memory_limit را به حداقل٪ s بایت. Recheck=برای تست نشانگر بیشتر اینجا را کلیک کنید ErrorPHPDoesNotSupportSessions=نصب و راه اندازی PHP شما جلسات را پشتیبانی نمی کند. این ویژگی مورد نیاز است تا Dolibarr کار. راه اندازی PHP خود را چک کنید. ErrorPHPDoesNotSupportGD=نصب و راه اندازی PHP شما از عملکرد گرافیکی GD پشتیبانی نمی کند. بدون نمودار در دسترس خواهد بود. ErrorPHPDoesNotSupportUTF8=نصب و راه اندازی PHP شما توابع UTF8 را پشتیبانی نمی کند. Dolibarr نمی تواند به درستی کار می کنند. حل این قبل از نصب Dolibarr. -ErrorDirDoesNotExists=شاخه%s وجود ندارد. +ErrorDirDoesNotExists=شاخه٪ s وجود ندارد. ErrorGoBackAndCorrectParameters=برو به عقب و اصلاح پارامترهای اشتباه است. -ErrorWrongValueForParameter=شما ممکن است یک مقدار اشتباه برای پارامتر '%s' را تایپ. -ErrorFailedToCreateDatabase=برای ایجاد پایگاه داده '%s »شکست خورد. -ErrorFailedToConnectToDatabase=برای اتصال به پایگاه داده '%s »شکست خورد. -ErrorDatabaseVersionTooLow=نسخه پایگاه داده (٪ بازدید کنندگان) خیلی قدیمی است. نسخه%s یا بالاتر مورد نیاز است. -ErrorPHPVersionTooLow=نسخه PHP خیلی قدیمی است. نسخه%s مورد نیاز است. +ErrorWrongValueForParameter=شما ممکن است یک مقدار اشتباه برای پارامتر '٪ s' را تایپ. +ErrorFailedToCreateDatabase=برای ایجاد پایگاه داده '٪ s »شکست خورد. +ErrorFailedToConnectToDatabase=برای اتصال به پایگاه داده '٪ s »شکست خورد. +ErrorDatabaseVersionTooLow=نسخه پایگاه داده (٪ بازدید کنندگان) خیلی قدیمی است. نسخه٪ s یا بالاتر مورد نیاز است. +ErrorPHPVersionTooLow=نسخه PHP خیلی قدیمی است. نسخه٪ s مورد نیاز است. WarningPHPVersionTooLow=نسخه PHP خیلی قدیمی است. نسخه٪ یا بیشتر مورد انتظار است. این نسخه باید اجازه نصب اما پشتیبانی نمی شود. -ErrorConnectedButDatabaseNotFound=اتصال به موفق سرور، اما پایگاه داده '%s' یافت نشد. -ErrorDatabaseAlreadyExists=پایگاه داده '%s' از قبل وجود دارد. +ErrorConnectedButDatabaseNotFound=اتصال به موفق سرور، اما پایگاه داده '٪ s' یافت نشد. +ErrorDatabaseAlreadyExists=پایگاه داده '٪ s' از قبل وجود دارد. IfDatabaseNotExistsGoBackAndUncheckCreate=اگر پایگاه داده وجود دارد، به عقب برگردید و گزینه تیک بزنید "ایجاد پایگاه داده". IfDatabaseExistsGoBackAndCheckCreate=اگر پایگاه داده در حال حاضر وجود دارد، بازگشت و تیک گزینه "ایجاد پایگاه داده" گزینه است. WarningBrowserTooOld=نسخه خیلی قدیمی از مرورگر. به روز رسانی مرورگر خود را به آخرین ورژن فایرفاکس، کروم و اپرا است که به شدت توصیه. @@ -75,8 +75,8 @@ UserCreation=ایجاد کاربر CreateDatabaseObjects=اشیاء پایگاه داده ایجاد ReferenceDataLoading=مرجع بارگذاری داده ها TablesAndPrimaryKeysCreation=جداول و کلید اولیه ایجاد -CreateTableAndPrimaryKey=ایجاد جدول%s را -CreateOtherKeysForTable=ایجاد کلید های خارجی و شاخص برای جدول%s را +CreateTableAndPrimaryKey=ایجاد جدول٪ s را +CreateOtherKeysForTable=ایجاد کلید های خارجی و شاخص برای جدول٪ s را OtherKeysCreation=کلید های خارجی و شاخص ایجاد FunctionsCreation=ایجاد توابع AdminAccountCreation=ایجاد ورود مدیر @@ -87,7 +87,7 @@ SetupEnd=پایان از راه اندازی SystemIsInstalled=این نصب کامل شده است. SystemIsUpgraded=Dolibarr با موفقیت به روز رسانی شده است. YouNeedToPersonalizeSetup=شما نیاز به پیکربندی Dolibarr را با توجه به نیاز خود (ظاهر، امکانات، ...). برای این کار، لطفا لینک زیر را دنبال کنید: -AdminLoginCreatedSuccessfuly=Dolibarr مدیر ورود '%s' را ایجاد موفقیت. +AdminLoginCreatedSuccessfuly=Dolibarr مدیر ورود '٪ s' را ایجاد موفقیت. GoToDolibarr=برو به Dolibarr GoToSetupArea=برو به Dolibarr (منطقه راه اندازی) MigrationNotFinished=نسخه از پایگاه داده خود را به طور کامل به روز نیست، بنابراین شما باید برای اجرای عملیات ارتقا دوباره. @@ -97,9 +97,9 @@ WithNoSlashAtTheEnd=بدون اسلش "/" در انتهای DirectoryRecommendation=این است توصیه به استفاده از یک دایرکتوری در خارج از دایرکتوری خود را از صفحات وب خود را. LoginAlreadyExists=در حال حاضر وجود دارد DolibarrAdminLogin=Dolibarr مدیر در انجمن -AdminLoginAlreadyExists=حساب مدیر Dolibarr '%s' از قبل وجود دارد. برو به عقب، اگر شما می خواهید برای ایجاد یک دیگر. +AdminLoginAlreadyExists=حساب مدیر Dolibarr '٪ s' از قبل وجود دارد. برو به عقب، اگر شما می خواهید برای ایجاد یک دیگر. WarningRemoveInstallDir=اخطار، به دلایل امنیتی، پس از نصب و یا ارتقا کامل است، برای جلوگیری از استفاده از ابزار را دوباره نصب کنید، شما باید یک فایل install.lock به دایرکتوری سند Dolibarr نام اضافه، به منظور جلوگیری از سوء استفاده از آن را. -ThisPHPDoesNotSupportTypeBase=این سیستم PHP هیچ رابط کاربری را پشتیبانی نمی کند برای دسترسی به نوع پایگاه داده از%s +ThisPHPDoesNotSupportTypeBase=این سیستم PHP هیچ رابط کاربری را پشتیبانی نمی کند برای دسترسی به نوع پایگاه داده از٪ s FunctionNotAvailableInThisPHP=در این پی اچ پی در دسترس نیست MigrateScript=اسکریپت مهاجرت ChoosedMigrateScript=را انتخاب کنید اسکریپت مهاجرت @@ -114,7 +114,7 @@ UpgradeDesc=با استفاده از این حالت اگر شما فایل ها Start=شروع InstallNotAllowed=راه اندازی شده توسط مجوز conf.php مجاز نیست NotAvailable=در دسترس نیست -YouMustCreateWithPermission=شما باید فایل%s و مجوز نوشتن در آن را برای وب سرور ایجاد در طول فرایند نصب کنید. +YouMustCreateWithPermission=شما باید فایل٪ s و مجوز نوشتن در آن را برای وب سرور ایجاد در طول فرایند نصب کنید. CorrectProblemAndReloadPage=لطفا مشکل را رفع و F5 را فشار دهید به بارگذاری مجدد صفحه. AlreadyDone=در حال حاضر مهاجرت DatabaseVersion=بانک اطلاعات نسخه @@ -127,10 +127,10 @@ DBSortingCollation=شخصیت منظور مرتب سازی DBSortingCollationComment=کد صفحه ای که تعریف منظور مرتب سازی شخصیت استفاده شده توسط پایگاه داده را انتخاب کنید. این پارامتر نیز 'میترا' از سوی برخی از پایگاه های داده نامیده می شود.
این پارامتر نمی تواند تعریف شود اگر پایگاه داده در حال حاضر وجود دارد. CharacterSetDatabase=مجموعه کاراکتر برای پایگاه داده CharacterSetDatabaseComment=را انتخاب کنید مجموعه کاراکتر می خواستم برای ایجاد پایگاه داده باشد.
این پارامتر نمی تواند تعریف شود اگر پایگاه داده در حال حاضر وجود دارد. -YouAskDatabaseCreationSoDolibarrNeedToConnect=از شما درخواست برای ایجاد پایگاه داده٪ است، اما برای این، Dolibarr نیاز به اتصال به%s سرور با مجوز فوق العاده کاربر%s را. -YouAskLoginCreationSoDolibarrNeedToConnect=از شما درخواست برای ایجاد پایگاه داده ورود به%s را، اما برای این، Dolibarr نیاز به اتصال به%s سرور با مجوز فوق العاده کاربر%s را. +YouAskDatabaseCreationSoDolibarrNeedToConnect=از شما درخواست برای ایجاد پایگاه داده٪ است، اما برای این، Dolibarr نیاز به اتصال به٪ s سرور با مجوز فوق العاده کاربر٪ s را. +YouAskLoginCreationSoDolibarrNeedToConnect=از شما درخواست برای ایجاد پایگاه داده ورود به٪ s را، اما برای این، Dolibarr نیاز به اتصال به٪ s سرور با مجوز فوق العاده کاربر٪ s را. BecauseConnectionFailedParametersMayBeWrong=به عنوان اتصال، میزبان یا پارامترهای کاربر فوق العاده باید اشتباه باشد. -OrphelinsPaymentsDetectedByMethod=یتیمان پرداخت شناسایی شده با استفاده از روش از%s +OrphelinsPaymentsDetectedByMethod=یتیمان پرداخت شناسایی شده با استفاده از روش از٪ s RemoveItManuallyAndPressF5ToContinue=حذف آن دستی و F5 را فشار دهید تا ادامه خواهد داد. KeepDefaultValuesWamp=شما با استفاده از جادوگر در راه اندازی Dolibarr از DoliWamp، بنابراین مقادیر ارائه شده در اینجا در حال حاضر بهینه شده است. تغییر آنها را تنها در صورتی شما می دانید آنچه شما انجام دهد. KeepDefaultValuesDeb=شما با استفاده از جادوگر Dolibarr راه اندازی از یک بسته لینوکس (اوبونتو، دبیان، فدورا ...)، بنابراین مقادیر ارائه شده در اینجا در حال حاضر بهینه شده است. تنها رمز صاحب پایگاه داده برای ایجاد باید پر شوند. تغییر پارامترهای دیگر تنها در صورتی شما می دانید آنچه شما انجام دهد. @@ -138,11 +138,11 @@ KeepDefaultValuesMamp=شما با استفاده از جادوگر در راه KeepDefaultValuesProxmox=شما با استفاده از جادوگر در راه اندازی Dolibarr از یک دستگاه مجازی بورس، بنابراین مقادیر ارائه شده در اینجا در حال حاضر بهینه شده است. تغییر آنها را تنها در صورتی شما می دانید آنچه شما انجام دهد. FieldRenamed=درست است تغییر نام داد IfLoginDoesNotExistsCheckCreateUser=اگر وارد کند وجود دارد نشده است، شما باید گزینه را تیک "ایجاد کاربر" -ErrorConnection=سرور "%s"، نام پایگاه داده "%s"، برای ورود اینجا "%s"، و یا رمز عبور پایگاه داده ممکن است اشتباه باشد و یا نسخه PHP مشتری ممکن است خیلی قدیمی در مقایسه با نسخه پایگاه داده باشد. -InstallChoiceRecommanded=توصیه می شود انتخاب به نصب نسخه%s از نسخه فعلی خود را از%s +ErrorConnection=سرور "٪ s"، نام پایگاه داده "٪ s"، برای ورود اینجا "٪ s"، و یا رمز عبور پایگاه داده ممکن است اشتباه باشد و یا نسخه PHP مشتری ممکن است خیلی قدیمی در مقایسه با نسخه پایگاه داده باشد. +InstallChoiceRecommanded=توصیه می شود انتخاب به نصب نسخه٪ s از نسخه فعلی خود را از٪ s InstallChoiceSuggested=نصب انتخاب پیشنهاد شده توسط نصب. MigrateIsDoneStepByStep=نسخه هدف قرار دادند (٪ بازدید کنندگان) دارای یک شکاف از چندین نسخه، پس از نصب ویزارد باز خواهد گشت تا نشان می دهد مهاجرت بعدی یک بار این یکی تمام می شود. -CheckThatDatabasenameIsCorrect=بررسی کنید که نام پایگاه داده "%s" درست است. +CheckThatDatabasenameIsCorrect=بررسی کنید که نام پایگاه داده "٪ s" درست است. IfAlreadyExistsCheckOption=اگر این نام درست است و پایگاه داده هنوز وجود ندارد، شما باید گزینه "ایجاد پایگاه داده" تیک بزنید. OpenBaseDir=پارامتر PHP openbasedir YouAskToCreateDatabaseSoRootRequired=شما چک باکس "ایجاد پایگاه داده". برای این کار، شما نیاز به ارائه ورود / رمز عبور کاربر مدیر (پایین فرم). @@ -153,8 +153,9 @@ MigrationShippingDelivery=به روز رسانی ذخیره سازی حمل و MigrationShippingDelivery2=به روز رسانی ذخیره سازی حمل و نقل 2 MigrationFinished=مهاجرت به پایان رسید LastStepDesc=آخرین مرحله: تعریف اینجا کاربری و رمز عبور شما قصد استفاده برای اتصال به نرم افزار. آیا این شل نیست آن را به عنوان حساب به اداره همه دیگران است. -ActivateModule=فعال بخش%s +ActivateModule=فعال بخش٪ s ShowEditTechnicalParameters=برای نشان دادن پارامترهای پیشرفته / ویرایش اینجا را کلیک کنید (حالت کارشناسی) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -168,13 +169,13 @@ MigrationSuccessfullUpdate=به روز رسانی موفق MigrationUpdateFailed=روند ارتقاء شکست خورده MigrationRelationshipTables=مهاجرت به داده ها برای جداول رابطه (٪ بازدید کنندگان) MigrationPaymentsUpdate=پرداخت اصلاح داده ها -MigrationPaymentsNumberToUpdate=%s را پرداخت (ها) برای به روز رسانی +MigrationPaymentsNumberToUpdate=٪ s را پرداخت (ها) برای به روز رسانی MigrationProcessPaymentUpdate=پرداخت به روز رسانی (بازدید کنندگان)٪ بازدید کنندگان MigrationPaymentsNothingToUpdate=هیچ چیز بیشتری برای انجام MigrationPaymentsNothingUpdatable=بدون پرداخت است که می تواند اصلاح شود MigrationContractsUpdate=قرارداد اصلاح داده ها -MigrationContractsNumberToUpdate=%s در قرارداد (ها) برای به روز رسانی -MigrationContractsLineCreation=ایجاد خط قرارداد برای قرارداد کد عکس از%s +MigrationContractsNumberToUpdate=٪ s در قرارداد (ها) برای به روز رسانی +MigrationContractsLineCreation=ایجاد خط قرارداد برای قرارداد کد عکس از٪ s MigrationContractsNothingToUpdate=هیچ چیز بیشتری برای انجام MigrationContractsFieldDontExist=fk_facture درست می کند وجود دارد نیست. هیچ چیز به انجام. MigrationContractsEmptyDatesUpdate=قرارداد تصحیح تاریخ خالی @@ -182,15 +183,15 @@ MigrationContractsEmptyDatesUpdateSuccess=قرارداد تصحیح تاریخ e MigrationContractsEmptyDatesNothingToUpdate=بدون قرارداد تاریخ خالی برای اصلاح MigrationContractsEmptyCreationDatesNothingToUpdate=تاریخ ایجاد قرارداد برای اصلاح MigrationContractsInvalidDatesUpdate=تاریخ مقدار بد اصلاح قرارداد -MigrationContractsInvalidDateFix=قرارداد صحیح از%s (تاریخ قرارداد =٪ S، تاریخ شروع خدمات دقیقه =٪ بازدید کنندگان) -MigrationContractsInvalidDatesNumber=%s در قرارداد اصلاح شده +MigrationContractsInvalidDateFix=قرارداد صحیح از٪ s (تاریخ قرارداد =٪ S، تاریخ شروع خدمات دقیقه =٪ بازدید کنندگان) +MigrationContractsInvalidDatesNumber=٪ s در قرارداد اصلاح شده MigrationContractsInvalidDatesNothingToUpdate=تاریخ با ارزش بد برای اصلاح MigrationContractsIncoherentCreationDateUpdate=بد قرارداد ارزش تصحیح تاریخ ایجاد MigrationContractsIncoherentCreationDateUpdateSuccess=بد قرارداد ارزش تصحیح تاریخ ایجاد انجام succesfuly MigrationContractsIncoherentCreationDateNothingToUpdate=بدون مقدار بد برای تاریخ ایجاد قرارداد برای اصلاح MigrationReopeningContracts=قرارداد باز کردن بسته های خطا -MigrationReopenThisContract=بازگشایی قرارداد از%s -MigrationReopenedContractsNumber=%s در قرارداد اصلاح شده +MigrationReopenThisContract=بازگشایی قرارداد از٪ s +MigrationReopenedContractsNumber=٪ s در قرارداد اصلاح شده MigrationReopeningContractsNothingToUpdate=بدون قرارداد بسته یا باز MigrationBankTransfertsUpdate=لینک به روز رسانی بین معامله بانک و انتقال بانکی MigrationBankTransfertsNothingToUpdate=تمامی لینک ها به روز می باشد @@ -206,6 +207,7 @@ MigrationProjectTaskTime=زمان به روز رسانی صرف در ثانیه MigrationActioncommElement=به روز کردن اطلاعات در مورد اقدامات MigrationPaymentMode=اطلاعات مهاجرت برای حالت پرداخت MigrationCategorieAssociation=مهاجرت از دسته +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=نمایش گزینه های در دسترس نیست HideNotAvailableOptions=پنهان کردن گزینه های در دسترس نیست diff --git a/htdocs/langs/fa_IR/languages.lang b/htdocs/langs/fa_IR/languages.lang index d1affe9ccb2..898762b5717 100644 --- a/htdocs/langs/fa_IR/languages.lang +++ b/htdocs/langs/fa_IR/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=آلمانی (اتریش) Language_de_CH=آلمانی (سوییس) Language_el_GR=یونانی Language_en_AU=انگلیسی(استرالیا) +Language_en_CA=English (Canada) Language_en_GB=انگلیسی بریتانیا Language_en_IN=انگلیسی هند Language_en_NZ=انگلیسی نیوزلند @@ -58,7 +59,7 @@ Language_ro_RO=رومانیایی Language_ru_RU=روسی Language_ru_UA=روسیه (اوکراین) Language_tr_TR=ترکی -Language_sl_SI=السلوفينية +Language_sl_SI=اسلونی Language_sv_SV=سوئدی Language_sv_SE=سوئدی Language_sq_AL=آلبانی diff --git a/htdocs/langs/fa_IR/main.lang b/htdocs/langs/fa_IR/main.lang index a4a4471ebeb..f75a9926e70 100644 --- a/htdocs/langs/fa_IR/main.lang +++ b/htdocs/langs/fa_IR/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=MM/dd/yyyy FormatDateShortJavaInput=MM/dd/yyyy FormatDateShortJQuery=yy/dd/mm FormatDateShortJQueryInput=yy/dd/mm +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=خطا، موفق به صرفه جویی در فایل. SetDate=تاریخ تنظیم SelectDate=یک تاریخ را انتخاب کنید SeeAlso=همچنین نگاه کنید به٪ s را +SeeHere=See here BackgroundColorByDefault=رنگ به طور پیش فرض پس زمینه FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=کاربر Users=کاربران Group=گروه Groups=گروه +NoUserGroupDefined=No user group defined Password=رمز عبور PasswordRetype=رمز عبور خود را تایپ مجدد NoteSomeFeaturesAreDisabled=توجه داشته باشید که بسیاری از ویژگی های / ماژول ها در این تظاهرات غیر فعال می باشد. @@ -258,6 +261,7 @@ days=روز Hours=ساعت Minutes=دقیقه Seconds=ثانیه +Weeks=Weeks Today=امروز Yesterday=دیروز Tomorrow=فردا @@ -683,6 +687,7 @@ XMoreLines=٪ خط (بازدید کنندگان) پنهان PublicUrl=URL عمومی AddBox=اضافه کردن جعبه SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=دوشنبه Tuesday=سهشنبه diff --git a/htdocs/langs/fa_IR/margins.lang b/htdocs/langs/fa_IR/margins.lang index 3bf987e19bf..78fccc0e2b7 100644 --- a/htdocs/langs/fa_IR/margins.lang +++ b/htdocs/langs/fa_IR/margins.lang @@ -16,6 +16,7 @@ MarginDetails=جزئیات حاشیه ProductMargins=حاشیه های محصولات CustomerMargins=حاشیه مشتری SalesRepresentativeMargins=فروش حاشیه نماینده +UserMargins=User margins ProductService=محصولات و خدمات AllProducts=همه محصولات و خدمات ChooseProduct/Service=انتخاب محصول و یا خدمات diff --git a/htdocs/langs/fa_IR/orders.lang b/htdocs/langs/fa_IR/orders.lang index d99bc976c66..43f430681cb 100644 --- a/htdocs/langs/fa_IR/orders.lang +++ b/htdocs/langs/fa_IR/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=منظور تامین کننده SuppliersOrders=سفارشات تولید کنندگان SuppliersOrdersRunning=سفارشات تامین کنندگان کنونی CustomerOrder=سفارش مشتری -CustomersOrders=سفارشات مشتری +CustomersOrders=Customers orders CustomersOrdersRunning=مشتری فعلی CustomersOrdersAndOrdersLines=مشتری و خطوط سفارش -OrdersToValid=سفارشات مشتری به اعتبار -OrdersToBill=سفارشات مشتری تحویل داده -OrdersInProcess=سفارشات مشتری در فرآیند -OrdersToProcess=سفارشات مشتری برای پردازش +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=سفارشات تامین کننده به پردازش StatusOrderCanceledShort=لغو شد StatusOrderDraftShort=پیش نویس StatusOrderValidatedShort=اعتبار StatusOrderSentShort=در فرآیند StatusOrderSent=حمل و نقل در فرایند -StatusOrderOnProcessShort=پذیرش +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=پردازش StatusOrderToBillShort=تحویل StatusOrderToBill2Short=به بیل @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=دریافت همه چیز StatusOrderCanceled=لغو شد StatusOrderDraft=پیش نویس (نیاز به تایید می شود) StatusOrderValidated=اعتبار -StatusOrderOnProcess=در انتظار دریافت +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=پردازش StatusOrderToBill=تحویل StatusOrderToBill2=به بیل @@ -50,6 +50,8 @@ StatusOrderRefused=رد StatusOrderReceivedPartially=نیمه دریافت کرد StatusOrderReceivedAll=دریافت همه چیز ShippingExist=حمل و نقل وجود دارد +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=پیش نویس و یا مورد تایید در عین حال دستور داده DraftOrWaitingShipped=پیش نویس و یا اعتبار هنوز حمل نشده است MenuOrdersToBill=سفارشات تحویل diff --git a/htdocs/langs/fa_IR/productbatch.lang b/htdocs/langs/fa_IR/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/fa_IR/productbatch.lang +++ b/htdocs/langs/fa_IR/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/fa_IR/products.lang b/htdocs/langs/fa_IR/products.lang index dc472f3b7c8..2fcdf5eed69 100644 --- a/htdocs/langs/fa_IR/products.lang +++ b/htdocs/langs/fa_IR/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=کد حسابداری (فروش) ProductOrService=محصولات و خدمات ProductsAndServices=محصولات و خدمات ProductsOrServices=محصولات و خدمات -ProductsAndServicesOnSell=محصولات و خدمات -ProductsAndServicesNotOnSell=محصولات منسوخ و خدمات +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=محصولات و خدمات آمار ProductsStatistics=آمار محصولات -ProductsOnSell=محصولات موجود -ProductsNotOnSell=محصولات و منسوخ -ProductsOnSellAndOnBuy=محصولات نه برای فروش و نه خريد -ServicesOnSell=خدمات در دسترس -ServicesNotOnSell=خدمات منسوخ -ServicesOnSellAndOnBuy=خدمات نه برای فروش و نه خريد +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=مرجع داخلی LastRecorded=آخرین محصولات / خدمات در فروش ثبت LastRecordedProductsAndServices=تاریخ و زمان آخرین٪ ثبت محصولات / خدمات @@ -198,7 +198,7 @@ HelpAddThisServiceCard=این گزینه به شما اجازه می دهد که CurrentProductPrice=قیمت کنونی AlwaysUseNewPrice=همیشه قیمت فعلی محصول / خدمات استفاده AlwaysUseFixedPrice=استفاده از قیمت های ثابت -PriceByQuantity=قیمت با مقدار +PriceByQuantity=Different prices by quantity PriceByQuantityRange=دامنه تعداد ProductsDashboard=محصولات / خدمات خلاصه UpdateOriginalProductLabel=تغییر برچسب اصلی @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=تعریف نوع و مقدار با BarCodeDataForProduct=اطلاعات بارکد محصول٪ s را: BarCodeDataForThirdparty=اطلاعات بارکد از thirdparty٪ بازدید کنندگان: ResetBarcodeForAllRecords=تعريف ارزش بارکد برای همه سوابق (اين نيز به ارزش بارکد در حال حاضر با ارزش های جديد تعريف شده تنظيم مجدد) -PriceByCustomer=قيمت های مشتری +PriceByCustomer=Different price for each customer PriceCatalogue=قيمت منحصر به فرد در هر محصول / خدمات -PricingRule=قوانين قيمت گذاری +PricingRule=Rules for customer prices AddCustomerPrice=اضافه کردن قيمت های مشتريان ForceUpdateChildPriceSoc=همان قيمت تعيين شده در شرکت های تابعه مشتری PriceByCustomerLog=قيمت های ورود مشتری @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/fa_IR/projects.lang b/htdocs/langs/fa_IR/projects.lang index 841b7ab1a35..2606f870f39 100644 --- a/htdocs/langs/fa_IR/projects.lang +++ b/htdocs/langs/fa_IR/projects.lang @@ -3,6 +3,7 @@ RefProject=کد عکس. پروژه ProjectId=پروژه کد Project=پروژه Projects=پروژه ها +ProjectStatus=Project status SharedProject=هر کسی PrivateProject=اطلاعات تماس پروژه MyProjectsDesc=این دیدگاه محدود به پروژه شما یک تماس برای (هر چه باشد نوع) می باشد. @@ -11,7 +12,6 @@ ProjectsDesc=این دیدگاه ارائه تمام پروژه (مجوز دست MyTasksDesc=این دیدگاه به پروژه ها و یا کارهای شما تماس برای (هر چه باشد نوع) می باشد محدود است. TasksPublicDesc=این دیدگاه ارائه تمام پروژه ها و کارهای شما مجاز به خواندن. TasksDesc=این دیدگاه ارائه تمام پروژه ها و وظایف (مجوز دسترسی خود را به شما عطا اجازه دسترسی به همه چیز). -Myprojects=پروژه های من ProjectsArea=منطقه پروژه ها NewProject=پروژه های جدید AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=تماس با کلون CloneNotes=یادداشت کلون CloneProjectFiles=پروژه کلون فایل های پیوست CloneTaskFiles=کار کلون (بازدید کنندگان) فایل پیوست (در صورت کار (بازدید کنندگان) شبیه سازی شده) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=آیا مطمئن به کلون کردن این پروژه؟ ProjectReportDate=تاریخ کار تغییر بر اساس تاریخ شروع پروژه ErrorShiftTaskDate=غیر ممکن است به تغییر تاریخ کار با توجه به پروژه جدید تاریخ شروع diff --git a/htdocs/langs/fa_IR/sendings.lang b/htdocs/langs/fa_IR/sendings.lang index 0ecdd9a541a..de9d8feaa46 100644 --- a/htdocs/langs/fa_IR/sendings.lang +++ b/htdocs/langs/fa_IR/sendings.lang @@ -4,7 +4,8 @@ Sending=حمل Sendings=حمل و نقل Shipment=حمل Shipments=حمل و نقل -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=منطقه حمل و نقل ListOfSendings=فهرست محموله SendingMethod=روش حمل و نقل @@ -14,7 +15,7 @@ SearchASending=جستجو برای حمل و نقل StatisticsOfSendings=آمار برای محموله NbOfSendings=تعداد محموله NumberOfShipmentsByMonth=تعداد محموله های ماه -SendingCard=کارت حمل و نقل +SendingCard=Shipment card NewSending=حمل و نقل جدید CreateASending=ایجاد یک حمل و نقل CreateSending=ایجاد حمل و نقل @@ -37,7 +38,7 @@ StatusSendingCanceledShort=لغو شد StatusSendingDraftShort=پیش نویس StatusSendingValidatedShort=اعتبار StatusSendingProcessedShort=پردازش -SendingSheet=در حال ارسال ورق +SendingSheet=Shipment sheet Carriers=حمل Carrier=حامل CarriersArea=منطقه حامل @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=رویدادهای در حمل و نقل LinkToTrackYourPackage=لینک به پیگیری بسته بندی خود را ShipmentCreationIsDoneFromOrder=برای لحظه ای، ایجاد یک محموله های جدید از کارت منظور انجام می شود. -RelatedShippings=shippings های مرتبط +RelatedShippings=Related shipments ShipmentLine=خط حمل و نقل CarrierList=فهرست از حمل و نقل -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=گرفتن توسط مشتری diff --git a/htdocs/langs/fa_IR/stocks.lang b/htdocs/langs/fa_IR/stocks.lang index dff23d21bfa..0d849cdaf73 100644 --- a/htdocs/langs/fa_IR/stocks.lang +++ b/htdocs/langs/fa_IR/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=ارزش ساختمان و ذخیره سازی UserWarehouseAutoCreate=ایجاد یک انبار به طور خودکار در هنگام ایجاد یک کاربر QtyDispatched=تعداد اعزام +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=اعزام سهام RuleForStockManagementDecrease=قانون کاهش مدیریت سهام RuleForStockManagementIncrease=قانون برای افزایش مدیریت سهام @@ -59,7 +61,7 @@ ReStockOnValidateOrder=افزایش سهام واقعی در سفارشات تا ReStockOnDispatchOrder=افزایش سهام واقعی در اعزام کتابچه راهنمای کاربر به انبارها، بعد از دریافت سفارش کالا ReStockOnDeleteInvoice=افزایش سهام واقعی در حذف فاکتور OrderStatusNotReadyToDispatch=منظور هنوز رتبهدهی نشده است و یا بیشتر یک وضعیت است که اجازه می دهد تا اعزام از محصولات در انبارها سهام. -StockDiffPhysicTeoric=دلیل سهام تفاوت های فیزیکی و نظری +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=محصولات از پیش تعریف شده برای این شی. بنابراین بدون اعزام در انبار مورد نیاز است. DispatchVerb=اعزام StockLimitShort=محدود برای هشدار @@ -116,10 +118,15 @@ MassMovement=جنبش توده ای MassStockMovement=جنبش سهام توده SelectProductInAndOutWareHouse=انتخاب محصول، مقدار، یک انبار منابع و انبار هدف، و سپس کلیک کنید "٪ s". به محض این که برای همه جنبش های مورد نیاز انجام می شود، بر روی "٪ s" را کلیک کنید. RecordMovement=رکورد ی انتقال -ReceivingForSameOrder=Receivings برای این منظور +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=جنبش های سهام ثبت شده RuleForStockAvailability=قوانین مورد نیاز سهام StockMustBeEnoughForInvoice=سطح سهام باید به اندازه کافی برای اضافه کردن محصول / خدمات را به صورت حساب است StockMustBeEnoughForOrder=سطح سهام باید به اندازه کافی برای اضافه کردن محصول / خدمات به منظور شود StockMustBeEnoughForShipment= سطح سهام باید به اندازه کافی برای اضافه کردن محصول / خدمات را به حمل و نقل است - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/fa_IR/suppliers.lang b/htdocs/langs/fa_IR/suppliers.lang index 6b3644b6796..62cfdfdd084 100644 --- a/htdocs/langs/fa_IR/suppliers.lang +++ b/htdocs/langs/fa_IR/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=تولید کنندگان Supplier=تهیه کننده -AddSupplier=اضافه کردن یک تامین کننده +AddSupplier=Create a supplier SupplierRemoved=تامین کننده حذف SuppliersInvoice=تولید کنندگان صورتحساب NewSupplier=منبع جدید @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=هیچ و یا دسته ای از٪ s فرار ن SentToSuppliers=ارسال شده به تامین کنندگان ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/fa_IR/withdrawals.lang b/htdocs/langs/fa_IR/withdrawals.lang index 5262a10dba1..7f2492a9295 100644 --- a/htdocs/langs/fa_IR/withdrawals.lang +++ b/htdocs/langs/fa_IR/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=در اعتباری WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=نمایش برداشت IfInvoiceNeedOnWithdrawPaymentWontBeClosed=با این حال، اگر فاکتور حداقل یک عقب نشینی پرداخت هنوز پردازش نشده، آن را مجموعه ای به عنوان پرداخت می شود اجازه می دهد تا مدیریت خروج قبل. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=فایل برداشت SetToStatusSent=تنظیم به وضعیت "فایل ارسال شد" ThisWillAlsoAddPaymentOnInvoice=این نیز خواهد پرداخت به فاکتورها اعمال می شود و آنها را طبقه بندی به عنوان "پرداخت" diff --git a/htdocs/langs/fa_IR/workflow.lang b/htdocs/langs/fa_IR/workflow.lang index fb6feff33dc..957a2fecf37 100644 --- a/htdocs/langs/fa_IR/workflow.lang +++ b/htdocs/langs/fa_IR/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=راه اندازی ماژول گردش کار -WorkflowDesc=این ماژول طراحی شده است که به تغییر رفتار از اقدامات خودکار به برنامه. به طور پیش فرض، گردش کار باز می شود (شما را به چیزی که در شما می خواهید). شما می توانید اقدامات اتوماتیک است که می جالب شوید. فعال +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=هیچ گردش کار شما می توانید برای ماژول شما فعال شده است را تغییر دهید وجود دارد. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=ایجاد یک سفارش مشتری به طور خودکار پس از یک طرح تجاری امضا شده است descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=ایجاد یک فاکتور مشتری به طور خودکار پس از یک طرح تجاری امضا شده است diff --git a/htdocs/langs/fi_FI/accountancy.lang b/htdocs/langs/fi_FI/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/fi_FI/accountancy.lang +++ b/htdocs/langs/fi_FI/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/fi_FI/admin.lang b/htdocs/langs/fi_FI/admin.lang index 311fd107278..5096161d388 100644 --- a/htdocs/langs/fi_FI/admin.lang +++ b/htdocs/langs/fi_FI/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=Tämä on asetettu käsitellä: StepNb=Vaihe %s FindPackageFromWebSite=Etsi paketti, joka sisältää haluamasi toiminnon (esimerkiksi www-sivuston %s). -DownloadPackageFromWebSite=Lataa paketin web site %s. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Pura paketti tiedoston Dolibarr juurihakemistoon %s SetupIsReadyForUse=Asenna on päättynyt ja Dolibarr on valmis käyttämään tätä uutta komponenttia. NotExistsDirect=The alternative root directory is not defined.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Select module: CurrentVersion=Dolibarr nykyinen versio CallUpdatePage=Siirry sivun päivitykset tietokannan rakennetta ja datas %s. LastStableVersion=Viimeisin vakaa versio +UpdateServerOffline=Update server offline GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=Kaikki muut merkit ja maski pysyy ennallaan.
Välilyönnit eivät ole sallittuja.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Vienti interventioiden Permission71=Lue jäseniä Permission72=Luoda / muuttaa jäsenten Permission74=Poista jäseniä -Permission75=Setup tyyppejä ja attribuutteja jäsenille +Permission75=Setup types of membership Permission76=Vienti datas Permission78=Lue tilauksia Permission79=Luoda / muuttaa tilaukset @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Poista sendings Permission111=Lue tilinpäätös Permission112=Luoda / muuttaa / poistaa ja vertailla liiketoimet -Permission113=Setup financiel tilinpäätöksistä (luoda, hallita luokat) -Permission114=Yhdistä liiketoimet +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Vientitoimien ja tiliotteita Permission116=Siirrot tilien välillä Permission117=Hallitse sekkien lähettämistä @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Setup of lähetysten sähköpostitse SendmailOptionNotComplete=Varoitus, joissakin Linux-järjestelmissä, lähettää sähköpostia sähköpostisi, sendmail toteuttaminen setup on conatins optio-ba (parametri mail.force_extra_parameters tulee php.ini tiedosto). Jos jotkut vastaanottajat eivät koskaan vastaanottaa sähköposteja, yrittää muokata tätä PHP parametrin mail.force_extra_parameters =-ba). PathToDocuments=Polku asiakirjoihin PathDirectory=Directory -SendmailOptionMayHurtBuggedMTA=Ominaisuus lähettää sähköpostiviestejä käyttäen menetelmää "PHP mail suoraan" luo sähköpostiviestin, joka saattaa olla oikein jäsentää jotkut saavat sähköpostipalvelimia. Tulos on, että jotkut sähköpostit eivät voi lukea ihmisten isännöi thoose salakuunnella alustoilla. On kyse jostain Internet-palveluntarjoajien (Ex: Orange Ranskassa). Tämä ei ole ongelma tulee Dolibarr eikä osaksi PHP vaan päälle saa sähköpostipalvelimelle. Voit kuitenkin lisätä vaihtoehto MAIN_FIX_FOR_BUGGED_MTA 1 tulee setup - muuta muuttaa Dolibarr välttää. Kuitenkin saattaa ilmetä ongelmia muiden palvelimien mielessä tiukasti SMTP-standardin. Muut liuosta (Suositeltu) on käyttää menetelmää "SMTP liittimeen kirjasto", joka ei ole haittaa. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Validoimiseksi tilauksen jälkeen ehdotus lähempän FreeLegalTextOnOrders=Vapaa tekstihaku tilauksissa WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Napsauttamalla Dial-moduulin asetukset ClickToDialUrlDesc=Url kutsutaan kun napsautat puhelimen picto on tehty. Dans l'url, vous pouvez käytä les baliiseja
%% 1 $ s qui seerumien remplac par le tlphone de l'appelbr>%% 2 $ s qui seerumien remplac par le tlphone de l'appelant (le votre)
%% 3 $ s qui seerumien remplac par votre sisäänkirjoittautumissivuksesi clicktodial (dfini sur votre fiche utilisateur)
%% 4 $ s qui seerumien remplac par votre mot de elähtänyt clicktodial (dfini sur votre fiche utilisateur). @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=Sähköpostituksen moduulin asetukset MailingEMailFrom=Sender EMail (From) sähköpostiviestit lähetetään sähköpostitse moduuli MailingEMailError=Return Sähköpostiosoite (Virheet-to) koskevat sähköpostit virheistä +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Sender EMail (From) sähköpostiviestit lähetetään ilmoitukset @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Lähetysvalinnat-moduulin asetukset SendingsReceiptModel=Lähettävä vastaanottanut malli SendingsNumberingModules=Lähetysten numerointi moduulit -SendingsAbility=Tuki sendings piirturilevyt asiakas toimitukset +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=Useimmissa tapauksissa sendings tulot käytetään sekä piirturilevyt asiakas toimitukset (tuotteiden luettelon lähettää) ja levyt on recevied ja allekirjoittanut asiakas. Joten tuotteen toimitusten kuitit on kahdennettu ominaisuus ja se on harvoin käytössä. -FreeLegalTextOnShippings=Vapaa teksti tonnistoja +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Tuotteiden toimitukset vastaanottamisesta numerointiin moduuli DeliveryOrderModel=Tuotteiden toimitukset vastaanottamisesta malli @@ -1414,7 +1420,7 @@ AdvancedEditor=Kehittynyt editori ActivateFCKeditor=Ota FCKeditor varten: FCKeditorForCompany=WYSIWIG luominen / painos yritysten kuvaus ja huomaa FCKeditorForProduct=WYSIWIG luominen / painos tuotteiden / palvelujen kuvaus ja huomaa -FCKeditorForProductDetails=WYSIWIG luominen / painos tuotteiden details linjat kaikille yksiköille (ehdotukset, tilaukset, laskut, jne. ..)
Varoitus: Käytä tätä vaihtoehtoa ei vakavasti ole recommanded sillä se voi aiheuttaa ongelmia erikoismerkkejä ja sivujen muokkauksesta muodostaessasi PDF-tiedostoina. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG luominen / painos postitusten FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/fi_FI/agenda.lang b/htdocs/langs/fi_FI/agenda.lang index 88c4c033422..e7156ddf654 100644 --- a/htdocs/langs/fi_FI/agenda.lang +++ b/htdocs/langs/fi_FI/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Asiakas tilaa %s lähetetään sähköpostilla InvoiceSentByEMail=Asiakas lasku %s lähetetään sähköpostilla SupplierOrderSentByEMail=Toimittaja järjestys %s lähetetään sähköpostilla SupplierInvoiceSentByEMail=Toimittaja lasku %s lähetetään sähköpostilla -ShippingSentByEMail=Toimitus %s lähetetään sähköpostilla -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Kolmannen osapuolen luonut DateActionPlannedStart= SUUNNITELTU ALKAMISPÄIVÄ DateActionPlannedEnd= Suunniteltu lopetuspäivämäärää @@ -68,7 +69,7 @@ DateActionDoneEnd= Real lopetuspäivämäärää DateActionStart= Aloituspäivämäärä DateActionEnd= Lopetuspäivä AgendaUrlOptions1=Voit myös lisätä seuraavat parametrit suodattaa output: -AgendaUrlOptions2=login=login= %s rajoittaa tuotannon toimiin luotu, vaikuttaa tavalla tai tehdä käyttäjä %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=logint= %s rajoittaa tuotannon toimet vaikuttavat käyttäjän %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/fi_FI/banks.lang b/htdocs/langs/fi_FI/banks.lang index 7ece7788fe2..56fd08fead5 100644 --- a/htdocs/langs/fi_FI/banks.lang +++ b/htdocs/langs/fi_FI/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Tili FinancialAccounts=Tilit BankAccount=Pankkitili BankAccounts=Pankkitilit +ShowAccount=Show Account AccountRef=Rahoitustase ref AccountLabel=Rahoitustase etiketti CashAccount=Käteistili diff --git a/htdocs/langs/fi_FI/bills.lang b/htdocs/langs/fi_FI/bills.lang index 8bcaee8c4c9..01bdc48e34e 100644 --- a/htdocs/langs/fi_FI/bills.lang +++ b/htdocs/langs/fi_FI/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Lasku Bills=Laskut -BillsCustomers=Asiakkaiden laskut -BillsCustomer=Asiakkaan lasku -BillsSuppliers=Tavarantoimittajien lasku -BillsCustomersUnpaid=Maksamattomat asiakkaiden laskut +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Maksamattomat asiakkaiden laskut %s BillsSuppliersUnpaid=Maksamattomat toimittajien laskut BillsSuppliersUnpaidForCompany=Maksamattomat toimittajan laskut %s BillsLate=Maksuviivästykset -BillsStatistics=Asiakkaiden laskutilastot -BillsStatisticsSuppliers=Tavarantoimittajien laskutilastot +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Poistettu käytöstä koska ei voida poistaa InvoiceStandard=Oletuslasku InvoiceStandardAsk=Oletuslasku @@ -348,6 +348,7 @@ ChequeNumber=Cheque N ChequeOrTransferNumber=Cheque / Transfer N ChequeMaker=Tarkista lähettimen ChequeBank=Pankki sekki +CheckBank=Check NetToBePaid=Netin olisi maksettu PhoneNumber=Puh FullPhoneNumber=Puhelin @@ -388,7 +389,7 @@ DisabledBecausePayments=Ole mahdollista, koska on olemassa joitakin maksuja CantRemovePaymentWithOneInvoicePaid=Ei voi poistaa maksua koska siellä on ainakin laskulla luokiteltu maksanut ExpectedToPay=Odotettu maksu PayedByThisPayment=Maksanut tämän maksun -ClosePaidInvoicesAutomatically=Luokittele "maksanut" kaikki vakio-tai korvaavan laskuja entirely maksanut. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=Kaikki lasku ilman jää maksaa automaattisesti suljettu tila "maksanut". ToMakePayment=Pay @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Edustaja seurantaan toimittaj TypeContact_invoice_supplier_external_BILLING=Toimittajan lasku yhteystiedot TypeContact_invoice_supplier_external_SHIPPING=Toimittajan merenkulku yhteystiedot TypeContact_invoice_supplier_external_SERVICE=Toimittajan huoltoliikkeestä +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/fi_FI/compta.lang b/htdocs/langs/fi_FI/compta.lang index 2d006ade127..fdbf7890faa 100644 --- a/htdocs/langs/fi_FI/compta.lang +++ b/htdocs/langs/fi_FI/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Liikevaihto PaymentsNotLinkedToInvoice=Maksut eivät ole sidoksissa mihinkään lasku, joten ei liity mihinkään kolmannen osapuolen PaymentsNotLinkedToUser=Maksut eivät ole sidoksissa mihinkään käyttäjä Profit=Voitto +AccountingResult=Accounting result Balance=Saldo Debit=Debet Credit=Credit diff --git a/htdocs/langs/fi_FI/cron.lang b/htdocs/langs/fi_FI/cron.lang index 597852e41b8..305bf312025 100644 --- a/htdocs/langs/fi_FI/cron.lang +++ b/htdocs/langs/fi_FI/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL-osoite ajastettujen tehtävien tarkistamiseen ja ajamise OrToLaunchASpecificJob=Tai tietyn tehtävän tarkistamiseen ja ajamiseen KeyForCronAccess=Turva avain ajastettujen tehtävien ajamiseen URL-sta FileToLaunchCronJobs=Ajastettujen tehtävien komentorivi -CronExplainHowToRunUnix=Unix ympäristössä sinun tulee käyttää crontabia ajaaksesi komnetoriviä joka minuutti -CronExplainHowToRunWin=Microsoft(tm) Windows ympäristössä voit käyttää ajastetut tehtävät -työkalua ajaaksesi komentorivin minuuteittain +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/fi_FI/ecm.lang b/htdocs/langs/fi_FI/ecm.lang index 285e431fcdb..e724f7748e3 100644 --- a/htdocs/langs/fi_FI/ecm.lang +++ b/htdocs/langs/fi_FI/ecm.lang @@ -23,10 +23,10 @@ ECMNewDocument=Uusi asiakirja ECMCreationDate=Luontipäivämäärä ECMNbOfFilesInDir=Määrä tiedostoja hakemistossa ECMNbOfSubDir=Useita osa-hakemistoja -# ECMNbOfFilesInSubDir=Number of files in sub-directories +ECMNbOfFilesInSubDir=Number of files in sub-directories ECMCreationUser=Creator -# ECMArea=EDM area -# ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. +ECMArea=EDM area +ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. ECMAreaDesc2=* Automaattinen hakemistoja täyttyvät automaattisesti kun lisäät dokumentteja kortin osa.
* Manuaalinen hakemistojen avulla voidaan tallentaa asiakirjoja, joita ei ole sidottu tiettyyn osa. ECMSectionWasRemoved=Hakemiston %s on poistettu. ECMDocumentsSection=Asiakirja luettelopalvelujen @@ -35,14 +35,16 @@ ECMSearchByEntity=Etsi objekti ECMSectionOfDocuments=Hakemistot asiakirjoja ECMTypeManual=Manuaalinen ECMTypeAuto=Automaattinen -# ECMDocsBySocialContributions=Documents linked to social contributions +ECMDocsBySocialContributions=Documents linked to social contributions ECMDocsByThirdParties=Asiakirjat liittyy kolmansien osapuolten ECMDocsByProposals=Asiakirjat liittyvät ehdotukset ECMDocsByOrders=Asiakirjat liittyvät asiakkaiden tilauksia ECMDocsByContracts=Asiakirjat liittyvät sopimukset ECMDocsByInvoices=Liittyvien asiakirjojen asiakkaille laskuja ECMDocsByProducts=Asiakirjat liittyvät tuotteet -# ECMDocsByProjects=Documents linked to projects +ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=Ei hakemiston luonut ShowECMSection=Näytä hakemisto DeleteSection=Poista hakemistosta @@ -51,5 +53,5 @@ ECMDirectoryForFiles=Suhteellinen hakemiston tiedostoja CannotRemoveDirectoryContainsFiles=Poistetut ole mahdollista, koska se sisältää joitakin tiedostoja ECMFileManager=Tiedostonhallinta ECMSelectASection=Valitse hakemiston vasemmassa puu ... -# DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. +DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. diff --git a/htdocs/langs/fi_FI/errors.lang b/htdocs/langs/fi_FI/errors.lang index f685e4443c4..edbe3fa5f22 100644 --- a/htdocs/langs/fi_FI/errors.lang +++ b/htdocs/langs/fi_FI/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Setup moduulin näyttää olevan epätäydellisiä. ErrorBadMask=Virhe naamio ErrorBadMaskFailedToLocatePosOfSequence=Virhe, maski ilman järjestysnumeroa ErrorBadMaskBadRazMonth=Virhe, huono palautus arvo +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Error. Valitse ainakin yksi merkintä. ErrorProductWithRefNotExist=Tuotteen viitaten "%s" ei ole olemassa ErrorDeleteNotPossibleLineIsConsolidated=Poistaminen ei ole mahdollista, koska levy on sidottu pankin transation joka sovitelleet @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/fi_FI/install.lang b/htdocs/langs/fi_FI/install.lang index ed864f6244a..d1528d62722 100644 --- a/htdocs/langs/fi_FI/install.lang +++ b/htdocs/langs/fi_FI/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Muuttoliike valmis LastStepDesc=Viimeinen askel: Määritä tässä käyttäjätunnuksen ja salasanan aiot käyttää yhteyden ohjelmisto. Älä löysä tämä on tilin hallinnoida kaikkia muita. ActivateModule=Aktivoi moduuli %s ShowEditTechnicalParameters=Klikkaa tästä näyttääksesi/muuttaaksesi edistyneemmät parametrit (asiantuntija tila) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Päivitä aika sekunneissa MigrationActioncommElement=Päivitä tiedot toimista MigrationPaymentMode=Tiedot muuttoliike maksua tilassa MigrationCategorieAssociation=Kategorioiden siirto +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Näytä ei saatavilla olevat valinnat HideNotAvailableOptions=Piilota ei saatavilla olevat valinnat diff --git a/htdocs/langs/fi_FI/languages.lang b/htdocs/langs/fi_FI/languages.lang index 213d16cb5ff..d8fbb8da847 100644 --- a/htdocs/langs/fi_FI/languages.lang +++ b/htdocs/langs/fi_FI/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Saksa (Itävalta) Language_de_CH=German (Switzerland) Language_el_GR=Kreikkalainen Language_en_AU=Englanti (Australia) +Language_en_CA=English (Canada) Language_en_GB=Englanti (Yhdistynyt kuningaskunta) Language_en_IN=Englanti (Intia) Language_en_NZ=Englanti (Uusi-Seelanti) diff --git a/htdocs/langs/fi_FI/main.lang b/htdocs/langs/fi_FI/main.lang index 6a9d1d51cda..9df855ba004 100644 --- a/htdocs/langs/fi_FI/main.lang +++ b/htdocs/langs/fi_FI/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd.MM.yyyy FormatDateShortJavaInput=dd.MM.yyyy FormatDateShortJQuery=dd.mm.yy FormatDateShortJQueryInput=dd.mm.yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H.%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d. %b %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Virhe, ei tallenna tiedosto. SetDate=Aseta päivä SelectDate=Valitse päivä SeeAlso=See also %s +SeeHere=See here BackgroundColorByDefault=Default taustaväri FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=Käyttäjä Users=Käyttäjät Group=Ryhmä Groups=Ryhmät +NoUserGroupDefined=No user group defined Password=Salasana PasswordRetype=Kirjoitta salasana uudelleen NoteSomeFeaturesAreDisabled=Huomaa, että monet piirteet / modules on poistettu käytöstä tämän esittelyn. @@ -258,6 +261,7 @@ days=päivää Hours=Tuntia Minutes=Minuuttia Seconds=Sekuntia +Weeks=Weeks Today=Tänään Yesterday=Eilen Tomorrow=Huomenna @@ -683,6 +687,7 @@ XMoreLines=%s rivi(ä) piilossa PublicUrl=Julkinen URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Maanantai Tuesday=Tiistai diff --git a/htdocs/langs/fi_FI/margins.lang b/htdocs/langs/fi_FI/margins.lang index 157c88b9941..4836c72cf6d 100644 --- a/htdocs/langs/fi_FI/margins.lang +++ b/htdocs/langs/fi_FI/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Tuote tai palvelu AllProducts=Kaikki tuotteet ja palvelut ChooseProduct/Service=Valitse tuote tai palvelu diff --git a/htdocs/langs/fi_FI/orders.lang b/htdocs/langs/fi_FI/orders.lang index e0ccee7ebb4..dade4367732 100644 --- a/htdocs/langs/fi_FI/orders.lang +++ b/htdocs/langs/fi_FI/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Toimittaja jotta SuppliersOrders=Toimittajien tilaukset SuppliersOrdersRunning=Nykyinen toimittajien tilaukset CustomerOrder=Asiakas jotta -CustomersOrders=Asiakkaiden tilausten +CustomersOrders=Customers orders CustomersOrdersRunning=Nykyisten asiakkaiden tilausten CustomersOrdersAndOrdersLines=Asiakkaan tilaukset ja tilaukset "linjat -OrdersToValid=Tilauksia voimassa -OrdersToBill=Tilaukset laskuttaa -OrdersInProcess=Tilaukset prosessi -OrdersToProcess=Tilausten käsittely +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Toimittajan tilauksia käsitellä StatusOrderCanceledShort=Peruutettu StatusOrderDraftShort=Vedos StatusOrderValidatedShort=Validoidut StatusOrderSentShort=Meneillään StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Prosessissa +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Jalostettu StatusOrderToBillShort=Bill StatusOrderToBill2Short=Bill @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Kaikki saivat StatusOrderCanceled=Peruutettu StatusOrderDraft=Luonnos (on vahvistettu) StatusOrderValidated=Validoidut -StatusOrderOnProcess=Prosessissa +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Jalostettu StatusOrderToBill=Bill StatusOrderToBill2=Bill @@ -50,6 +50,8 @@ StatusOrderRefused=Kieltäydytty StatusOrderReceivedPartially=Osittain saanut StatusOrderReceivedAll=Kaikki saivat ShippingExist=Lähetys olemassa +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Esitys tai hyväksytty ei vielä määrännyt DraftOrWaitingShipped=Esitys tai validoitua ole vielä lähetetty MenuOrdersToBill=Tilaukset laskuttaa diff --git a/htdocs/langs/fi_FI/productbatch.lang b/htdocs/langs/fi_FI/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/fi_FI/productbatch.lang +++ b/htdocs/langs/fi_FI/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/fi_FI/products.lang b/htdocs/langs/fi_FI/products.lang index aa890f3d6fa..0839abf00df 100644 --- a/htdocs/langs/fi_FI/products.lang +++ b/htdocs/langs/fi_FI/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Kirjanpidon koodi (myydä) ProductOrService=Tuote tai palvelu ProductsAndServices=Tuotteet ja palvelut ProductsOrServices=Tuotteet tai palvelut -ProductsAndServicesOnSell=Myytävät Tuotteet ja Palvelut -ProductsAndServicesNotOnSell=Ei myytävät Tuotteet ja palvelut +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Tuotteiden ja Palveluiden tilastot ProductsStatistics=Tuotteiden tilastot -ProductsOnSell=Myytävät Tuotteet -ProductsNotOnSell=Ei Myytävät Tuotteet -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Myytävät palvelut -ServicesNotOnSell=Ei Myytävät Palvelut -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Sisäinen viite LastRecorded=Uusimmat tuotteet / palvelut myydä kirjataan LastRecordedProductsAndServices=Viimeisin %s kirjataan tuotteet / palvelut @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/fi_FI/projects.lang b/htdocs/langs/fi_FI/projects.lang index b63e1c65861..17674103313 100644 --- a/htdocs/langs/fi_FI/projects.lang +++ b/htdocs/langs/fi_FI/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Hanke Projects=Projektit +ProjectStatus=Project status SharedProject=Yhteiset hanke PrivateProject=Yhteystiedot Hankkeen MyProjectsDesc=Tämä näkemys on vain hankkeisiin olet yhteyshenkilö (mikä on tyyppi). @@ -11,7 +12,6 @@ ProjectsDesc=Tämä näkemys esitetään kaikki hankkeet (käyttäjäoikeuksien MyTasksDesc=Tämä näkemys on vain hankkeisiin tai tehtäviä olet yhteyshenkilö (mikä on tyyppi). TasksPublicDesc=Tämä näkemys esitetään kaikki hankkeet ja tehtävät sinulla voi lukea. TasksDesc=Tämä näkemys esitetään kaikki hankkeet ja tehtävät (käyttäjäoikeuksien antaa sinulle luvan katsella kaikkea). -Myprojects=Omat hankkeet ProjectsArea=Projektit alueella NewProject=Uusi projekti AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/fi_FI/sendings.lang b/htdocs/langs/fi_FI/sendings.lang index 01f15eedb3b..b1eaea2a4db 100644 --- a/htdocs/langs/fi_FI/sendings.lang +++ b/htdocs/langs/fi_FI/sendings.lang @@ -4,7 +4,8 @@ Sending=Lähettävä Sendings=Sendings Shipment=Lähettävä Shipments=Toimitukset -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Sendings alueella ListOfSendings=Luettelo sendings SendingMethod=Lähetysvalinnat menetelmä @@ -14,7 +15,7 @@ SearchASending=Haku lähettävä StatisticsOfSendings=Tilastot sendings NbOfSendings=Lukumäärä sendings NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Lähetysvalinnat-kortti +SendingCard=Shipment card NewSending=Uusi lähettäminen CreateASending=Luo lähettäminen CreateSending=Luo lähettäminen @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Peruttu StatusSendingDraftShort=Vedos StatusSendingValidatedShort=Validoidut StatusSendingProcessedShort=Jalostettu -SendingSheet=Lähetysvalinnat arkin +SendingSheet=Shipment sheet Carriers=Varustamot Carrier=Carrier CarriersArea=Liikenteenharjoittajia alueella @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Tapahtumat lähetystä LinkToTrackYourPackage=Linkki seurata pakettisi ShipmentCreationIsDoneFromOrder=Tällä hetkellä uuden lähetys tehdään tilauksesta kortin. -RelatedShippings=Related shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Saalis asiakas diff --git a/htdocs/langs/fi_FI/stocks.lang b/htdocs/langs/fi_FI/stocks.lang index 10d541d3d1b..f41c19262d0 100644 --- a/htdocs/langs/fi_FI/stocks.lang +++ b/htdocs/langs/fi_FI/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Varastot arvo UserWarehouseAutoCreate=Luo varastossa automaattisesti luoda käyttäjä QtyDispatched=Määrä lähetysolosuhteita +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Tilaa lähetyskeskukset RuleForStockManagementDecrease=Sääntö varaston hallintaan lasku RuleForStockManagementIncrease=Sääntö varaston hallintaan lisätä @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Lisäys todellinen varastot tilaukset toteaa ReStockOnDispatchOrder=Lisäys real varastot käsikirja lähettämistä osaksi varastot, kun toimittaja voidaan vastaanottaa ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=Tilaa ei ole vielä tai enää asema, joka mahdollistaa lähettäminen varastossa olevista tuotteista varastoissa. -StockDiffPhysicTeoric=Syy ero kannan fyysinen ja teoreettinen +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Ei ennalta tuotteet tämän objektin. Joten ei lähettämistä varastossa on. DispatchVerb=Lähettäminen StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/fi_FI/suppliers.lang b/htdocs/langs/fi_FI/suppliers.lang index 034f9fd1652..cdb12ae7d8b 100644 --- a/htdocs/langs/fi_FI/suppliers.lang +++ b/htdocs/langs/fi_FI/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Tavarantoimittajat Supplier=Toimittaja -AddSupplier=Lisää toimittaja +AddSupplier=Create a supplier SupplierRemoved=Toimittaja poistettu SuppliersInvoice=Tavarantoimittajan lasku NewSupplier=Uudsi toimittaja @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Ei mitään tai erän %s ei juoksi hiljattain SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/fi_FI/withdrawals.lang b/htdocs/langs/fi_FI/withdrawals.lang index 9b24ab1f9d3..029f4b2a20b 100644 --- a/htdocs/langs/fi_FI/withdrawals.lang +++ b/htdocs/langs/fi_FI/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Luottoa WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Näytä Nosta IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Kuitenkin, jos lasku on ainakin yksi poistamista määrä ei kuitenkaan ole vielä käsitelty, sitä ei voida määrittää koska maksoivat sallimaan hallita poistettaviksi. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/fi_FI/workflow.lang b/htdocs/langs/fi_FI/workflow.lang index 5e99390d899..57bedccdd48 100644 --- a/htdocs/langs/fi_FI/workflow.lang +++ b/htdocs/langs/fi_FI/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow-moduuli asennus -WorkflowDesc=Tämä moduuli on designed muuttaa käyttäytymistä automaattisen toimien soveltamisen. Oletuksena työnkulku avataan (teet asian, jotta haluat). Voit käyttöön automaattiset toiminnot, jotka ovat mielenkiintoisia sisään +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Ei työnkulkua voi muokata moduulien olet aktivoinut. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Luominen asiakkaan tilauksen automaattisesti kaupallinen ehdotus on allekirjoitettu descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Luo asiakkaalle laskun automaattisesti kaupallinen ehdotus on allekirjoitettu descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Luo asiakkaalle laskun automaattisesti sopimus on vahvistettu descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Luo asiakkaalle laskun automaattisesti asiakkaan tilauksen suljetaan -# descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/fr_FR/accountancy.lang b/htdocs/langs/fr_FR/accountancy.lang index 4ba112f6ba7..8cf990b17a4 100644 --- a/htdocs/langs/fr_FR/accountancy.lang +++ b/htdocs/langs/fr_FR/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration du module comptabilité expert Journaux=Journaux JournalFinancial=Journaux financiers Exports=Exports +Export=Export Modelcsv=Modèle d'export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Sélectionner un modèle d'export Modelcsv_normal=Export standard Modelcsv_CEGID=Export vers CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Ligne de la facture VentilatedinAccount=Ventilé avec succès dans le compte comptable NotVentilatedinAccount=Non ventilé dans le compte comptable -ACCOUNTING_SEPARATORCSV=Séparateur CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Nombre d'éléments à ventiler affichés par page (maximum conseillé : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Commencer le tri des pages de ventilation "A ventiler" par les éléments les plus récents diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 4397bb313fa..355878e9901 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Ne pas utiliser en production ThisIsProcessToFollow=Voici la procédure à suivre : StepNb=Étape %s FindPackageFromWebSite=Recherche le paquet qui répond à votre besoin (par exemple sur le site web %s). -DownloadPackageFromWebSite=Télécharger le paquet. +DownloadPackageFromWebSite=Télécharger le package %s. UnpackPackageInDolibarrRoot=Décompresser le paquet dans le répertoire racine de Dolibarr %s par dessus les fichiers existants (sans déplacer ou effacer cet existant sous peine de perdre sa configuration ou les modules non officiels installés) SetupIsReadyForUse=L'installation est terminée et Dolibarr est prêt à être utilisé avec le nouveau composant. NotExistsDirect=Il n'y a pas répertoire alternatif.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Sélectionner le module : CurrentVersion=Version actuelle de Dolibarr CallUpdatePage=Aller à la page de mise à jour de la structure et des données de la base : %s. LastStableVersion=Dernière version stable disponible +UpdateServerOffline=Serveur de mise à jour hors ligne GenericMaskCodes=Vous pouvez saisir tout masque de numérotation. Dans ce masque, les balises suivantes peuvent être utilisées:
{000000} correspond à un numéro qui sera incrémenté à chaque %s. Mettre autant de zéro que la longueur désirée du compteur. Le compteur sera complété par des 0 à gauche afin d'avoir autant de zéro que dans le masque.
{000000+000} idem que précédemment mais un décalage correspondant au nombre à droite du + est appliqué dès la première %s.
{000000@x} idem que précédemment mais le compteur est remis à zéro le xème mois de l'année (x entre 1 et 12, ou 0 pour utiliser le mois de début d'exercice fiscal défini dans votre configuration, ou 99 pour remise à zéro chaque mois). Si cette option est utilisée et x vaut 2 ou plus, alors la séquence {yy}{mm} ou {yyyy}{mm} est obligatoire.
{dd} jour (01 à 31).
{mm} mois (01 à 12).
{yy}, {yyyy} ou {y} année sur 2, 4 ou 1 chiffres.
GenericMaskCodes2={cccc} le code client sur n lettres
{cccc000} le code client sur n lettres est suivi d'un compteur propre au client. Ce compteur propre au client est aussi remis à zéro en même temps que le compteur global.
{tttt} Le code du type de tiers sur n caractères (voir dictionnaires-types de tiers).
GenericMaskCodes3=Tout autre caractère dans le masque sera laissé inchangé.
Les espaces ne sont pas permis.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Liste issue d'une table ExtrafieldSeparator=Séparateur de champ ExtrafieldCheckBox=Case à cocher ExtrafieldRadio=Bouton radio +ExtrafieldCheckBoxFromList= Liste à cocher issue d'une table ExtrafieldParamHelpselect=La liste doit être de la forme clef,valeur

par exemple :
1,valeur1
2,valeur2
3,valeur3
...

Pour que la liste soit dépendante d'une autre :
1,valeur1|code_liste_parent:clef_parent
2,valeur2|code_liste_parent:clef_parent ExtrafieldParamHelpcheckbox=La liste doit être de la forme clef,valeur

par exemple :
1,valeur1
2,valeur2
3,valeur3
... ExtrafieldParamHelpradio=La liste doit être de la forme clef,valeur

par exemple :
1,valeur1
2,valeur2
3,valeur3
... ExtrafieldParamHelpsellist=La liste vient d'une table
Syntaxe:
nom_de_table:nom_de_champ:id_champ::filtre
Exemple :
c_typent:libelle:id::filter

filter peux être un test simple (exemple active=1 pour ne proposer que les valeur active)
si vous voulez faire un filtre sur des attributs supplémentaires, utilisez la syntax extra.champ=... (où champ est la code de l'attribut supplémentaire)

Pour que la liste soit dépendante d'une autre :
c_typent:libelle:id:code_liste_parent|colonne_parent:filter +ExtrafieldParamHelpchkbxlst=La liste vient d'une table
Syntaxe: nom_de_table:nom_de_champ:id_champ::filtre
Exemple : c_typent:libelle:id::filter

filter peux être un test simple (exemple active=1 pour ne proposer que les valeur active)
si vous voulez faire un filtre sur des attributs supplémentaires, utilisez la syntax extra.champ=... (où champ est la code de l'attribut supplémentaire)

Pour que la liste soit dépendante d'une autre :
c_typent:libelle:id:code_liste_parent|colonne_parent:filter LibraryToBuildPDF=Bibliothèque utilisée pour la génération des PDF WarningUsingFPDF=Attention : votre fichier conf.php contient la directive dolibarr_pdf_force_fpdf=1. Cela signifie que vous utilisez la librairie FPDF pour générer vos fichiers PDF. Cette librairie est ancienne et ne couvre pas de nombreuses fonctionnalités (Unicode, transparence des images, langues cyrilliques, arabes ou asiatiques...), aussi vous pouvez rencontrer des problèmes durant la génération des PDF.
Pour résoudre cela et avoir une prise en charge complète de PDF, vous pouvez télécharger la bibliothèque TCPDF puis commenter ou supprimer la ligne $dolibarr_pdf_force_fpdf=1, et ajouter à la place $dolibarr_lib_TCPDF_PATH='chemin_vers_TCPDF' LocalTaxDesc=Certains pays appliquent 2 voire 3 taux sur chaque ligne de facture. Si c'est le cas, choisissez le type du deuxième et troisième taux et sa valeur. Les types possibles sont:
1 : taxe locale sur les produits et services hors tva (la tva n'est pas appliquée sur la taxe locale)
2 : taxe locale sur les produits et services avant tva (la tva est appliquée sur le montant + la taxe locale)
3 : taxe locale uniquement sur les produits hors tva (la tva n'est pas appliquée sur la taxe locale)
4 : taxe locale uniquement sur les produits avant tva (la tva est appliquée sur le montant + la taxe locale)
5 : taxe locale uniquement sur les services hors tva (la tva n'est pas appliquée sur la taxe locale)
6 : taxe locale uniquement sur les service avant tva (la tva est appliquée sur le montant + la taxe locale) @@ -572,7 +575,7 @@ Permission67=Exporter les interventions Permission71=Consulter les fiches adhérents Permission72=Créer/modifier les adhérents Permission74=Supprimer les adhérents -Permission75=Configurer les types et attributs des adhérents +Permission75=Configurer les types d'adhérents Permission76=Exporter les adhérents Permission78=Consulter les cotisations Permission79=Créer/modifier les cotisations @@ -596,7 +599,7 @@ Permission109=Supprimer les expéditions Permission111=Consulter les comptes financiers (comptes bancaires, caisses) Permission112=Créer/modifier montant/supprimer écritures bancaires Permission113=Configurer les comptes financiers (créer, gérer les catégories) -Permission114=Rapprocher les écritures bancaires +Permission114=Rapprocher les transactions Permission115=Exporter transactions et relevés Permission116=Saisir virements entre comptes Permission117=Gérer les dépots en banque de chèques reçus @@ -761,6 +764,7 @@ Permission55001=Lire sondages Permission55002=Créer/modifier les sondages Permission59001=Consulter les propositions commerciales Permission59002=Saisir les marges commerciales +Permission59003=Peut lire les marges de tout le monde DictionaryCompanyType=Type de Tiers DictionaryCompanyJuridicalType=Formes juridiques des Tiers DictionaryProspectLevel=Niveau de potentiel des prospects @@ -1038,7 +1042,7 @@ SendingMailSetup=Configuration de l'envoi par email SendmailOptionNotComplete=Attention, sur certains systèmes Linux, avec cette méthode d'envoi, pour pouvoir envoyer des emails en votre nom, la configuration d'exécution de sendmail doit contenir l'option -ba (paramètre mail.force_extra_parameters dans le fichier php.ini). Si certains de vos destinataires ne reçoivent pas de message, essayer de modifier ce paramètre PHP avec mail.force_extra_parameters = -ba. PathToDocuments=Chemin d'accès aux documents PathDirectory=Répertoire -SendmailOptionMayHurtBuggedMTA=La fonction d'envoi d'emails par la méthode « email PHP directe » génère une requête email qui peut être mal interprété par certains serveurs de réception de mail présentant un défaut. Cela se traduit par des mails non lisibles chez les personnes hébergés par ces plateformes défectueuses. C'est le cas des clients de certains fournisseurs d'accès internet (Ex : Orange). Ce n'est un problème ni dans Dolibarr ni dans PHP mais sur le serveur de réception. Vous pouvez toutefois ajouter l'option MAIN_FIX_FOR_BUGGED_MTA à 1 dans configuration - divers pour modifier Dolibarr afin de compenser ce défaut. Toutefois ce sont les serveurs respectueux du standard d'envoi d'email qui pourront avoir des problèmes. L'autre solution (recommandée) est d'utiliser la méthode d'envoi SMTP socket library qui n'a aucun de ces inconvénients. +SendmailOptionMayHurtBuggedMTA=La fonction d'envoi de mails par la méthode "PHP mail directe" génère un message mail qui peut être mal interprété par certains serveurs mal configurés de réception de mail. Cela se traduit par des mails non lisibles chez les personnes hébergés par ces plateformes boguées. C'est le cas des clients de certains fournisseurs d'accès internet (Ex: Orange). Ce n'est pas un problème, ni dans Dolibarr ni dans PHP mais sur le serveur de réception. Vous pouvez toutefois ajouter l'option MAIN_FIX_FOR_BUGGED_MTA à 1 dans configuration - divers pour modifier Dolibarr afin de compenser le bug. Toutefois ce sont les serveurs respectueux du standard d'envoi de mail qui pourront avoir des problèmes. L'autre solution (recommandée) est d'utiliser la méthode d'envoi SMTP socket library qui n'a aucun de ces inconvénients. TranslationSetup=Configuration de la traduction TranslationDesc=Le choix de la langue affichée à l'écran se modifie:
* Soit de manière globale depuis le menu Accueil - Configuration - Affichage
* Soit de manière spécifique à l'utilisateur depuis l'onglet Interface utilisateur de sa fiche utilisateur (cliquer sur l'identifiant en haut de l'écran). TotalNumberOfActivatedModules=Nombre total de modules fonctionnels activés: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=Vous utilisez le navigateur %s. Ce navigateur est réputé optimisé BrowserIsKO=Vous utilisez le navigateur %s. Ce navigateur est déconseillé pour des raisons de sécurité, performance et qualité des pages restituées. Nous vous recommandons d'utiliser Firefox, Chrome, Opera ou Safari. XDebugInstalled=XDebug est chargé. XCacheInstalled=XCache est chargé. -AddRefInList=Afficher le code client/fournisseur dans les listes (déroulante ou autocomplétion) et dans la plupart des hyperliens +AddRefInList=Afficher les références client/fournisseur dans les listes (listes déroulantes ou à autocomplétion) et les libellés des liens clickables. Les tiers apparaîtront alors sous la forme "CC12345 - SC45678 - La big company coorp", au lieu de "La big company coorp". FieldEdition=Édition du champ %s FixTZ=Correction du fuseau horaire FillThisOnlyIfRequired=Exemple: +2 (ne remplir que si un décalage d'heure est constaté dans l'export) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Valider la commande après la clôture de la proposi FreeLegalTextOnOrders=Mention complémentaire sur les commandes WatermarkOnDraftOrders=Filigrane sur les brouillons de commandes (aucun si vide) ShippableOrderIconInList=Ajouter un icône dans la liste des commandes qui indique si la commande est expédiable. +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Demander le compte bancaire cible durant la commande ##### Clicktodial ##### ClickToDialSetup=Configuration du module Click To Dial ClickToDialUrlDesc=URL appelée lors d'un clic sur le pictogramme téléphone. Dans l'URL, vous pouvez utiliser les balises
__PHONETO__ qui sera remplacée par le téléphone de l'appelé
__PHONEFROM__ qui sera remplacée par le téléphone de l'appelant (le votre, défini sur votre fiche utilisateur)
__LOGIN__ qui sera remplacée par votre identifiant clicktodial (défini sur votre fiche utilisateur)
__PASS__ qui sera remplacée par votre mot de passe clicktodial (défini sur votre fiche utilisateur). @@ -1392,6 +1397,7 @@ RSSUrlExample=Mon flux RSS MailingSetup=Configuration du module Emailing MailingEMailFrom=Email émetteur (From) des emails envoyés par Emailing MailingEMailError=Email retour (Errors-to) pour les réponses lors des envois par Emailing en erreur +MailingDelay=Temps d'attente, en seconde, avant d'envoyer le prochain message ##### Notification ##### NotificationSetup=Configuration du module notification par email NotificationEMailFrom=Adresse émettrice (From) des emails envoyés lors des notifications @@ -1401,9 +1407,9 @@ FixedEmailTarget=Email fixe cible destinataires SendingsSetup=Configuration du module Expédition/Livraison SendingsReceiptModel=Modèles de bordereau d'expédition SendingsNumberingModules=Modèles de numérotation des expéditions -SendingsAbility=Prise en charge des bons d'expédition/livraison vers le client +SendingsAbility=Prise en charge des bons d'expédition vers le client NoNeedForDeliveryReceipts=Dans la plupart des cas, ce sont les bons d'expédition/livraison (liste des produits à envoyer par le transporteur) qui font office de bons de réception et qui sont signés par le client. La gestion des bons de réception fait donc double emploi et sera rarement activée. -FreeLegalTextOnShippings=Mention complémentaire sur les bons d'expéditions +FreeLegalTextOnShippings=Mention complémentaire sur les expéditions ##### Deliveries ##### DeliveryOrderNumberingModules=Modèle de numérotation des bons de réception client DeliveryOrderModel=Modèle de bon de réception client @@ -1414,7 +1420,7 @@ AdvancedEditor=Editeur avancé ActivateFCKeditor=Activer l'éditeur avancé pour : FCKeditorForCompany=Création/édition WYSIWIG de la description et note des éléments (autre que produits/services) FCKeditorForProduct=Création/édition WYSIWIG de la description et note des produits/services -FCKeditorForProductDetails=Création/édition WYSIWIG des lignes détails produits (sur commandes, propositions commerciales, factures, etc…). Attention : L'utilisation pour ce cas est fortement déconseillée car peut poser des problèmes de gestion des caractères et de mise en page des fichiers PDF générés. +FCKeditorForProductDetails=Création/édition WYSIWIG des lignes détails produits sur tous les éléments (commandes, propales, factures, etc...). Attention: L'utilisation pour ce cas est fortement déconseillée car peut poser des problèmes dans la gestion de caractères et mise en page des fichiers PDF générés. FCKeditorForMailing= Création/édition WYSIWIG des emailings (Outils->Emailings) FCKeditorForUserSignature=Création/édition WYSIWIG de la signature des utilisateurs FCKeditorForMail=Création/édition WYSIWIG tous les emails (sauf Outils->Emailings) @@ -1562,3 +1568,4 @@ SalariesSetup=Configuration du module salariés SortOrder=Ordre de tri Format=Format TypePaymentDesc=0:Type de paiement client, 1:Type de paiement fournisseur, 2:Paiement de type client et fournisseur +IncludePath=Chemin Include (définir dans la variable %s) diff --git a/htdocs/langs/fr_FR/agenda.lang b/htdocs/langs/fr_FR/agenda.lang index bd3c25da359..c29e782ab94 100644 --- a/htdocs/langs/fr_FR/agenda.lang +++ b/htdocs/langs/fr_FR/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Commande client %s envoyée par email InvoiceSentByEMail=Facture client %s envoyée par eMail SupplierOrderSentByEMail=Commande fournisseur %s envoyée par email SupplierInvoiceSentByEMail=Facture fournisseur %s envoyée par email -ShippingSentByEMail=Bon d'expédition %s envoyé par email +ShippingSentByEMail=Bon expédition %s envoyé par EMail ShippingValidated= Expédition %s validée +InterventionSentByEMail=Intervention %s envoyée par EMail NewCompanyToDolibarr= Tiers créé DateActionPlannedStart= Date de début de réalisation prévue DateActionPlannedEnd= Date de fin de réalisation prévue @@ -68,7 +69,7 @@ DateActionDoneEnd= Date de fin de réalisation réelle DateActionStart= Date de début DateActionEnd= Date de fin AgendaUrlOptions1=Vous pouvez aussi ajouter les paramètres suivants pour filtrer les réponses : -AgendaUrlOptions2=login=%s pour limiter l'export aux actions créées, affectées ou réalisées par l'utilisateur %s. +AgendaUrlOptions2=login=%s pour limiter l'export aux actions créées par ou assignées à l'utilisateur %s. AgendaUrlOptions3=logina=%s pour limiter l'export aux actions dont l'utilisateur %s est propriétaire. AgendaUrlOptions4=logint=%s pour limiter l'export aux actions affectées à l'utilisateur %s. AgendaUrlOptionsProject=project=PROJECT_ID pour restreindre aux écévements associés au projet PROJECT_ID. diff --git a/htdocs/langs/fr_FR/banks.lang b/htdocs/langs/fr_FR/banks.lang index 7bffc537aea..930487955e3 100644 --- a/htdocs/langs/fr_FR/banks.lang +++ b/htdocs/langs/fr_FR/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Compte FinancialAccounts=Comptes BankAccount=Compte bancaire BankAccounts=Comptes bancaires +ShowAccount=Afficher compte AccountRef=Ref compte financier AccountLabel=Libellé compte financier CashAccount=Compte caisse/liquide @@ -30,7 +31,7 @@ FutureBalance=Solde futur ShowAllTimeBalance=Afficher solde depuis début AllTime=Depuis le début Reconciliation=Rapprochement -RIB=Numéro compte +RIB=Numéro de compte bancaire IBAN=Identifiant IBAN BIC=Identifiant BIC/SWIFT StandingOrders=Prélèvements @@ -124,7 +125,7 @@ ConfirmDeleteCheckReceipt=Êtes-vous sûr de vouloir supprimer ce bordereau ? BankChecks=Chèques BankChecksToReceipt=Chèques à déposer ShowCheckReceipt=Afficher bordereau remise chèque -NumberOfCheques=Nb de chèques +NumberOfCheques=Nombre de chèques DeleteTransaction=Supprimer l'écriture ConfirmDeleteTransaction=Êtes-vous sûr de vouloir supprimer cette écriture ? ThisWillAlsoDeleteBankRecord=Ceci supprimera aussi les écritures bancaires générées @@ -149,7 +150,7 @@ FutureTransaction=Transaction future. Pas moyen de concilier. SelectChequeTransactionAndGenerate=Sélectionner/filtrer les chèques à inclure dans le bordereau de remise et cliquer sur "Créer". InputReceiptNumber=Saisissez le relevé bancaire concerné par le rapprochement. Utilisez une valeur numérique triable (par exemple YYYYMM) EventualyAddCategory=Eventuellement, saisissez une catégorie dans laquelle classer les écritures -ToConciliate=A rapprocher ? +ToConciliate=À rapprocher ? ThenCheckLinesAndConciliate=Ensuite, cochez les lignes présentes sur le relevé et cliquez sur BankDashboard=Synthèse comptes bancaires DefaultRIB=RIB par défaut diff --git a/htdocs/langs/fr_FR/bills.lang b/htdocs/langs/fr_FR/bills.lang index 24ebe5ff923..f6493015cc3 100644 --- a/htdocs/langs/fr_FR/bills.lang +++ b/htdocs/langs/fr_FR/bills.lang @@ -2,7 +2,7 @@ Bill=Facture Bills=Factures BillsCustomers=Factures clients -BillsCustomer=Factures client +BillsCustomer=Facture client BillsSuppliers=Factures fournisseurs BillsCustomersUnpaid=Factures clients impayées BillsCustomersUnpaidForCompany=Factures clients impayées pour %s @@ -348,6 +348,7 @@ ChequeNumber=Chèque N° ChequeOrTransferNumber=Chèque/Virement N° ChequeMaker=Emetteur du chèque ChequeBank=Banque du chèque +CheckBank=Chèque NetToBePaid=Net à payer PhoneNumber=Tél FullPhoneNumber=Téléphone @@ -388,7 +389,7 @@ DisabledBecausePayments=Non disponible car il existe des paiements CantRemovePaymentWithOneInvoicePaid=Suppression impossible quand il existe au moins une facture classée payée. ExpectedToPay=Paiement attendu PayedByThisPayment=Règlé par ce paiement -ClosePaidInvoicesAutomatically=Classer automatiquement à "Payé" les factures standards et de remplacement entièrement payées. +ClosePaidInvoicesAutomatically=Classer "Payées" touts les factures standards ou de remplacements ayant un reste à payer nul ClosePaidCreditNotesAutomatically=Classer automatiquement à "Payé" les factures avoirs entièrement remboursées. AllCompletelyPayedInvoiceWillBeClosed=Toutes les factures avec un reste à payer nul seront automatiquement fermées au statut "Payé". ToMakePayment=Payer @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Responsable suivi facture fou TypeContact_invoice_supplier_external_BILLING=Contact fournisseur facturation TypeContact_invoice_supplier_external_SHIPPING=Contact fournisseur livraison TypeContact_invoice_supplier_external_SERVICE=Contact fournisseur prestation +# Situation invoices +InvoiceFirstSituationAsk=Première facture de situation +InvoiceFirstSituationDesc=Les factures de situation sont des factures établies en fonction d'un état d'avancement, par exemple, une progression de construction de bâtiment. Chaque point de situation donne lieu à une facture. +InvoiceSituation=Facture de situation +InvoiceSituationAsk=Facture suivant situation +InvoiceSituationDesc=Créer une nouvelle situation à la suite d'un autre +SituationAmount=Montant de facture de situation (HT) +SituationDeduction=Différence de situation +Progress=Progression +ModifyAllLines=Modifier toutes les lignes +CreateNextSituationInvoice=Créer prochaine situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=Cette situation est la dernière +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Dernière facture diff --git a/htdocs/langs/fr_FR/compta.lang b/htdocs/langs/fr_FR/compta.lang index e20b6efae12..0be7345fe48 100644 --- a/htdocs/langs/fr_FR/compta.lang +++ b/htdocs/langs/fr_FR/compta.lang @@ -8,8 +8,8 @@ TaxModuleSetupToModifyRulesLT=Aller dans la configuration de l'inst OptionMode=Option de tenue de comptabilité OptionModeTrue=Option Recettes-Dépenses OptionModeVirtual=Option Créances-Dettes -OptionModeTrueDesc=Dans ce mode, le CA est calculé sur la base des paiements (date de règlement). La validité des chiffres n'est donc assurée que si la tenue de la comptabilité passe rigoureusement par des entrées/sorties sur les comptes via des factures. -OptionModeVirtualDesc=Dans ce mode, le CA est calculé sur la base des factures (date de validation). Payées ou non, elles apparaissent dans le résultat dès qu'elles sont dues. +OptionModeTrueDesc=Dans ce mode, le chiffre d'affaires est calculé sur la base des paiements (date de règlement). La validité des chiffres n'est donc assurée que si la tenue de la comptabilité passe rigoureusement par des entrées/sorties sur les comptes via des factures. +OptionModeVirtualDesc=Dans ce mode, le chiffre d'affaires est calculé sur la base des factures (date de validation). Payées ou non, elles apparaissent dans le résultat dès qu'elles sont dues. FeatureIsSupportedInInOutModeOnly=Fonction disponible uniquement en mode compta CREANCES-DETTES (Voir configuration du module compta) VATReportBuildWithOptionDefinedInModule=Les montants obtenus sont ceux calculés à partir des règles de calcul paramétrées pour le module Taxes. LTReportBuildWithOptionDefinedInModule=Les montants obtenus sont ceux calculés à partir des règles de calcul paramétrées dans la configuration de l'institution. @@ -29,6 +29,7 @@ ReportTurnover=Chiffre d'affaires PaymentsNotLinkedToInvoice=Paiements liés à aucune facture, donc aucun tiers PaymentsNotLinkedToUser=Paiements non liés à un utilisateur Profit=Bénéfice +AccountingResult=Accounting result Balance=Solde Debit=Débit Credit=Crédit @@ -194,7 +195,7 @@ Mode1=Mode 1 Mode2=Mode 2 CalculationRuleDesc=Pour calculer le total de TVA, il existe 2 modes:
Le mode 1 consiste à arrondir la tva de chaque ligne et à sommer cet arrondi.
Le mode 2 consiste à sommer la tva de chaque ligne puis à l'arrondir.
Les résultats peuvent différer de quelques centimes. Le mode par défaut est le mode %s. CalculationRuleDescSupplier=Selon le mode utilisé par le fournisseur, choisissez le mode adéquat afin d'appliquer la même règle et obtenir un résultat identique au mode appliqué par votre fournisseur. -TurnoverPerProductInCommitmentAccountingNotRelevant=Le chiffre d'affaire par produit, dans une comptabilité en mode comptabilité de caisse n'est pas définissable. Ce rapport n'est disponible qu'en mode de comptabilité dit comptabilité d'engagement (voir la configuration du module de comptabilité). +TurnoverPerProductInCommitmentAccountingNotRelevant=Le chiffre d'affaires par produit, dans une comptabilité en mode comptabilité de caisse n'est pas définissable. Ce rapport n'est disponible qu'en mode de comptabilité dit comptabilité d'engagement (voir la configuration du module de comptabilité). CalculationMode=Mode de calcul AccountancyJournal=Code journal comptabilité ACCOUNTING_VAT_ACCOUNT=Code comptable par défaut pour l'encaissement de TVA @@ -204,11 +205,3 @@ ACCOUNTING_ACCOUNT_SUPPLIER=Code comptable par défaut des tiers fournisseurs CloneTax=Cloner une charge sociale ConfirmCloneTax=Confirmer le clonage de la charge sociale CloneTaxForNextMonth=Cloner pour le mois suivant -COMPTA_PRODUCT_BUY_ACCOUNT=Code comptable par défaut pour l'achat de produits -COMPTA_PRODUCT_SOLD_ACCOUNT=Code comptable par défaut pour la vente de produits -COMPTA_SERVICE_BUY_ACCOUNT=Code comptable par défaut pour l'achat de services -COMPTA_SERVICE_SOLD_ACCOUNT=Code comptable par défaut pour la vente de services -COMPTA_VAT_ACCOUNT=Code comptable par défaut pour l'encaissement de TVA -COMPTA_VAT_BUY_ACCOUNT=Code comptable par défaut pour le versement de la TVA -COMPTA_ACCOUNT_CUSTOMER=Code comptable par défaut des tiers clients -COMPTA_ACCOUNT_SUPPLIER=Code comptable par défaut des tiers fournisseurs diff --git a/htdocs/langs/fr_FR/cron.lang b/htdocs/langs/fr_FR/cron.lang index 92deeb11c20..da6907c85db 100644 --- a/htdocs/langs/fr_FR/cron.lang +++ b/htdocs/langs/fr_FR/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL pour vérifier et lancer les travaux programmés actifs OrToLaunchASpecificJob=Ou pour vérifier et lancer un travail programmé spécifique KeyForCronAccess=Clé de sécurité pour l'URL de lancement des travaux programmés FileToLaunchCronJobs=Commande pour lancer les travaux programmés actifs -CronExplainHowToRunUnix=Sur un environnement Unix vous pouvez utiliser 'crontab' pour exécuter une commande toute les minutes -CronExplainHowToRunWin=Sur un environement Microsoft(tm) Windows vous pouvez utiliser le planificateur de tâche pour lancer une commande toute les minutes +CronExplainHowToRunUnix=Sur un environnement Unix vous pouvez utiliser l'entrée suivante en crontab pour exécuter la ligne de commande toutes les 5 minutes +CronExplainHowToRunWin=Sur un environement Microsoft(tm) Windows vous pouvez utiliser le planificateur de tache pour lancer cette commande toute les 5 minutes. # Menu CronJobs=Travaux programmés CronListActive=Liste des travaux actifs/programmés diff --git a/htdocs/langs/fr_FR/ecm.lang b/htdocs/langs/fr_FR/ecm.lang index 443e5b97f5b..52bf048b551 100644 --- a/htdocs/langs/fr_FR/ecm.lang +++ b/htdocs/langs/fr_FR/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Documents associés aux contrats ECMDocsByInvoices=Documents associés aux factures ECMDocsByProducts=Documents associés aux produits ECMDocsByProjects=Documents associés aux projets +ECMDocsByUsers=Documents associés aux utilisateurs +ECMDocsByInterventions=Documents associés aux interventions ECMNoDirectoryYet=Aucun répertoire créé ShowECMSection=Afficher répertoire DeleteSection=Suppression répertoire diff --git a/htdocs/langs/fr_FR/errors.lang b/htdocs/langs/fr_FR/errors.lang index e880dbdac8d..b7042a8a33e 100644 --- a/htdocs/langs/fr_FR/errors.lang +++ b/htdocs/langs/fr_FR/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=La configuration du module semble incomplète. Aller ErrorBadMask=Erreur sur le masque ErrorBadMaskFailedToLocatePosOfSequence=Erreur, masque sans numéro de séquence ErrorBadMaskBadRazMonth=Erreur, mauvais valeur de remise à zéro +ErrorMaxNumberReachForThisMask=Nombre maximum atteint pour ce masque +ErrorCounterMustHaveMoreThan3Digits=Le compteur doit avoir au moins 3 positions ErrorSelectAtLeastOne=Erreur. Sélectionnez au moins une entrée. ErrorProductWithRefNotExist=La référence produit '%s' n'existe pas ErrorDeleteNotPossibleLineIsConsolidated=Suppression impossible car l'enregistrement porte sur au moins une transaction bancaire rapprochée @@ -156,6 +158,8 @@ ErrorPriceExpression21=Résultat '%s' vide ErrorPriceExpression22=Résultat négatif '%s' ErrorPriceExpressionInternal=Erreur interne '%s' ErrorPriceExpressionUnknown=Erreur inconnue '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Les entrepôts source et destination doivent être différents +ErrorTryToMakeMoveOnProductRequiringBatchData=Erreur, vous essayez de faire un mouvement sans lot/numéro de série, sur un produit qui exige un lot/numéro de série. # Warnings WarningMandatorySetupNotComplete=Les informations de configuration obligatoire doivent être renseignées diff --git a/htdocs/langs/fr_FR/install.lang b/htdocs/langs/fr_FR/install.lang index a8d770be282..4a0c5a9aafb 100644 --- a/htdocs/langs/fr_FR/install.lang +++ b/htdocs/langs/fr_FR/install.lang @@ -9,17 +9,17 @@ ConfFileCouldBeCreated=Le fichier de configuration %s a pu être créé. ConfFileIsNotWritable=Le fichier %s n'est pas modifiable. Pour une première installation, modifiez ses permissions. Le serveur Web doit avoir le droit d'écrire dans ce fichier le temps de la configuration ("chmod 666" par exemple sur un OS compatible Unix). ConfFileIsWritable=Le fichier %s est modifiable. ConfFileReload=Rechargement des informations depuis le fichier de configuration. -PHPSupportSessions=Ce PHP supporte les sessions. -PHPSupportPOSTGETOk=Ce PHP supporte bien les variables POST et GET. -PHPSupportPOSTGETKo=Il est possible que ce PHP ne supporte pas les variables POST et/ou GET. Vérifier le paramètre variables_order du php.ini. -PHPSupportGD=Ce PHP supporte les fonctions graphiques GD. -PHPSupportUTF8=Ce PHP supporte les fonctions UTF8. +PHPSupportSessions=Ce PHP prend en charge les sessions. +PHPSupportPOSTGETOk=Ce PHP prend bien en charge les variables POST et GET. +PHPSupportPOSTGETKo=Il est possible que ce PHP ne prenne pas en charge les variables POST et/ou GET. Vérifier le paramètre variables_order du php.ini. +PHPSupportGD=Ce PHP prend en charge les fonctions graphiques GD. +PHPSupportUTF8=Ce PHP prend en charge les fonctions UTF8. PHPMemoryOK=Votre mémoire maximum de session PHP est définie à %s. Ceci devrait être suffisant. PHPMemoryTooLow=Votre mémoire maximum de session PHP est définie à %s octets. Ceci est trop faible. Il est recommandé de modifier le paramètre memory_limit de votre fichier php.ini à au moins %s octets. Recheck=Cliquez ici pour un test plus probant -ErrorPHPDoesNotSupportSessions=Votre installation PHP ne supporte pas les sessions. Cette fonctionnalité est requise pour faire fonctionner Dolibarr. Vérifiez votre configuration de PHP. -ErrorPHPDoesNotSupportGD=Ce PHP ne supporte pas les fonctions graphiques GD. Aucun graphique ne sera disponible. -ErrorPHPDoesNotSupportUTF8=Ce PHP ne supporte pas les fonctions UTF8. Résolvez le problème avant d'installer Dolibarr car il ne pourra pas fonctionner correctement. +ErrorPHPDoesNotSupportSessions=Votre installation PHP ne prend pas en charge les sessions. Cette fonctionnalité est requise pour faire fonctionner Dolibarr. Vérifiez votre configuration de PHP. +ErrorPHPDoesNotSupportGD=Ce PHP ne prend pas en charge les fonctions graphiques GD. Aucun graphique ne sera disponible. +ErrorPHPDoesNotSupportUTF8=Ce PHP ne prend pas en charge les fonctions UTF8. Résolvez le problème avant d'installer Dolibarr car il ne pourra pas fonctionner correctement. ErrorDirDoesNotExists=Le répertoire %s n'existe pas ou n'est pas accessible. ErrorGoBackAndCorrectParameters=Revenez en arrière et corrigez les paramètres invalides. ErrorWrongValueForParameter=Vous avez peut-être saisi une mauvaise valeur pour le paramètre '%s'. @@ -128,7 +128,7 @@ DBSortingCollationComment=Veuillez choisir la page de code définissant l'ordre CharacterSetDatabase=Codage utilisé pour la base de données CharacterSetDatabaseComment=Veuillez choisir le codage que vous désirez choisir pour la création de la base de données.
Ce paramètre n'est pas sélectionnable si votre base est déjà créée. YouAskDatabaseCreationSoDolibarrNeedToConnect=Vous avez demandé la création de la base de données %s, mais pour cela, Dolibarr doit se connecter sur le serveur %s via le super utilisateur %s. -YouAskLoginCreationSoDolibarrNeedToConnect=Vous avez demandé la création du login de base de données %s, mais pour cela, Dolibarr doit se connecter sur le serveur %s via le super utilisateur %s. +YouAskLoginCreationSoDolibarrNeedToConnect=Vous avez demandé la création de l'identifiant de base de données %s, mais pour cela, Dolibarr doit se connecter sur le serveur %s via le super utilisateur %s. BecauseConnectionFailedParametersMayBeWrong=La connexion ayant échoué, les paramètres du serveur ou du super utilisateur sont peut-être incorrects. OrphelinsPaymentsDetectedByMethod=Paiement orphelins détectés par la méthode %s RemoveItManuallyAndPressF5ToContinue=Supprimez-le manuellement et actualisez la page pour continuer (F5). @@ -138,7 +138,7 @@ KeepDefaultValuesMamp=Comme vous utilisez l'assistant d'installation Dolibarr de KeepDefaultValuesProxmox=Comme vous utilisez l'assistant d'installation Dolibarr depuis une machine virtuelle Proxmox, les valeurs proposées aux paramètres sont déjà optimisées. Ne les modifiez qu'en connaissance de cause. FieldRenamed=Champ renommé IfLoginDoesNotExistsCheckCreateUser=Si l'identifiant n'existe pas encore, vous devez cocher l'option "Créer l'utilisateur" -ErrorConnection=Le serveur "%s", nom de base "%s", login "%s", ou mot de passe de la base de données est peut-être incorrect ou la version du client PHP trop ancienne par rapport à la version de la base de données. +ErrorConnection=Le serveur "%s", nom de base "%s", identifiant "%s", ou mot de passe de la base de données est peut-être incorrect ou la version du client PHP trop ancienne par rapport à la version de la base de données. InstallChoiceRecommanded=Choix recommandé pour installer la version %s depuis votre version actuelle %s InstallChoiceSuggested=Choix suggéré par l'installeur. MigrateIsDoneStepByStep=La version cible (%s) ayant un écart de plusieurs versions, l'installeur reviendra proposer la migration suivante une fois celle-ci exécutée. @@ -155,6 +155,7 @@ MigrationFinished=Migration terminée LastStepDesc=Dernière étape: Définissez ici l'identifiant et le mot de passe du premier utilisateur que vous allez utiliser pour vous connecter à l'application. Ne perdez pas ces identifiants, il s'agit du compte permettant d'administrer les autres. ActivateModule=Activation du module %s ShowEditTechnicalParameters=Cliquer ici pour afficher/éditer les paramètres techniques (mode expert) +WarningUpgrade=Attention :\nAvez-vous fait une sauvegarde de la base de données en premier ?\nA cause de problèmes dans le système de base de données (Par exemple mysql version 5.5.40), beaucoup de données ou de tables peuvent être perdu pendant le processus de migration, il est donc très recommandé d'avoir une sauvegarde complète de votre base de données avant de commencer le processus de migration.\n\nCliquez OK pour commencer le processus de migration ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Mise à jour du temps consommé en secondes MigrationActioncommElement=Mise à jour des données des actions des éléments MigrationPaymentMode=Migration des modes de paiement MigrationCategorieAssociation=Migration des categories +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Afficher les choix non disponibles HideNotAvailableOptions=Cacher les choix non disponibles diff --git a/htdocs/langs/fr_FR/languages.lang b/htdocs/langs/fr_FR/languages.lang index 8b616b6d1b6..4a90977022c 100644 --- a/htdocs/langs/fr_FR/languages.lang +++ b/htdocs/langs/fr_FR/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Allemand (Autriche) Language_de_CH=Allemand (Suisse) Language_el_GR=Grèque Language_en_AU=Anglais (Australie) +Language_en_CA=Anglais (Canada) Language_en_GB=Anglais (Royaume-Uni) Language_en_IN=Anglais (Inde) Language_en_NZ=Anglais (Nouvelle Zeland) diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang index a9571b9ac15..a8ab47c9c4d 100644 --- a/htdocs/langs/fr_FR/main.lang +++ b/htdocs/langs/fr_FR/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd/MM/yyyy FormatDateShortJavaInput=dd/MM/yyyy FormatDateShortJQuery=dd/mm/yy FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Erreur, l'enregistrement du fichier a échoué. SetDate=Définir date SelectDate=Sélectionnez une date SeeAlso=Voir aussi %s +SeeHere=Regardez ici BackgroundColorByDefault=Couleur de fond FileNotUploaded=Le fichier n'a pas été téléchargé FileUploaded=Le fichier a été transféré avec succès @@ -169,6 +171,7 @@ User=Utilisateur Users=Utilisateurs Group=Groupe Groups=Groupes +NoUserGroupDefined=Pas de groupe utilisateur défini Password=Mot de passe PasswordRetype=Retaper le mot de passe NoteSomeFeaturesAreDisabled=Attention, seules quelques modules/fonctionnalités ont été activés dans cette démo. @@ -258,6 +261,7 @@ days=jours Hours=Heures Minutes=Minutes Seconds=Secondes +Weeks=Semaines Today=Aujourd'hui Yesterday=Hier Tomorrow=Demain @@ -683,6 +687,7 @@ XMoreLines=%s ligne(s) cachées PublicUrl=URL publique AddBox=Ajouter boite SelectElementAndClickRefresh=Sélectionnez un élément et cliquez sur Rafraichir +PrintFile=Imprimer fichier %s # Week day Monday=Lundi Tuesday=Mardi diff --git a/htdocs/langs/fr_FR/margins.lang b/htdocs/langs/fr_FR/margins.lang index 94ffd5e48a6..480b22ffbfa 100644 --- a/htdocs/langs/fr_FR/margins.lang +++ b/htdocs/langs/fr_FR/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Détails des marges réalisées ProductMargins=Marges par produit CustomerMargins=Marges par client SalesRepresentativeMargins=Marges commerciaux +UserMargins=Marges par utilisateur ProductService=Produit ou Service AllProducts=Tous les produits et services ChooseProduct/Service=Choisissez le produit ou le service diff --git a/htdocs/langs/fr_FR/orders.lang b/htdocs/langs/fr_FR/orders.lang index 2b5cfa336ab..a920f58d399 100644 --- a/htdocs/langs/fr_FR/orders.lang +++ b/htdocs/langs/fr_FR/orders.lang @@ -20,8 +20,8 @@ CustomersOrders=Commandes clients CustomersOrdersRunning=Commandes clients en cours CustomersOrdersAndOrdersLines=Commandes clients et lignes de commandes OrdersToValid=Commandes clients à valider -OrdersToBill=Commandes clients délivrées -OrdersInProcess=Commandes clients en traitement +OrdersToBill=Commandes clients traitées +OrdersInProcess=Commandes clients en cours OrdersToProcess=Commandes clients à traiter SuppliersOrdersToProcess=Commandes fournisseurs à traiter StatusOrderCanceledShort=Annulée @@ -29,7 +29,7 @@ StatusOrderDraftShort=Brouillon StatusOrderValidatedShort=Validée StatusOrderSentShort=En cours de traitement StatusOrderSent=Envoi en cours -StatusOrderOnProcessShort=Réception +StatusOrderOnProcessShort=Commandé StatusOrderProcessedShort=Traitée StatusOrderToBillShort=Délivrée StatusOrderToBill2Short=À facturer @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Reçue complètement StatusOrderCanceled=Annulée StatusOrderDraft=Brouillon (à valider) StatusOrderValidated=Validée -StatusOrderOnProcess=Attente réception +StatusOrderOnProcess=Commandé - en attente de réception StatusOrderProcessed=Traitée StatusOrderToBill=Délivrée StatusOrderToBill2=À facturer @@ -50,6 +50,8 @@ StatusOrderRefused=Refusée StatusOrderReceivedPartially=Reçue partiellement StatusOrderReceivedAll=Reçue complètement ShippingExist=Une expédition existe +ProductQtyInDraft=Quantité de produit en commandes brouillons +ProductQtyInDraftOrWaitingApproved=Quantité de produit en commandes brouillons ou approuvées, mais pas encore passées DraftOrWaitingApproved=Brouillon ou approuvée pas encore commandée DraftOrWaitingShipped=Brouillon ou validée pas encore expédiée MenuOrdersToBill=Commandes délivrées diff --git a/htdocs/langs/fr_FR/productbatch.lang b/htdocs/langs/fr_FR/productbatch.lang index 6871657b6a3..6cf152e6f80 100644 --- a/htdocs/langs/fr_FR/productbatch.lang +++ b/htdocs/langs/fr_FR/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Gestion des lots/séries -ProductStatusOnBatch=Géré -ProductStatusNotOnBatch=Non géré -ProductStatusOnBatchShort=Géré -ProductStatusNotOnBatchShort=Non géré +ManageLotSerial=Utiliser les numéros de lots/série +ProductStatusOnBatch=Oui (Lot/Série requis) +ProductStatusNotOnBatch=Non (Lot/série non utilisé) +ProductStatusOnBatchShort=Oui +ProductStatusNotOnBatchShort=Non Batch=Lot/Série atleast1batchfield=Date de péremption ou numéro de lot/série batch_number=Lot/Numéro de série @@ -18,3 +18,4 @@ printQty=Qté: %d AddDispatchBatchLine=Ajouter une ligne pour la répartition par durée de conservation BatchDefaultNumber=Non défini WhenProductBatchModuleOnOptionAreForced=Quand le module Lot/Série est activé, le mode incrémentation/décrémentation des stocks est forcé sur le dernier choix et ne peut pas être édité. D'autres options peuvent être définies comme vous le voulez. +ProductDoesNotUseBatchSerial=Ce produit n'utilise pas les numéros de lots/série diff --git a/htdocs/langs/fr_FR/products.lang b/htdocs/langs/fr_FR/products.lang index a1af422e24b..5e27359209f 100644 --- a/htdocs/langs/fr_FR/products.lang +++ b/htdocs/langs/fr_FR/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Code compta vente ProductOrService=Produit ou Service ProductsAndServices=Produits et Services ProductsOrServices=Produits ou Services -ProductsAndServicesOnSell=Produits et Services en vente +ProductsAndServicesOnSell=Produits et Services en vente ou en achat ProductsAndServicesNotOnSell=Produits et Services hors vente ProductsAndServicesStatistics=Statistiques produits et services ProductsStatistics=Statistiques produits -ProductsOnSell=Produits en vente ou en achat +ProductsOnSell=Produits actifs, en vente ou en achat ProductsNotOnSell=Produits hors vente et hors achat -ProductsOnSellAndOnBuy=Produit hors vente et hors achat +ProductsOnSellAndOnBuy=Produits en vente et en achat ServicesOnSell=Services en vente ou en achat -ServicesNotOnSell=Services hors vente et hors achat -ServicesOnSellAndOnBuy=Services hors vente et hors achat +ServicesNotOnSell=Services hors vente +ServicesOnSellAndOnBuy=Services en vente et en achat InternalRef=Référence interne LastRecorded=Derniers produits/services en vente enregistrés LastRecordedProductsAndServices=Les %s derniers produits/services enregistrés @@ -198,7 +198,7 @@ HelpAddThisServiceCard=Cette option permet de créer ou de cloner une fiche serv CurrentProductPrice=Prix actuel AlwaysUseNewPrice=Toujours utiliser le prix du jour AlwaysUseFixedPrice=Utiliser le prix fixé -PriceByQuantity=Prix par quantité +PriceByQuantity=Prix différents par quantité PriceByQuantityRange=Grille de quantités ProductsDashboard=Synthèse produits/services UpdateOriginalProductLabel=Modifier étiquette d'origine @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Définition du type ou valeure du co BarCodeDataForProduct=Information de code barre du produit %s : BarCodeDataForThirdparty=Information de code barre du tiers %s : ResetBarcodeForAllRecords=Définir la valeur de code-barres pour tous les enregistrements (cela réinitialiser également les valeurs de code-barres déjà défini par des nouvelles) -PriceByCustomer=Prix par client +PriceByCustomer=Prix différents pour chaque client PriceCatalogue=Un seul prix unique par produit/service -PricingRule=Règle de prix +PricingRule=Règles pour les prix clients AddCustomerPrice=Ajouter prix par clients ForceUpdateChildPriceSoc=Définir le même prix sur les filiales des clients PriceByCustomerLog=Trace des prix par clients @@ -244,6 +244,9 @@ MinimumPriceLimit=Le prix minimum ne peut être inférieur à %s MinimumRecommendedPrice=Prix minimum recommandé : %s PriceExpressionEditor=Éditeur d'expression de prix PriceExpressionSelected=Expression de prix sélectionnée -PriceExpressionEditorHelp=« price = 2 + 2 » ou « 2 + 2 » afin de positionner le prix
Les champs personnalisés sont des variables de la forme « #options_macléchampperso# * 2 »
Il y a des variables spéciales telles que « #quantity# » et « #tva_tx# »
Utiliser « ; » pour séparer les expressions. +PriceExpressionEditorHelp1="price = 2 + 2" ou "2 + 2" pour définir un prix. Utilisez ; pour séparer les expressions +PriceExpressionEditorHelp2=Vous pouvez accédez aux ExtraFields avec des variables comme\n#options_myextrafieldkey# +PriceExpressionEditorHelp3=Dans les produits commes les services et les prix fournisseurs, les variables suivantes sont disponibles:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=Dans les prix produits/services uniquement: #supplier_min_price#
Dans les prix fournisseurs uniquement: #supplier_quantity# et #supplier_tva_tx# PriceMode=Mode de tarification PriceNumeric=Nombre diff --git a/htdocs/langs/fr_FR/projects.lang b/htdocs/langs/fr_FR/projects.lang index 29a11afec29..302732b6e71 100644 --- a/htdocs/langs/fr_FR/projects.lang +++ b/htdocs/langs/fr_FR/projects.lang @@ -3,6 +3,7 @@ RefProject=Réf. projet ProjectId=Id projet Project=Projet Projects=Projets +ProjectStatus=Statut projet SharedProject=Tout le monde PrivateProject=Contacts du projet MyProjectsDesc=Cette vue projet est restreinte aux projets pour lesquels vous êtes un contact affecté (quel qu'en soit le type). @@ -11,7 +12,6 @@ ProjectsDesc=Cette vue présente tous les projets (vos habilitations vous offran MyTasksDesc=Cette vue est restreinte aux projets et tâches pour lesquels vous êtes un contact affecté à au moins une tâche (quel qu'en soit le type). TasksPublicDesc=Cette vue présente tous les projets et tâches pour lesquels vous êtes habilité à avoir une visibilité. TasksDesc=Cette vue présente tous les projets et tâches (vos habilitations vous offrant une vue exhaustive). -Myprojects=Mes projets ProjectsArea=Espace projet NewProject=Nouveau projet AddProject=Créer projet @@ -103,6 +103,7 @@ CloneContacts=Cloner les contacts CloneNotes=Cloner les notes CloneProjectFiles=Cloner les pièces jointes du projet CloneTaskFiles=Cloner les pièces jointes des tâche(s) (si tâche(s) cloner) +CloneMoveDate=Mettre à jour les dates projet/tâches à partir de maintenant ConfirmCloneProject=Êtes-vous sûr de vouloir cloner ce projet ? ProjectReportDate=Reporter les dates des tâches en fonction de la date de départ. ErrorShiftTaskDate=Une erreur s'est produite dans le report des dates des tâches. diff --git a/htdocs/langs/fr_FR/sendings.lang b/htdocs/langs/fr_FR/sendings.lang index 4e7528f2db7..356fa55b946 100644 --- a/htdocs/langs/fr_FR/sendings.lang +++ b/htdocs/langs/fr_FR/sendings.lang @@ -4,6 +4,7 @@ Sending=Expédition Sendings=Expéditions Shipment=Expédition Shipments=Expéditions +ShowSending=Afficher expédition Receivings=Réceptions SendingsArea=Espace expéditions ListOfSendings=Liste des expéditions @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Annulée StatusSendingDraftShort=Brouillon StatusSendingValidatedShort=Validée StatusSendingProcessedShort=Traitée -SendingSheet=Bordereau d'expédition +SendingSheet=Fiche expédition Carriers=Transporteurs Carrier=Transporteur CarriersArea=Espace transporteurs @@ -58,11 +59,15 @@ SendShippingRef=Envoi du bordereau d'expédition %s ActionsOnShipping=Événements sur l'expédition LinkToTrackYourPackage=Lien pour le suivi de votre colis ShipmentCreationIsDoneFromOrder=Pour le moment, la création d'une nouvelle expédition se fait depuis la fiche commande. -RelatedShippings=Expédition(s) associée(s) +RelatedShippings=Expéditions liées ShipmentLine=Ligne d'expédition CarrierList=Liste des transporteurs -SendingRunning=Les produits de la commandes clients ont déjà été envoyés -SuppliersReceiptRunning=Les produits de la commandes fournisseurs ont déjà été reçus +SendingRunning=Produit des commandes clients passées +SuppliersReceiptRunning=Produit des commandes fournisseurs passées +ProductQtyInCustomersOrdersRunning=Quantité de produit en commandes client ouvertes +ProductQtyInSuppliersOrdersRunning=Quantité de produit en commandes fournisseur ouvertes +ProductQtyInShipmentAlreadySent=Quantité de produit déjà reçu en commandes client ouvertes +ProductQtyInSuppliersShipmentAlreadyRecevied=Quantité de produit déjà reçu en commandes fournisseur ouvertes # Sending methods SendingMethodCATCH=Enlèvement par le client diff --git a/htdocs/langs/fr_FR/stocks.lang b/htdocs/langs/fr_FR/stocks.lang index 8749207cd83..d7b32c8ff44 100644 --- a/htdocs/langs/fr_FR/stocks.lang +++ b/htdocs/langs/fr_FR/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=PMP EnhancedValueOfWarehouses=Valorisation des stocks UserWarehouseAutoCreate=Créer automatiquement un stock/entrepôt propre à l'utilisateur lors de sa création QtyDispatched=Quantité ventilée +QtyDispatchedShort=Qté ventilée +QtyToDispatchShort=Qté à ventiler OrderDispatch=Réception vers stocks RuleForStockManagementDecrease=Règle de gestion des décrémentations de stock RuleForStockManagementIncrease=Règle de gestion des incrémentations de stock @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Incrémente les stocks physiques sur approbation des comm ReStockOnDispatchOrder=Incrémente les stocks physiques sur ventilation manuelle de la réception des commandes fournisseurs dans les entrepôts ReStockOnDeleteInvoice=Incrémente les stocks physiques sur la suppression des factures OrderStatusNotReadyToDispatch=La commande n'a pas encore ou n'a plus un statut permettant une ventilation en stock. -StockDiffPhysicTeoric=Raison de l'écart de stock physique-théorique +StockDiffPhysicTeoric=Raison écart stock physique-théorique NoPredefinedProductToDispatch=Pas de produits prédéfinis dans cet objet. Aucune ventilation en stock n'est donc à faire. DispatchVerb=Ventiler StockLimitShort=Limite pour alerte @@ -122,4 +124,9 @@ RuleForStockAvailability=Règles d'exigence sur les stocks StockMustBeEnoughForInvoice=Le niveau de stock doit être suffisant pour ajouter un produit/service dans une facture StockMustBeEnoughForOrder=Le niveau de stock doit être suffisant pour ajouter un produit/service dans une commande StockMustBeEnoughForShipment= Le niveau de stock doit être suffisant pour ajouter un produit/service dans une expédition - +MovementLabel=Libellé du mouvement +InventoryCode=Code mouvement ou inventaire +IsInPackage=Inclus dans un package +ShowWarehouse=Afficher entrepôt +MovementCorrectStock=Correction du contenu en stock pour le produit %s +MovementTransferStock=Transfert de stock du produit %s dans un autre entrepôt diff --git a/htdocs/langs/fr_FR/suppliers.lang b/htdocs/langs/fr_FR/suppliers.lang index dab237aeb2d..ea0ecef8e39 100644 --- a/htdocs/langs/fr_FR/suppliers.lang +++ b/htdocs/langs/fr_FR/suppliers.lang @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Aucun ou traitement par lot %s non exécuté réc SentToSuppliers=Envoyés aux fournisseurs ListOfSupplierOrders=Liste des commandes fournisseurs MenuOrdersSupplierToBill=Commandes fournisseurs en facture +NbDaysToDelivery=Délai de livraison en jours +DescNbDaysToDelivery=Délai le plus élevé parmi la liste de produit dans la commande diff --git a/htdocs/langs/fr_FR/withdrawals.lang b/htdocs/langs/fr_FR/withdrawals.lang index d19c4909b4e..dcdc98fe1ee 100644 --- a/htdocs/langs/fr_FR/withdrawals.lang +++ b/htdocs/langs/fr_FR/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Crédité le WithdrawalFileNotCapable=Impossible de générer le fichier de reçu des prélèvement pour votre pays %s (Votre pays n'est pas supporté) ShowWithdraw=Voir prélèvement IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Toutefois, si la facture a au moins un paiement par prélèvement non traité, elle ne le sera pas afin de permettre la gestion du prélèvement d'abord. -DoStandingOrdersBeforePayments=Cet onglet vous permet de demander un ordre de virement. Une fois réalisé, allez dans le menu par la Banque -> Virements pour générer l'ordre. Lorsque l'ordre de virement est clos, le paiement sur la facture sera automatiquement enregistrée, et la facture fermée si le reste à payer est nul. +DoStandingOrdersBeforePayments=Cet onglet vous permet de demander à passer le paiement prélèvement. Une fois la demande faite, allez dans le menu par la Banque -> Virements pour générer l'ordre de prélèvement. Lorsque l'ordre de prélèvement est clos, le paiement sur la facture sera automatiquement enregistrée, et la facture fermée si le reste à payer est nul. WithdrawalFile=Fichier de prélèvement SetToStatusSent=Mettre au statut "Fichier envoyé" ThisWillAlsoAddPaymentOnInvoice=Ceci créera également les paiements sur les factures et les classera payées diff --git a/htdocs/langs/fr_FR/workflow.lang b/htdocs/langs/fr_FR/workflow.lang index 96b649bb52f..e718b3e708e 100644 --- a/htdocs/langs/fr_FR/workflow.lang +++ b/htdocs/langs/fr_FR/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Configuration du module workflow -WorkflowDesc=Ce module vous permet de modifier le comportement d'enchaînement automatisé. Par défaut, le workflow est ouvert et non imposé. À vous d'activer les liens automatiques qui vous intéressent. +WorkflowDesc=Ce module vous permet de modifier le comportement d'enchaînement automatisé. Par défaut, le workflow est ouvert (vous faites mes choses dans l'ordre que vous voulez). Vous pouvez activer les enchainements automatisées qui vous intéressent. ThereIsNoWorkflowToModify=Il n'y a pas de flux workflow modifiable pour les modules que vous avez activé. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Créer une commande client automatiquement à la signature d'une proposition commerciale descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Créer une facture client automatiquement à la signature d'une proposition commerciale diff --git a/htdocs/langs/he_IL/accountancy.lang b/htdocs/langs/he_IL/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/he_IL/accountancy.lang +++ b/htdocs/langs/he_IL/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/he_IL/admin.lang b/htdocs/langs/he_IL/admin.lang index d04253ac0d9..72578ac824d 100644 --- a/htdocs/langs/he_IL/admin.lang +++ b/htdocs/langs/he_IL/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=זהו תהליך ההתקנה: StepNb=שלב %s FindPackageFromWebSite=מצא חבילה המספקת התכונה הרצויה (לדוגמה על %s באתר הרשמי של רשת). -DownloadPackageFromWebSite=הורד את החבילה. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=חבילת קובץ לפרוק לתוך ספריית השורש של Dolibarr %s SetupIsReadyForUse=התקן הוא סיים Dolibarr מוכן לשימוש עם מרכיב חדש זה. NotExistsDirect=The alternative root directory is not defined.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Select module: CurrentVersion=Dolibarr הגרסה הנוכחית CallUpdatePage=עבור לעמוד שהעדכונים מבנה מסד הנתונים datas: %s. LastStableVersion=הגרסה היציבה האחרונה +UpdateServerOffline=Update server offline GenericMaskCodes=אתה רשאי להיכנס לכל מסכת מספור. במסכת זו, התגים הבאים יכול לשמש:
{000000} המתאים למספר אשר יהיה מוגדל על %s כל אחד. הזן כמו אפסים רבים ככל האורך הרצוי של הדלפק. נגד יושלם עד אפסים משמאל כדי שיהיה כמו אפסים רבים ככל המסכה.
{000} 000000 זהה לקודם, אך קוזז המתאים למספר בצד ימין של סימן + מיושם החל מיום %s הראשונים.
{000000 @ x} זהה לקודם אבל הדלפק מתאפס לאפס כאשר x חודש הוא הגיע (x בין 1 ל 12 או 0 כדי להשתמש בחודשים הראשונים של שנת הכספים מוגדרת בהגדרות שלך). אם אפשרות זו בשימוש, x הוא 2 או יותר, אז רצף {yy} {מ"מ} או {yyyy} {מ"מ} נדרש גם.
Dd {} היום (01 עד 31).
{מ"מ} החודש (01 עד 12).
{Yy}, {yyyy} או {y} השנה על 2, 4 או 1 מספרים.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=כל הדמויות האחרות מסכת יישאר ללא שינוי.
מקומות אסורים.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download
TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=ייצוא התערבויות Permission71=קראו חברי Permission72=צור / לשנות חברים Permission74=מחיקת חברים -Permission75=הגדרת סוגים ותכונות של חברי +Permission75=Setup types of membership Permission76=ייצוא datas Permission78=קרא מנויים Permission79=צור / לשנות מנויים @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=מחק sendings Permission111=לקרוא דוחות כספיים Permission112=צור / לשנות / למחוק ולהשוות עסקאות -Permission113=הגדרת חשבונות (financiel ליצור, לנהל קטגוריות) -Permission114=איחוד עסקאות +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=ייצוא עסקאות דפי מצב חשבון Permission116=העברות בין חשבונות Permission117=ניהול בדיקות שיגרו @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=ההתקנה של sendings בדוא"ל SendmailOptionNotComplete=אזהרה, על כמה מערכות לינוקס, לשלוח דוא"ל הדוא"ל שלך, הגדרת sendmail ביצוע חובה conatins אפשרות-BA (mail.force_extra_parameters פרמטר לקובץ php.ini שלך). אם מקבלי כמה לא לקבל הודעות דוא"ל, מנסה לערוך פרמטר זה PHP עם mail.force_extra_parameters =-BA). PathToDocuments=הדרך מסמכים PathDirectory=מדריך -SendmailOptionMayHurtBuggedMTA=תכונה לשלוח מיילים באמצעות שיטת "דואר PHP ישיר" יפיק הודעת דואר שעשוי לא להיות מנותח בצורה נכונה על ידי כמה שרתי דואר אשר קיבלו. התוצאה היא, כמה מיילים לא יכול להיקרא על ידי אנשים בחסות פלטפורמות thoose מיקרופונים. זה המקרה של כמה ספקי אינטרנט (לשעבר: אורנג' בצרפת). זה לא בעיה אל Dolibarr ולא לתוך PHP אבל אל שרת הדואר המקבל. עם זאת, ניתן להוסיף MAIN_FIX_FOR_BUGGED_MTA אפשרות 1 את ההתקנה - אחרת לשנות Dolibarr כדי למנוע זאת. עם זאת, אתה עלול להיתקל בבעיה עם שרתים אחרים כבוד בהחלט סטנדרטיים SMTP. פתרון אחר (מומלצים) היא להשתמש בשיטת "שקע ספריית SMTP" כי אין חסרונות. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=תצורת דה לה traduction TranslationDesc=בחירת שפה גלוי על המסך יכול להיות שונה:
* בכל העולם מהבית התפריט - התקנה - תצוגה
* עבור המשתמש רק מהתצוגה כרטיסיית המשתמש של כרטיס המשתמש (לחץ על כניסה על גבי המסך). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=כדי לאמת את הסדר אחרי קרוב הה FreeLegalTextOnOrders=טקסט חינם על הזמנות WatermarkOnDraftOrders=סימן מים על צווי הגיוס (כל אם ריק) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=לחץ כדי לחייג ההתקנה מודול ClickToDialUrlDesc=כתובת האתר נקרא כאשר לחיצה על הטלפון picto נעשה. ב-URL, ניתן להשתמש בתגיות
__PHONETO__ כי יוחלף מספר הטלפון של אדם לקרוא
__PHONEFROM__ כי יוחלף מספר הטלפון של אדם קורא (שלך)
__LOGIN__ כי יוחלפו התחברות clicktodial שלך (המוגדר בכרטיס המשתמש שלך)
__PASS__ כי יוחלף עם הסיסמה clicktodial שלך (המוגדר בכרטיס המשתמש שלך). @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=שליחת הדוא"ל ההתקנה מודול MailingEMailFrom=כתובת אימייל של השולח (מ) על הודעות דוא"ל שנשלחו על ידי דואר אלקטרוני מודול MailingEMailError=חזור דואר אלקטרוני (שגיאות ל) עבור הודעות דוא"ל עם שגיאות +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=כתובת אימייל של השולח (מ) על הודעות דוא"ל שנשלחו עבור הודעות @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=שליחת ההתקנה מודול SendingsReceiptModel=שליחת מודל קבלת SendingsNumberingModules=Sendings מספור מודולים -SendingsAbility=תמיכה גיליונות sendings עבור משלוחים של לקוחות +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=ברוב המקרים, קבלות sendings משמשים הן יריעות עבור משלוחים של לקוחות (רשימת המוצרים לשלוח) ויריעות כי הוא recevied ונחתם על ידי הלקוח. אז משלוחים קבלות המוצר הוא תכונה כפולות מופעל לעתים נדירות. -FreeLegalTextOnShippings=טקסט חופשי על shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=מוצרים משלוחים מספור מודול קבלת DeliveryOrderModel=מוצרים משלוחים קבלת מודל @@ -1414,7 +1420,7 @@ AdvancedEditor=עורך מתקדם ActivateFCKeditor=הפעל עורך מתקדם עבור: FCKeditorForCompany=WYSIWIG יצירת / מהדורה של תיאור של רכיב הערה (למעט מוצרים / שירותים) FCKeditorForProduct=WYSIWIG יצירת / מהדורה של המוצרים / שירות של תיאור הערה -FCKeditorForProductDetails=WYSIWIG יצירת / מהדורה של קווי מוצרים הפרטים של כל הגופים (הצעות, הזמנות, חשבוניות וכו '..). אזהרה: שימוש באפשרות זו במקרה זה ברצינות לא מומלצים כמו זה יכול ליצור בעיות עם תווים מיוחדים formating הדף כאשר בונים PDF קבצים. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG יצירת / מהדורה של דברי דואר FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/he_IL/agenda.lang b/htdocs/langs/he_IL/agenda.lang index 38507100e11..ca1edd3df0e 100644 --- a/htdocs/langs/he_IL/agenda.lang +++ b/htdocs/langs/he_IL/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Customer order %s sent by EMail InvoiceSentByEMail=Customer invoice %s sent by EMail SupplierOrderSentByEMail=Supplier order %s sent by EMail SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail -ShippingSentByEMail=Shipping %s sent by EMail -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Third party created DateActionPlannedStart= Planned start date DateActionPlannedEnd= Planned end date @@ -68,7 +69,7 @@ DateActionDoneEnd= Real end date DateActionStart= Start date DateActionEnd= End date AgendaUrlOptions1=You can also add following parameters to filter output: -AgendaUrlOptions2=login=%s to restrict output to actions created by, assigned to or done by user %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=%s to restrict output to actions assigned to user %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/he_IL/banks.lang b/htdocs/langs/he_IL/banks.lang index bc66c6436a7..0041d4550f2 100644 --- a/htdocs/langs/he_IL/banks.lang +++ b/htdocs/langs/he_IL/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Account FinancialAccounts=Accounts BankAccount=Bank account BankAccounts=Bank accounts +ShowAccount=Show Account AccountRef=Financial account ref AccountLabel=Financial account label CashAccount=Cash account diff --git a/htdocs/langs/he_IL/bills.lang b/htdocs/langs/he_IL/bills.lang index 1c56451ffdc..0a1e1ef5d5d 100644 --- a/htdocs/langs/he_IL/bills.lang +++ b/htdocs/langs/he_IL/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Invoice Bills=חשבוניות -BillsCustomers=Customer's invoices -BillsCustomer=Customer's invoice -BillsSuppliers=Supplier's invoices -BillsCustomersUnpaid=Unpaid customer's invoices +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Unpaid customer's invoices for %s BillsSuppliersUnpaid=Unpaid supplier's invoices BillsSuppliersUnpaidForCompany=Unpaid supplier's invoices for %s BillsLate=Late payments -BillsStatistics=Customer's invoices statistics -BillsStatisticsSuppliers=Supplier's invoices statistics +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Disabled because can not be erased InvoiceStandard=Standard invoice InvoiceStandardAsk=Standard invoice @@ -348,6 +348,7 @@ ChequeNumber=Check N° ChequeOrTransferNumber=Check/Transfer N° ChequeMaker=Check transmitter ChequeBank=Bank of Check +CheckBank=Check NetToBePaid=Net to be paid PhoneNumber=Tel FullPhoneNumber=Telephone @@ -388,7 +389,7 @@ DisabledBecausePayments=Not possible since there are some payments CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified paid ExpectedToPay=Expected payment PayedByThisPayment=Paid by this payment -ClosePaidInvoicesAutomatically=Classify "Paid" all standard or replacement invoices entirely paid. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=All invoice with no remain to pay will be automatically closed to status "Paid". ToMakePayment=Pay @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up s TypeContact_invoice_supplier_external_BILLING=Supplier invoice contact TypeContact_invoice_supplier_external_SHIPPING=Supplier shipping contact TypeContact_invoice_supplier_external_SERVICE=Supplier service contact +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/he_IL/compta.lang b/htdocs/langs/he_IL/compta.lang index e962d4de7ce..69bba17ae4c 100644 --- a/htdocs/langs/he_IL/compta.lang +++ b/htdocs/langs/he_IL/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Turnover PaymentsNotLinkedToInvoice=Payments not linked to any invoice, so not linked to any third party PaymentsNotLinkedToUser=Payments not linked to any user Profit=Profit +AccountingResult=Accounting result Balance=Balance Debit=Debit Credit=Credit diff --git a/htdocs/langs/he_IL/cron.lang b/htdocs/langs/he_IL/cron.lang index 492e92c956f..349d2275749 100644 --- a/htdocs/langs/he_IL/cron.lang +++ b/htdocs/langs/he_IL/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/he_IL/ecm.lang b/htdocs/langs/he_IL/ecm.lang index 3026f79dfee..7fddd1d7a83 100644 --- a/htdocs/langs/he_IL/ecm.lang +++ b/htdocs/langs/he_IL/ecm.lang @@ -1,55 +1,57 @@ # Dolibarr language file - Source file is en_US - ecm -# MenuECM=Documents -# DocsMine=My documents -# DocsGenerated=Generated documents -# DocsElements=Elements documents -# DocsThirdParties=Documents third parties -# DocsContracts=Documents contracts -# DocsProposals=Documents proposals -# DocsOrders=Documents orders -# DocsInvoices=Documents invoices -# ECMNbOfDocs=Nb of documents in directory -# ECMNbOfDocsSmall=Nb of doc. +MenuECM=Documents +DocsMine=My documents +DocsGenerated=Generated documents +DocsElements=Elements documents +DocsThirdParties=Documents third parties +DocsContracts=Documents contracts +DocsProposals=Documents proposals +DocsOrders=Documents orders +DocsInvoices=Documents invoices +ECMNbOfDocs=Nb of documents in directory +ECMNbOfDocsSmall=Nb of doc. ECMSection=מדריך -# ECMSectionManual=Manual directory -# ECMSectionAuto=Automatic directory -# ECMSectionsManual=Manual tree -# ECMSectionsAuto=Automatic tree -# ECMSections=Directories -# ECMRoot=Root -# ECMNewSection=New directory -# ECMAddSection=Add directory -# ECMNewDocument=New document -# ECMCreationDate=Creation date -# ECMNbOfFilesInDir=Number of files in directory -# ECMNbOfSubDir=Number of sub-directories -# ECMNbOfFilesInSubDir=Number of files in sub-directories -# ECMCreationUser=Creator -# ECMArea=EDM area -# ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. -# ECMAreaDesc2=* Automatic directories are filled automatically when adding documents from card of an element.
* Manual directories can be used to save documents not linked to a particular element. -# ECMSectionWasRemoved=Directory %s has been deleted. -# ECMDocumentsSection=Document of directory -# ECMSearchByKeywords=Search by keywords -# ECMSearchByEntity=Search by object -# ECMSectionOfDocuments=Directories of documents -# ECMTypeManual=Manual -# ECMTypeAuto=Automatic -# ECMDocsBySocialContributions=Documents linked to social contributions -# ECMDocsByThirdParties=Documents linked to third parties -# ECMDocsByProposals=Documents linked to proposals -# ECMDocsByOrders=Documents linked to customers orders -# ECMDocsByContracts=Documents linked to contracts -# ECMDocsByInvoices=Documents linked to customers invoices -# ECMDocsByProducts=Documents linked to products -# ECMDocsByProjects=Documents linked to projects -# ECMNoDirectoryYet=No directory created -# ShowECMSection=Show directory -# DeleteSection=Remove directory -# ConfirmDeleteSection=Can you confirm you want to delete the directory %s ? -# ECMDirectoryForFiles=Relative directory for files -# CannotRemoveDirectoryContainsFiles=Removed not possible because it contains some files -# ECMFileManager=File manager -# ECMSelectASection=Select a directory on left tree... -# DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. +ECMSectionManual=Manual directory +ECMSectionAuto=Automatic directory +ECMSectionsManual=Manual tree +ECMSectionsAuto=Automatic tree +ECMSections=Directories +ECMRoot=Root +ECMNewSection=New directory +ECMAddSection=Add directory +ECMNewDocument=New document +ECMCreationDate=Creation date +ECMNbOfFilesInDir=Number of files in directory +ECMNbOfSubDir=Number of sub-directories +ECMNbOfFilesInSubDir=Number of files in sub-directories +ECMCreationUser=Creator +ECMArea=EDM area +ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. +ECMAreaDesc2=* Automatic directories are filled automatically when adding documents from card of an element.
* Manual directories can be used to save documents not linked to a particular element. +ECMSectionWasRemoved=Directory %s has been deleted. +ECMDocumentsSection=Document of directory +ECMSearchByKeywords=Search by keywords +ECMSearchByEntity=Search by object +ECMSectionOfDocuments=Directories of documents +ECMTypeManual=Manual +ECMTypeAuto=Automatic +ECMDocsBySocialContributions=Documents linked to social contributions +ECMDocsByThirdParties=Documents linked to third parties +ECMDocsByProposals=Documents linked to proposals +ECMDocsByOrders=Documents linked to customers orders +ECMDocsByContracts=Documents linked to contracts +ECMDocsByInvoices=Documents linked to customers invoices +ECMDocsByProducts=Documents linked to products +ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions +ECMNoDirectoryYet=No directory created +ShowECMSection=Show directory +DeleteSection=Remove directory +ConfirmDeleteSection=Can you confirm you want to delete the directory %s ? +ECMDirectoryForFiles=Relative directory for files +CannotRemoveDirectoryContainsFiles=Removed not possible because it contains some files +ECMFileManager=File manager +ECMSelectASection=Select a directory on left tree... +DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. diff --git a/htdocs/langs/he_IL/errors.lang b/htdocs/langs/he_IL/errors.lang index 53f8d168a55..497ddd814e4 100644 --- a/htdocs/langs/he_IL/errors.lang +++ b/htdocs/langs/he_IL/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Setup of module looks to be uncomplete. Go on Setup ErrorBadMask=Error on mask ErrorBadMaskFailedToLocatePosOfSequence=Error, mask without sequence number ErrorBadMaskBadRazMonth=Error, bad reset value +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Error. Select at least one entry. ErrorProductWithRefNotExist=Product with reference '%s' don't exist ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transation that is conciliated @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/he_IL/install.lang b/htdocs/langs/he_IL/install.lang index 5c129e6b228..d0d0973e729 100644 --- a/htdocs/langs/he_IL/install.lang +++ b/htdocs/langs/he_IL/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migration finished LastStepDesc=Last step: Define here login and password you plan to use to connect to software. Do not loose this as it is the account to administer all others. ActivateModule=Activate module %s ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Update time spent in seconds MigrationActioncommElement=Update data on actions MigrationPaymentMode=Data migration for payment mode MigrationCategorieAssociation=Migration of categories +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/he_IL/languages.lang b/htdocs/langs/he_IL/languages.lang index 0df38a57733..dcf7a8bea0d 100644 --- a/htdocs/langs/he_IL/languages.lang +++ b/htdocs/langs/he_IL/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=גרמני (אוסטריה) Language_de_CH=German (Switzerland) Language_el_GR=יווני Language_en_AU=אנגלית (אוסטרליה) +Language_en_CA=English (Canada) Language_en_GB=אנגלית (בריטניה) Language_en_IN=אנגלית (הודו) Language_en_NZ=אנגלית (ניו זילנד) diff --git a/htdocs/langs/he_IL/main.lang b/htdocs/langs/he_IL/main.lang index 5136c7c528d..410198e13c9 100644 --- a/htdocs/langs/he_IL/main.lang +++ b/htdocs/langs/he_IL/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=MM/dd/yyyy FormatDateShortJavaInput=MM/dd/yyyy FormatDateShortJQuery=mm/dd/yy FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Error, failed to save file. SetDate=Set date SelectDate=Select a date SeeAlso=See also %s +SeeHere=See here BackgroundColorByDefault=Default background color FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=User Users=משתמשים Group=Group Groups=קבוצות +NoUserGroupDefined=No user group defined Password=סיסמה PasswordRetype=Retype your password NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. @@ -258,6 +261,7 @@ days=days Hours=Hours Minutes=Minutes Seconds=Seconds +Weeks=Weeks Today=Today Yesterday=Yesterday Tomorrow=Tomorrow @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/he_IL/margins.lang b/htdocs/langs/he_IL/margins.lang index 606d5e5053a..748b3c71f30 100644 --- a/htdocs/langs/he_IL/margins.lang +++ b/htdocs/langs/he_IL/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Product or Service AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/he_IL/orders.lang b/htdocs/langs/he_IL/orders.lang index 7fe2fcc7348..57c3dccde16 100644 --- a/htdocs/langs/he_IL/orders.lang +++ b/htdocs/langs/he_IL/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customer's orders +CustomersOrders=Customers orders CustomersOrdersRunning=Current customer's orders CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customer's orders to validate -OrdersToBill=Customer's orders delivered -OrdersInProcess=Customer's orders in process -OrdersToProcess=Customer's orders to process +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Supplier's orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated StatusOrderSentShort=In process StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Reception +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Processed StatusOrderToBillShort=Delivered StatusOrderToBill2Short=To bill @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Everything received StatusOrderCanceled=Canceled StatusOrderDraft=Draft (needs to be validated) StatusOrderValidated=Validated -StatusOrderOnProcess=Waiting to receive +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Processed StatusOrderToBill=Delivered StatusOrderToBill2=To bill @@ -50,6 +50,8 @@ StatusOrderRefused=Refused StatusOrderReceivedPartially=Partially received StatusOrderReceivedAll=Everything received ShippingExist=A shipment exists +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Draft or approved not yet ordered DraftOrWaitingShipped=Draft or validated not yet shipped MenuOrdersToBill=Orders delivered diff --git a/htdocs/langs/he_IL/productbatch.lang b/htdocs/langs/he_IL/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/he_IL/productbatch.lang +++ b/htdocs/langs/he_IL/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/he_IL/products.lang b/htdocs/langs/he_IL/products.lang index 6cc95b19193..2d4bdafd5a4 100644 --- a/htdocs/langs/he_IL/products.lang +++ b/htdocs/langs/he_IL/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Accountancy code (sell) ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services -ProductsAndServicesOnSell=Available Products and Services -ProductsAndServicesNotOnSell=Obsolete Products and Services +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Available products -ProductsNotOnSell=Obsolete products -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Available services -ServicesNotOnSell=Obsolete services -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded LastRecordedProductsAndServices=Last %s recorded products/services @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/he_IL/projects.lang b/htdocs/langs/he_IL/projects.lang index a235a0df787..2d1abe5706f 100644 --- a/htdocs/langs/he_IL/projects.lang +++ b/htdocs/langs/he_IL/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Project Projects=פרוייקטים +ProjectStatus=Project status SharedProject=Everybody PrivateProject=Contacts of project MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). @@ -11,7 +12,6 @@ ProjectsDesc=This view presents all projects (your user permissions grant you pe MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). TasksPublicDesc=This view presents all projects and tasks you are allowed to read. TasksDesc=This view presents all projects and tasks (your user permissions grant you permission to view everything). -Myprojects=My projects ProjectsArea=Projects area NewProject=New project AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/he_IL/sendings.lang b/htdocs/langs/he_IL/sendings.lang index a3398b27c8b..5167582502a 100644 --- a/htdocs/langs/he_IL/sendings.lang +++ b/htdocs/langs/he_IL/sendings.lang @@ -4,7 +4,8 @@ Sending=Shipment Sendings=משלוחים Shipment=Shipment Shipments=משלוחים -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Shipments area ListOfSendings=List of shipments SendingMethod=Shipping method @@ -14,7 +15,7 @@ SearchASending=Search for shipment StatisticsOfSendings=Statistics for shipments NbOfSendings=Number of shipments NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Shipping card +SendingCard=Shipment card NewSending=New shipment CreateASending=Create a shipment CreateSending=Create shipment @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Canceled StatusSendingDraftShort=Draft StatusSendingValidatedShort=Validated StatusSendingProcessedShort=Processed -SendingSheet=Sending sheet +SendingSheet=Shipment sheet Carriers=Carriers Carrier=Carrier CarriersArea=Carriers area @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Events on shipment LinkToTrackYourPackage=Link to track your package ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is done from the order card. -RelatedShippings=Related shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Catch by customer diff --git a/htdocs/langs/he_IL/stocks.lang b/htdocs/langs/he_IL/stocks.lang index 8d96d6ad9b7..79d03a24da0 100644 --- a/htdocs/langs/he_IL/stocks.lang +++ b/htdocs/langs/he_IL/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a warehouse automatically when creating a user QtyDispatched=Quantity dispatched +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Stock dispatching RuleForStockManagementDecrease=Rule for stock management decrease RuleForStockManagementIncrease=Rule for stock management increase @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. -StockDiffPhysicTeoric=Reason for difference stock physical and theoretical +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=No predefined products for this object. So no dispatching in stock is required. DispatchVerb=Dispatch StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/he_IL/suppliers.lang b/htdocs/langs/he_IL/suppliers.lang index 7f83fb30440..b910d186708 100644 --- a/htdocs/langs/he_IL/suppliers.lang +++ b/htdocs/langs/he_IL/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=ספקים Supplier=Supplier -AddSupplier=Add a supplier +AddSupplier=Create a supplier SupplierRemoved=Supplier removed SuppliersInvoice=Suppliers invoice NewSupplier=New supplier @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=None or batch %s not ran recently SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/he_IL/withdrawals.lang b/htdocs/langs/he_IL/withdrawals.lang index 42b6ed1e19c..44d9dcee2e0 100644 --- a/htdocs/langs/he_IL/withdrawals.lang +++ b/htdocs/langs/he_IL/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Credit on WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Show Withdraw IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one withdrawal payment not yet processed, it won't be set as paid to allow prior withdrawal management. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/he_IL/workflow.lang b/htdocs/langs/he_IL/workflow.lang index b7f4f77d9f4..17c8dd3aafa 100644 --- a/htdocs/langs/he_IL/workflow.lang +++ b/htdocs/langs/he_IL/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin -# WorkflowSetup=Workflow module setup -# WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can enabled automatic actions that you are interesting in. -# ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -# descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -# descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -# descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -# descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed -# descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +WorkflowSetup=Workflow module setup +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. +ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/hr_HR/accountancy.lang b/htdocs/langs/hr_HR/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/hr_HR/accountancy.lang +++ b/htdocs/langs/hr_HR/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/hr_HR/admin.lang b/htdocs/langs/hr_HR/admin.lang index a9ded699060..b7ca8542a9b 100644 --- a/htdocs/langs/hr_HR/admin.lang +++ b/htdocs/langs/hr_HR/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=This is setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr's root directory %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Select module: CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version +UpdateServerOffline=Update server offline GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Export interventions Permission71=Read members Permission72=Create/modify members Permission74=Delete members -Permission75=Setup types and attributes for members +Permission75=Setup types of membership Permission76=Export datas Permission78=Read subscriptions Permission79=Create/modify subscriptions @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Delete sendings Permission111=Read financial accounts Permission112=Create/modify/delete and compare transactions -Permission113=Setup financiel accounts (create, manage categories) -Permission114=Consolidate transactions +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Export transactions and account statements Permission116=Transfers between accounts Permission117=Manage cheques dispatching @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Setup of sendings by email SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). PathToDocuments=Path to documents PathDirectory=Directory -SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by thoose bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommanded) is to use the method "SMTP socket library" that has no disadvantages. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes i FreeLegalTextOnOrders=Free text on orders WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with your clicktodial login (defined on your user card)
__PASS__ that will be replaced with your clicktodial password (defined on your user card). @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=EMailing module setup MailingEMailFrom=Sender EMail (From) for emails sent by emailing module MailingEMailError=Return EMail (Errors-to) for emails with errors +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Sender EMail (From) for emails sent for notifications @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Sending module setup SendingsReceiptModel=Sending receipt model SendingsNumberingModules=Sendings numbering modules -SendingsAbility=Support sendings sheets for customer deliveries +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. -FreeLegalTextOnShippings=Free text on shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Products deliveries receipt numbering module DeliveryOrderModel=Products deliveries receipt model @@ -1414,7 +1420,7 @@ AdvancedEditor=Advanced editor ActivateFCKeditor=Activate advanced editor for: FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note -FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommanded as it can create problems with special characters and page formating when building PDF files. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/hr_HR/agenda.lang b/htdocs/langs/hr_HR/agenda.lang index 508164a1448..b61eb591433 100644 --- a/htdocs/langs/hr_HR/agenda.lang +++ b/htdocs/langs/hr_HR/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Narudžba kupca %s poslana putem Emaila InvoiceSentByEMail=Račun kupca %s poslan Emailom SupplierOrderSentByEMail=Narudžba dobavljača %s poslana Emailom SupplierInvoiceSentByEMail=Račun dobavljača %s poslan Emailom -ShippingSentByEMail=Dostava %s poslana putem Emaila -ShippingValidated= Pošiljka %s je ovjerena +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Treća stranka stvorena DateActionPlannedStart= Planirani početni datum DateActionPlannedEnd= Planirani završni datum @@ -68,7 +69,7 @@ DateActionDoneEnd= Stvarni završni datum DateActionStart= Datum početka DateActionEnd= Datum završetka AgendaUrlOptions1=Možete isto dodati sljedeće paramete za filtriranje prikazanog: -AgendaUrlOptions2=Prijava=%s za ograničavanje prikaza akcije kreiranja , dodijeljene ili završene od strane korisnika%s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=Prijava=%sda se ograniči prikaz na akcije dodijeljene korisniku %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/hr_HR/banks.lang b/htdocs/langs/hr_HR/banks.lang index 39cae290c7d..25f0ecbc3a0 100644 --- a/htdocs/langs/hr_HR/banks.lang +++ b/htdocs/langs/hr_HR/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Račun FinancialAccounts=Računi BankAccount=Bankovni račun BankAccounts=Bankovni računi +ShowAccount=Show Account AccountRef=Financial account ref AccountLabel=Financial account label CashAccount=Cash account diff --git a/htdocs/langs/hr_HR/bills.lang b/htdocs/langs/hr_HR/bills.lang index f7ccb1a234f..784462c316b 100644 --- a/htdocs/langs/hr_HR/bills.lang +++ b/htdocs/langs/hr_HR/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Račun Bills=Računi -BillsCustomers=Računi kupca -BillsCustomer=Račun kupca -BillsSuppliers=Računi dobavljača -BillsCustomersUnpaid=Neplaćeni računi kupca +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Neplaćeni računi kupca za %s BillsSuppliersUnpaid=Neplaćeni računi dobavljača BillsSuppliersUnpaidForCompany=Neplaćeni računi dobavljača za %s BillsLate=Zakašnjela plaćanja -BillsStatistics=Statistika računa kupaca -BillsStatisticsSuppliers=Statistika računa dobavljača +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Isključeno jer se ne može izbrisati InvoiceStandard=Običan račun InvoiceStandardAsk=Običan račun @@ -348,6 +348,7 @@ ChequeNumber=Ček broj ChequeOrTransferNumber=broj čeka/prijenosa ChequeMaker=Check transmitter ChequeBank=Banka +CheckBank=Check NetToBePaid=Netto za platiti PhoneNumber=Tel FullPhoneNumber=Telefon @@ -388,7 +389,7 @@ DisabledBecausePayments=Nije moguće obzirom da postoje neka plaćanja CantRemovePaymentWithOneInvoicePaid=Plaćanje se ne može izbrisati obzirom da postoji barem jedan račun koji je označen kao plaćen ExpectedToPay=Očekivano plaćanje PayedByThisPayment=Plaćeno s ovom uplatom -ClosePaidInvoicesAutomatically=Classify "Paid" all standard or replacement invoices entirely paid. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Klasificiraj "plaćene" bonifikacije kao plaćene u cjelosti. AllCompletelyPayedInvoiceWillBeClosed=All invoice with no remain to pay will be automatically closed to status "Paid". ToMakePayment=Plati @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Predstavnik koji prati račun TypeContact_invoice_supplier_external_BILLING=Osoba za račune pri dobavljaču TypeContact_invoice_supplier_external_SHIPPING=Osoba za pošiljke pri dobavljaču TypeContact_invoice_supplier_external_SERVICE=Osoba za usluge pri dobavljaču +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/hr_HR/compta.lang b/htdocs/langs/hr_HR/compta.lang index 878eb49b3c9..0d579a06ff1 100644 --- a/htdocs/langs/hr_HR/compta.lang +++ b/htdocs/langs/hr_HR/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Turnover PaymentsNotLinkedToInvoice=Payments not linked to any invoice, so not linked to any third party PaymentsNotLinkedToUser=Payments not linked to any user Profit=Profit +AccountingResult=Accounting result Balance=Balance Debit=Debit Credit=Credit diff --git a/htdocs/langs/hr_HR/cron.lang b/htdocs/langs/hr_HR/cron.lang index 195ad43c87c..82f4574b223 100644 --- a/htdocs/langs/hr_HR/cron.lang +++ b/htdocs/langs/hr_HR/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/hr_HR/ecm.lang b/htdocs/langs/hr_HR/ecm.lang index 47c6a4ccd6e..4a1931a3217 100644 --- a/htdocs/langs/hr_HR/ecm.lang +++ b/htdocs/langs/hr_HR/ecm.lang @@ -1,55 +1,57 @@ # Dolibarr language file - Source file is en_US - ecm -# MenuECM=Documents -# DocsMine=My documents -# DocsGenerated=Generated documents -# DocsElements=Elements documents -# DocsThirdParties=Documents third parties -# DocsContracts=Documents contracts -# DocsProposals=Documents proposals -# DocsOrders=Documents orders -# DocsInvoices=Documents invoices -# ECMNbOfDocs=Nb of documents in directory -# ECMNbOfDocsSmall=Nb of doc. -# ECMSection=Directory -# ECMSectionManual=Manual directory -# ECMSectionAuto=Automatic directory -# ECMSectionsManual=Manual tree -# ECMSectionsAuto=Automatic tree -# ECMSections=Directories -# ECMRoot=Root -# ECMNewSection=New directory -# ECMAddSection=Add directory -# ECMNewDocument=New document -# ECMCreationDate=Creation date -# ECMNbOfFilesInDir=Number of files in directory -# ECMNbOfSubDir=Number of sub-directories -# ECMNbOfFilesInSubDir=Number of files in sub-directories -# ECMCreationUser=Creator -# ECMArea=EDM area -# ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. -# ECMAreaDesc2=* Automatic directories are filled automatically when adding documents from card of an element.
* Manual directories can be used to save documents not linked to a particular element. -# ECMSectionWasRemoved=Directory %s has been deleted. -# ECMDocumentsSection=Document of directory -# ECMSearchByKeywords=Search by keywords -# ECMSearchByEntity=Search by object -# ECMSectionOfDocuments=Directories of documents -# ECMTypeManual=Manual -# ECMTypeAuto=Automatic -# ECMDocsBySocialContributions=Documents linked to social contributions -# ECMDocsByThirdParties=Documents linked to third parties -# ECMDocsByProposals=Documents linked to proposals -# ECMDocsByOrders=Documents linked to customers orders -# ECMDocsByContracts=Documents linked to contracts -# ECMDocsByInvoices=Documents linked to customers invoices -# ECMDocsByProducts=Documents linked to products -# ECMDocsByProjects=Documents linked to projects -# ECMNoDirectoryYet=No directory created -# ShowECMSection=Show directory -# DeleteSection=Remove directory -# ConfirmDeleteSection=Can you confirm you want to delete the directory %s ? -# ECMDirectoryForFiles=Relative directory for files -# CannotRemoveDirectoryContainsFiles=Removed not possible because it contains some files -# ECMFileManager=File manager -# ECMSelectASection=Select a directory on left tree... -# DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. +MenuECM=Documents +DocsMine=My documents +DocsGenerated=Generated documents +DocsElements=Elements documents +DocsThirdParties=Documents third parties +DocsContracts=Documents contracts +DocsProposals=Documents proposals +DocsOrders=Documents orders +DocsInvoices=Documents invoices +ECMNbOfDocs=Nb of documents in directory +ECMNbOfDocsSmall=Nb of doc. +ECMSection=Directory +ECMSectionManual=Manual directory +ECMSectionAuto=Automatic directory +ECMSectionsManual=Manual tree +ECMSectionsAuto=Automatic tree +ECMSections=Directories +ECMRoot=Root +ECMNewSection=New directory +ECMAddSection=Add directory +ECMNewDocument=New document +ECMCreationDate=Creation date +ECMNbOfFilesInDir=Number of files in directory +ECMNbOfSubDir=Number of sub-directories +ECMNbOfFilesInSubDir=Number of files in sub-directories +ECMCreationUser=Creator +ECMArea=EDM area +ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. +ECMAreaDesc2=* Automatic directories are filled automatically when adding documents from card of an element.
* Manual directories can be used to save documents not linked to a particular element. +ECMSectionWasRemoved=Directory %s has been deleted. +ECMDocumentsSection=Document of directory +ECMSearchByKeywords=Search by keywords +ECMSearchByEntity=Search by object +ECMSectionOfDocuments=Directories of documents +ECMTypeManual=Manual +ECMTypeAuto=Automatic +ECMDocsBySocialContributions=Documents linked to social contributions +ECMDocsByThirdParties=Documents linked to third parties +ECMDocsByProposals=Documents linked to proposals +ECMDocsByOrders=Documents linked to customers orders +ECMDocsByContracts=Documents linked to contracts +ECMDocsByInvoices=Documents linked to customers invoices +ECMDocsByProducts=Documents linked to products +ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions +ECMNoDirectoryYet=No directory created +ShowECMSection=Show directory +DeleteSection=Remove directory +ConfirmDeleteSection=Can you confirm you want to delete the directory %s ? +ECMDirectoryForFiles=Relative directory for files +CannotRemoveDirectoryContainsFiles=Removed not possible because it contains some files +ECMFileManager=File manager +ECMSelectASection=Select a directory on left tree... +DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. diff --git a/htdocs/langs/hr_HR/errors.lang b/htdocs/langs/hr_HR/errors.lang index 53f8d168a55..497ddd814e4 100644 --- a/htdocs/langs/hr_HR/errors.lang +++ b/htdocs/langs/hr_HR/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Setup of module looks to be uncomplete. Go on Setup ErrorBadMask=Error on mask ErrorBadMaskFailedToLocatePosOfSequence=Error, mask without sequence number ErrorBadMaskBadRazMonth=Error, bad reset value +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Error. Select at least one entry. ErrorProductWithRefNotExist=Product with reference '%s' don't exist ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transation that is conciliated @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/hr_HR/install.lang b/htdocs/langs/hr_HR/install.lang index 5d0c83e3173..5a494156672 100644 --- a/htdocs/langs/hr_HR/install.lang +++ b/htdocs/langs/hr_HR/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migration finished LastStepDesc=Last step: Define here login and password you plan to use to connect to software. Do not loose this as it is the account to administer all others. ActivateModule=Activate module %s ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Update time spent in seconds MigrationActioncommElement=Update data on actions MigrationPaymentMode=Data migration for payment mode MigrationCategorieAssociation=Migration of categories +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/hr_HR/languages.lang b/htdocs/langs/hr_HR/languages.lang index 7c63d8971c4..2fee45a8ffb 100644 --- a/htdocs/langs/hr_HR/languages.lang +++ b/htdocs/langs/hr_HR/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Njemački (Austrija) Language_de_CH=Njemački (Švicarska) Language_el_GR=Grčki Language_en_AU=Engleski (Australija) +Language_en_CA=English (Canada) Language_en_GB=Engleski (United Kingdom) Language_en_IN=Engleski (Indija) Language_en_NZ=Engleski (Novi Zeland) diff --git a/htdocs/langs/hr_HR/main.lang b/htdocs/langs/hr_HR/main.lang index 85422178c4e..2729f374a7e 100644 --- a/htdocs/langs/hr_HR/main.lang +++ b/htdocs/langs/hr_HR/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=MM/dd/yyyy FormatDateShortJavaInput=MM/dd/yyyy FormatDateShortJQuery=mm/dd/yy FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Error, failed to save file. SetDate=Set date SelectDate=Select a date SeeAlso=See also %s +SeeHere=See here BackgroundColorByDefault=Default background color FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=User Users=Users Group=Group Groups=Groups +NoUserGroupDefined=No user group defined Password=Password PasswordRetype=Retype your password NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. @@ -258,6 +261,7 @@ days=days Hours=Hours Minutes=Minutes Seconds=Seconds +Weeks=Weeks Today=Today Yesterday=Yesterday Tomorrow=Tomorrow @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/hr_HR/margins.lang b/htdocs/langs/hr_HR/margins.lang index 606d5e5053a..748b3c71f30 100644 --- a/htdocs/langs/hr_HR/margins.lang +++ b/htdocs/langs/hr_HR/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Product or Service AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/hr_HR/orders.lang b/htdocs/langs/hr_HR/orders.lang index fed56574d89..cd0b42c8adf 100644 --- a/htdocs/langs/hr_HR/orders.lang +++ b/htdocs/langs/hr_HR/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Narudžba dobavljaču SuppliersOrders=Narudžbe dobavljaču SuppliersOrdersRunning=Trenutne narudžbe dobavljaču CustomerOrder=Narudžbe kupaca -CustomersOrders=Narudžba kupaca +CustomersOrders=Customers orders CustomersOrdersRunning=Trenutne narudžba kupaca CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customer's orders to validate -OrdersToBill=Customer's orders delivered -OrdersInProcess=Customer's orders in process -OrdersToProcess=Customer's orders to process +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Supplier's orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Skica StatusOrderValidatedShort=Ovjereno StatusOrderSentShort=U obradi StatusOrderSent=Dostava u tijeku -StatusOrderOnProcessShort=Reception +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Processed StatusOrderToBillShort=Dostavljeno StatusOrderToBill2Short=Za poslat račun @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Everything received StatusOrderCanceled=Poništeno StatusOrderDraft=Draft (needs to be validated) StatusOrderValidated=Ovjereno -StatusOrderOnProcess=Čekanje primitka +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Obrađeno StatusOrderToBill=Dostavljeno StatusOrderToBill2=Za naplatu @@ -50,6 +50,8 @@ StatusOrderRefused=Odbijeno StatusOrderReceivedPartially=Djelomično primljeno StatusOrderReceivedAll=Primljena cijela pošiljka ShippingExist=Dostava postoji +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Draft or approved not yet ordered DraftOrWaitingShipped=Draft or validated not yet shipped MenuOrdersToBill=Orders delivered diff --git a/htdocs/langs/hr_HR/productbatch.lang b/htdocs/langs/hr_HR/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/hr_HR/productbatch.lang +++ b/htdocs/langs/hr_HR/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/hr_HR/products.lang b/htdocs/langs/hr_HR/products.lang index 765c7e211a2..a42bd146177 100644 --- a/htdocs/langs/hr_HR/products.lang +++ b/htdocs/langs/hr_HR/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Accountancy code (sell) ProductOrService=Proizvod ili usluga ProductsAndServices=Proizvodi ili usluge ProductsOrServices=Proizvodi ili usluge -ProductsAndServicesOnSell=Dostupni proizvodi i usluge -ProductsAndServicesNotOnSell=Zastarjeli proizvodi i usluge +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Statistika proizvoda i usluga ProductsStatistics=Statistika proizvoda -ProductsOnSell=Dostupni proizvodi -ProductsNotOnSell=Zastarjeli proizvodi -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Dostupne usluge -ServicesNotOnSell=Zastarjele usluge -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Zadnji zabilježeni proizvodi/usluge na prodaji LastRecordedProductsAndServices=Zadnih %s zabilježeni proizvodi/usluge @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/hr_HR/projects.lang b/htdocs/langs/hr_HR/projects.lang index 2f9a63d5319..4127fc0fb7e 100644 --- a/htdocs/langs/hr_HR/projects.lang +++ b/htdocs/langs/hr_HR/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Projekt Projects=Projekti +ProjectStatus=Project status SharedProject=Everybody PrivateProject=Contacts of project MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). @@ -11,7 +12,6 @@ ProjectsDesc=This view presents all projects (your user permissions grant you pe MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). TasksPublicDesc=This view presents all projects and tasks you are allowed to read. TasksDesc=This view presents all projects and tasks (your user permissions grant you permission to view everything). -Myprojects=Moji projekti ProjectsArea=Projects area NewProject=Novi projekt AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/hr_HR/sendings.lang b/htdocs/langs/hr_HR/sendings.lang index 6e769ef91e7..d5ec2daa761 100644 --- a/htdocs/langs/hr_HR/sendings.lang +++ b/htdocs/langs/hr_HR/sendings.lang @@ -4,7 +4,8 @@ Sending=Pošiljka Sendings=Pošiljke Shipment=Pošiljka Shipments=Pošiljke -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Shipments area ListOfSendings=Popis pošiljki SendingMethod=Metoda dostave @@ -14,7 +15,7 @@ SearchASending=Pretraži pošiljke StatisticsOfSendings=Statistike pošiljki NbOfSendings=Broj pošiljki NumberOfShipmentsByMonth=Broj pošiljki tijekom mjeseca -SendingCard=Shipping card +SendingCard=Shipment card NewSending=Nova pošiljka CreateASending=Kreiraj pošiljku CreateSending=Kreiraj pošiljku @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Poništeno StatusSendingDraftShort=Skica StatusSendingValidatedShort=Ovjereno StatusSendingProcessedShort=Obrađen -SendingSheet=Sending sheet +SendingSheet=Shipment sheet Carriers=Dostavljači Carrier=Dostavljač CarriersArea=Područje dostavljača @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Events on shipment LinkToTrackYourPackage=Link to track your package ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is done from the order card. -RelatedShippings=Povezane pošiljke +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Catch by customer diff --git a/htdocs/langs/hr_HR/stocks.lang b/htdocs/langs/hr_HR/stocks.lang index 06c502504e9..9de2e5a4dbe 100644 --- a/htdocs/langs/hr_HR/stocks.lang +++ b/htdocs/langs/hr_HR/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a warehouse automatically when creating a user QtyDispatched=Quantity dispatched +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Stock dispatching RuleForStockManagementDecrease=Rule for stock management decrease RuleForStockManagementIncrease=Rule for stock management increase @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. -StockDiffPhysicTeoric=Reason for difference stock physical and theoretical +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=No predefined products for this object. So no dispatching in stock is required. DispatchVerb=Dispatch StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/hr_HR/suppliers.lang b/htdocs/langs/hr_HR/suppliers.lang index b1545d6ca3c..7b4d4acb244 100644 --- a/htdocs/langs/hr_HR/suppliers.lang +++ b/htdocs/langs/hr_HR/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Suppliers Supplier=Supplier -AddSupplier=Add a supplier +AddSupplier=Create a supplier SupplierRemoved=Supplier removed SuppliersInvoice=Suppliers invoice NewSupplier=New supplier @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=None or batch %s not ran recently SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/hr_HR/withdrawals.lang b/htdocs/langs/hr_HR/withdrawals.lang index ea32511fefb..c36ffbf025a 100644 --- a/htdocs/langs/hr_HR/withdrawals.lang +++ b/htdocs/langs/hr_HR/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Credit on WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Show Withdraw IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one withdrawal payment not yet processed, it won't be set as paid to allow prior withdrawal management. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/hr_HR/workflow.lang b/htdocs/langs/hr_HR/workflow.lang index b7f4f77d9f4..17c8dd3aafa 100644 --- a/htdocs/langs/hr_HR/workflow.lang +++ b/htdocs/langs/hr_HR/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin -# WorkflowSetup=Workflow module setup -# WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can enabled automatic actions that you are interesting in. -# ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -# descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -# descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -# descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -# descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed -# descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +WorkflowSetup=Workflow module setup +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. +ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/hu_HU/accountancy.lang b/htdocs/langs/hu_HU/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/hu_HU/accountancy.lang +++ b/htdocs/langs/hu_HU/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/hu_HU/admin.lang b/htdocs/langs/hu_HU/admin.lang index b5757284f28..ebe81e0bf63 100644 --- a/htdocs/langs/hu_HU/admin.lang +++ b/htdocs/langs/hu_HU/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=Ez a beállítási folyamat: StepNb=Step %s FindPackageFromWebSite=Keressen olyan csomag, amely biztosítja a kívánt funkciót (például a hivatalos honlapján %s). -DownloadPackageFromWebSite=Töltse le a csomagot. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Csomagolja csomag fájlt Dolibarr gyökérkönyvtárában %s SetupIsReadyForUse=Telepítése befejeződött, és Dolibarr kész, hogy ehhez az új alkatrész. NotExistsDirect=The alternative root directory is not defined.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Select module: CurrentVersion=Dolibarr jelenlegi verzió CallUpdatePage=Lépjen arra az oldalra, amely frissíti az adatbázis szerkezetét és adatok: %s. LastStableVersion=Utolsó stabil verzió +UpdateServerOffline=Update server offline GenericMaskCodes=Megadhat bármilyen számozás maszk. Ebben a maszk, az alábbi címkék is használhatók:
{000000} felel meg egy számot, amelyet fogja megnövelni minden %s. Adja meg a nullákat, mint annyi a kívánt méretre a számláló. A számláló tölti nullákkal balról annak érdekében, hogy minél több nullák, mint a maszk.
{000000} 000 ugyanaz, mint korábban, hanem ellensúlyozza számának megfelelő jobbra a + jel alkalmazzák kezdve az első %s.
{000000} @ x ugyanaz, mint korábban, de a számláló lenullázódik, ha havi x-ért (x 1 és 12 között, vagy 0 használni a korai hónapokban a pénzügyi év van megadva a konfiguráció). Ha ezt az opciót használjuk, és az x 2 vagy magasabb, akkor a sorozat nn {} {} vagy {mm yyyy}} {mm is szükség van.
{} Dd nap (01 31).
{} Mm hónap (01-12).
Yy {}, {ÉÉÉÉ} vagy {} y évben több mint 2, 4 vagy 1 számokat.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=Az összes többi karakter a maszkban marad érintetlen.
A szóközök nem megengedettek.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Export beavatkozások Permission71=Olvassa tagjai Permission72=Létrehozza / módosítja tagjai Permission74=Törlés tagjai -Permission75=Beállítás típusok és attribútumok tagok +Permission75=Setup types of membership Permission76=Export adatok Permission78=Olvassa előfizetések Permission79=Létrehozza / módosítja előfizetések @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Törlés küldések Permission111=Olvassa el a pénzügyi számlák Permission112=Létrehozása / módosítása / törlése, és hasonlítsa össze tranzakciók -Permission113=Beállítás financiel számlák (létrehozására, kezelésére kategóriák) -Permission114=Konszolidálása tranzakciók +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Export ügyletek és számlakivonatok Permission116=Számlák közötti átcsoportosítás Permission117=Kezelése ellenőrzések szállítási @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Beállítás a küldések e-mailben SendmailOptionNotComplete=Figyelem, egyes Linux rendszereken, hogy küldjön e-mailt az e-mail, sendmail beállítás végrehajtása lehetőséget kell conatins-ba (paraméter mail.force_extra_parameters be a php.ini fájl). Ha néhány címzett nem fogadja az üzeneteket, próbáld meg szerkeszteni ezt a PHP paraméter = mail.force_extra_parameters-ba). PathToDocuments=Út a dokumentumok PathDirectory=Directory -SendmailOptionMayHurtBuggedMTA=Feature mailt küldeni módszerrel "PHP mail közvetlen" generál egy levelet, hogy lehet nem pontosan értik egyes fogadó mail szervereket. Az eredmény, hogy néhány levelet nem lehet olvasni az emberek házigazdája thoose poloska platformokon. Ez esetben egyes internetes szolgáltatók (pl.: Orange, Franciaország). Ez nem jelent problémát sem a Dolibarr a PHP-ra, de a leveleket fogadó szerver. Ön azonban hozzá MAIN_FIX_FOR_BUGGED_MTA lehetőség az 1-be setup - egyéb Dolibarr módosítani, hogy elkerülje ezt. Azonban előfordulhat probléma, más szervereken, hogy szigorúan tartsák be az SMTP szabványnak. A másik megoldás (ajánlott), hogy használja a módszert "SMTP socket könyvtárba", aminek nincs hátránya. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Ahhoz, hogy érvényesítse a megbízást, miután j FreeLegalTextOnOrders=Szabad szöveg rendelés WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Kattintson a Tárcsázás modul beállítása ClickToDialUrlDesc=Url meghívásra, ha egy kattintás a telefonon Picto történik. Az URL, akkor a tag
__PHONETO__ Hogy fogja helyettesíteni a telefonszámot hívott személynek
__PHONEFROM__ Hogy váltják fel a hívó telefonszámát személy (a tiéd)
__LOGIN__ Hogy váltják fel clicktodial login (azaz a felhasználói kártya)
__PASS__ Hogy váltják a clicktodial jelszót (amelyeket a felhasználói kártya). @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=Küldése e-mailben modul beállítása MailingEMailFrom=Feladó e-mail (-tól) az e-mailek által küldött e-mailezés modul MailingEMailError=Vissza E-Mail (Hibák-ig) e-mailek hibákkal +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Feladó e-mail (-tól) az e-maileket küldött értesítések @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Küldő modul beállítása SendingsReceiptModel=Küldése modell átvételét SendingsNumberingModules=Küldések számozási modulok -SendingsAbility=Támogatás küldések lapok átadások +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=A legtöbb esetben a küldések bevételek egyaránt felhasználják lapok átadások (termékek listája küldeni), és a lapok recevied és aláírja ügyfél. Tehát a termék szállítás bevételek egy kettős funkció aktiválódik, és ritkán. -FreeLegalTextOnShippings=Szabad szöveg shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Termékek szállítások kézhezvételét számozás modul DeliveryOrderModel=Termékek szállítások modell átvételét @@ -1414,7 +1420,7 @@ AdvancedEditor=Speciális szerkesztő ActivateFCKeditor=Aktiválja a fejlett szerkesztő: FCKeditorForCompany=WYSIWIG létrehozása / kiadás elem leírása és megjegyzés (kivéve a termékek / szolgáltatások) FCKeditorForProduct=WYSIWIG létrehozása / kiadásában termék / szolgáltatás 's leírása és megjegyzés -FCKeditorForProductDetails=WYSIWIG létrehozása / kiadás termékek részleteit vonalak összes egységben (pályázatok, megrendelések, számlák, stb ..). Figyelem: Ha ezt a lehetőséget ebben az esetben súlyosan not javasolták, mivel ez problémát okozhat a speciális karakterek és az oldal formátolás kiépítése során PDF fájlokat. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG létrehozása / kiadás levelek FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/hu_HU/agenda.lang b/htdocs/langs/hu_HU/agenda.lang index 45bc191ced2..c6decbcb31a 100644 --- a/htdocs/langs/hu_HU/agenda.lang +++ b/htdocs/langs/hu_HU/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Ügyfél érdekében %s postáztuk InvoiceSentByEMail=Az ügyfél számlát postáztuk %s SupplierOrderSentByEMail=Szállító érdekében %s postáztuk SupplierInvoiceSentByEMail=Szállító számlát postáztuk %s -ShippingSentByEMail=Szállítás %s postáztuk -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Harmadik fél létrehozva DateActionPlannedStart= Tervezett indulási dátum DateActionPlannedEnd= Tervezett befejezési dátum @@ -68,7 +69,7 @@ DateActionDoneEnd= Tényleges befejezési dátum DateActionStart= Indulási dátum DateActionEnd= Befejezési dátum AgendaUrlOptions1=Az alábbi paramétereket hozzá lehet adni a kimenet szűréséhez: -AgendaUrlOptions2=login=%s kimenet szükítése a %s felhasználó által létrehozott cselekvésekre, érintő cselekvésekre,által végzett cselekvésekre. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=%s kimenet szükítése a %s felhasználó érintő cselekvésekre. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/hu_HU/banks.lang b/htdocs/langs/hu_HU/banks.lang index 7b1ddc08afd..0056818fa07 100644 --- a/htdocs/langs/hu_HU/banks.lang +++ b/htdocs/langs/hu_HU/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Fiók FinancialAccounts=Számlák BankAccount=Bankszámla BankAccounts=Bankszámlák +ShowAccount=Show Account AccountRef=Pénzügyi mérleg ref AccountLabel=Pénzügyi mérleg címke CashAccount=Készpénz számla diff --git a/htdocs/langs/hu_HU/bills.lang b/htdocs/langs/hu_HU/bills.lang index e030bdc8ba0..5eca0e94b49 100644 --- a/htdocs/langs/hu_HU/bills.lang +++ b/htdocs/langs/hu_HU/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Számla Bills=Számlák -BillsCustomers=Ügyfél számlák -BillsCustomer=Ügyfél számla -BillsSuppliers=Szállító számlák -BillsCustomersUnpaid=Kifizetetlen számlák ügyfél +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Kifizetetlen számlák ügyfél részére %s BillsSuppliersUnpaid=Nem fizetett szállítói számlák BillsSuppliersUnpaidForCompany=Kifizetetlen számlák szállító %s BillsLate=Késedelmes fizetések -BillsStatistics=Ügyfél számlák statisztika -BillsStatisticsSuppliers=Szállító számlák statisztika +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Tiltva, mert nem lehet törölni InvoiceStandard=Normál számla InvoiceStandardAsk=Normál számla @@ -348,6 +348,7 @@ ChequeNumber=Ellenőrizze N ° ChequeOrTransferNumber=Ellenőrizze / N ° Transzfer ChequeMaker=Ellenőrizze a jeladó ChequeBank=Bank Check +CheckBank=Check NetToBePaid=Net kell fizetni PhoneNumber=Tel FullPhoneNumber=Telefon @@ -388,7 +389,7 @@ DisabledBecausePayments=Nem lehetséges, mert van némi kifizetések CantRemovePaymentWithOneInvoicePaid=Nem lehet eltávolítani a fizetési hiszen legalább egy számlát fizetni osztályozott ExpectedToPay=Várható fizetés PayedByThisPayment=Megfizetni ezt a fizetési -ClosePaidInvoicesAutomatically=Classify "fizetni" minden szabványos vagy csere számlák entirely fizetni. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=Minden számla nélkül is fizetni fogják automatikusan bezárja az állapota "fizetni". ToMakePayment=Pay @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Reprezentatív nyomon követ TypeContact_invoice_supplier_external_BILLING=Szállító számlát Kapcsolat TypeContact_invoice_supplier_external_SHIPPING=Szállító szállítási kapcsolat TypeContact_invoice_supplier_external_SERVICE=Szállító szolgálat Kapcsolat +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/hu_HU/compta.lang b/htdocs/langs/hu_HU/compta.lang index 91d9d5fe9b7..13b4925f02c 100644 --- a/htdocs/langs/hu_HU/compta.lang +++ b/htdocs/langs/hu_HU/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Forgalom PaymentsNotLinkedToInvoice=Kifizetések nem kapcsolódik semmilyen számlát, így nem kapcsolódik semmilyen harmadik fél PaymentsNotLinkedToUser=Kifizetések nem kapcsolódnak egyetlen felhasználó Profit=Nyereség +AccountingResult=Accounting result Balance=Egyenleg Debit=Tartozik Credit=Hitel diff --git a/htdocs/langs/hu_HU/cron.lang b/htdocs/langs/hu_HU/cron.lang index 896df7fa6a0..119ae6079d5 100644 --- a/htdocs/langs/hu_HU/cron.lang +++ b/htdocs/langs/hu_HU/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/hu_HU/ecm.lang b/htdocs/langs/hu_HU/ecm.lang index df66d822dc0..19ae18f33b9 100644 --- a/htdocs/langs/hu_HU/ecm.lang +++ b/htdocs/langs/hu_HU/ecm.lang @@ -23,10 +23,10 @@ ECMNewDocument=Új Dokumentuk ECMCreationDate=Létrehozás dátuma ECMNbOfFilesInDir=Fájlok száma a könyvtárban ECMNbOfSubDir=Alkönyvtárok száma -# ECMNbOfFilesInSubDir=Number of files in sub-directories +ECMNbOfFilesInSubDir=Number of files in sub-directories ECMCreationUser=Létrehozó -# ECMArea=EDM area -# ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. +ECMArea=EDM area +ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. ECMAreaDesc2=* Az automatikus könyvtárak önmagukat töltik föl amikor dokumentumot adunk valamilyen elem kártyájához.
* A kézi könyvtárakban elmenthetünk dokumentumokat amik nincsenek csatolva egyetlen elemhez sem. ECMSectionWasRemoved=%s könyvtár törölve lett. ECMDocumentsSection=Könyvtár dokumentuma @@ -35,14 +35,16 @@ ECMSearchByEntity=Objektum alapjáni keresés ECMSectionOfDocuments=Dokumentumok könyvtárai ECMTypeManual=Kézi ECMTypeAuto=Automatikus -# ECMDocsBySocialContributions=Documents linked to social contributions +ECMDocsBySocialContributions=Documents linked to social contributions ECMDocsByThirdParties=Harmadik féllel kapcsolatban álló dokumentumok ECMDocsByProposals=Ajánlatokkat kapcsolatban álló dokumentumok ECMDocsByOrders=Megrendelésekkel kapcsolatban álló dokumentumok ECMDocsByContracts=Szerződésekkel kapcsolatban álló dokumentumok ECMDocsByInvoices=Ügyfél számlákkal kapcsolatban álló dokumentumok ECMDocsByProducts=Termékekkel kapcsolatban álló dokumentumok -# ECMDocsByProjects=Documents linked to projects +ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=Nem lett könyvtár létrehozva ShowECMSection=Könyvtár mutatása DeleteSection=Könyvátr eltávolítása @@ -51,5 +53,5 @@ ECMDirectoryForFiles=Relatív könyvtár a fájlokhoz CannotRemoveDirectoryContainsFiles=Az eltvolítás nem lehetséges amig tartalmaz fájlokat ECMFileManager=Fájl kezelő ECMSelectASection=Válasszon könyvtárat a bal oldali fából... -# DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. +DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. diff --git a/htdocs/langs/hu_HU/errors.lang b/htdocs/langs/hu_HU/errors.lang index e79edfa3418..75d66c5b78f 100644 --- a/htdocs/langs/hu_HU/errors.lang +++ b/htdocs/langs/hu_HU/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Beállítás modul néz ki, hogy uncomplete. Menj a ErrorBadMask=Hiba a maszk ErrorBadMaskFailedToLocatePosOfSequence=Hiba, maszk sorozatszám nélkül ErrorBadMaskBadRazMonth=Hiba, rossz érték visszaállítása +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Hiba. Válasszon legalább egy bejegyzést. ErrorProductWithRefNotExist=Termék referencia "%s" nem létezik ErrorDeleteNotPossibleLineIsConsolidated=Törlése nem lehetséges, mert rekord kapcsolódik egy bank, amely egyeztetett transation @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/hu_HU/install.lang b/htdocs/langs/hu_HU/install.lang index 75ff4e55eb5..1da3c2c7cbc 100644 --- a/htdocs/langs/hu_HU/install.lang +++ b/htdocs/langs/hu_HU/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migráció befejezte LastStepDesc=Utolsó lépés: Adjuk meg itt bejelentkezési név és jelszó használatát tervezi, hogy csatlakozik a szoftver. Ne laza ez, mivel a számla beadására az összes többi. ActivateModule=Modul aktiválása %s ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Frissítési idõ másodpercekben MigrationActioncommElement=Frissítés adatok akciók MigrationPaymentMode=Adatmigráció fizetési mód MigrationCategorieAssociation=Migration of categories +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/hu_HU/languages.lang b/htdocs/langs/hu_HU/languages.lang index 128388e03c8..9788e58c4ee 100644 --- a/htdocs/langs/hu_HU/languages.lang +++ b/htdocs/langs/hu_HU/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Német (Ausztria) Language_de_CH=German (Switzerland) Language_el_GR=Görög Language_en_AU=Angol (Ausztrália) +Language_en_CA=English (Canada) Language_en_GB=Angol (Egyesült Királyság) Language_en_IN=Angol (India) Language_en_NZ=Angol (Új Zéland) diff --git a/htdocs/langs/hu_HU/main.lang b/htdocs/langs/hu_HU/main.lang index 4303848fc81..21c0caa72a0 100644 --- a/htdocs/langs/hu_HU/main.lang +++ b/htdocs/langs/hu_HU/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd/MM/yyyy FormatDateShortJavaInput=dd/MM/yyyy FormatDateShortJQuery=dd/mm/yy FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Hiba, nem sikerült a fájl mentése. SetDate=Set date SelectDate=Select a date SeeAlso=See also %s +SeeHere=See here BackgroundColorByDefault=Alapértelmezett háttérszin FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=Felhasználó Users=Felhasználók Group=Csoport Groups=Csoportok +NoUserGroupDefined=No user group defined Password=Jelszó PasswordRetype=Adja meg újra a jelszavát NoteSomeFeaturesAreDisabled=Sok funkció/modul ki van kapcsolva ebben a demonstrációban. @@ -258,6 +261,7 @@ days=napok Hours=Órák Minutes=Percek Seconds=Másodpercek +Weeks=Weeks Today=Ma Yesterday=Tegnap Tomorrow=Holnap @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Hétfő Tuesday=Kedd diff --git a/htdocs/langs/hu_HU/margins.lang b/htdocs/langs/hu_HU/margins.lang index fc988c12ac8..678ce8969b3 100644 --- a/htdocs/langs/hu_HU/margins.lang +++ b/htdocs/langs/hu_HU/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Termék vagy Szolgáltatás AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/hu_HU/orders.lang b/htdocs/langs/hu_HU/orders.lang index 40f05505df7..b1d273e4106 100644 --- a/htdocs/langs/hu_HU/orders.lang +++ b/htdocs/langs/hu_HU/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Szállító érdekében SuppliersOrders=Szállítói megrendelések SuppliersOrdersRunning=Jelenlegi szállító megrendelések CustomerOrder=Az ügyfelek érdekében -CustomersOrders=Ügyfél megbízások +CustomersOrders=Customers orders CustomersOrdersRunning=Jelenlegi ügyfél megrendelések CustomersOrdersAndOrdersLines=Vevői megrendelések és megrendelés vonalak -OrdersToValid=Ügyfél megbízások, hogy érvényesítse -OrdersToBill=Ügyfél megbízások számla -OrdersInProcess=Ügyfél megbízások folyamatban -OrdersToProcess=Ügyfél megbízások feldolgozása +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Szállító megrendelések feldolgozása StatusOrderCanceledShort=Törölve StatusOrderDraftShort=Tervezet StatusOrderValidatedShort=Hitelesítette StatusOrderSentShort=A folyamat StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Recepció +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Feldolgozott StatusOrderToBillShort=Bill StatusOrderToBill2Short=Bill @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Minden beérkezett StatusOrderCanceled=Törölve StatusOrderDraft=Tervezet (kell érvényesíteni) StatusOrderValidated=Hitelesítette -StatusOrderOnProcess=Várakozás kapni +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Feldolgozott StatusOrderToBill=Bill StatusOrderToBill2=Bill @@ -50,6 +50,8 @@ StatusOrderRefused=Megtagadta StatusOrderReceivedPartially=Részben kapott StatusOrderReceivedAll=Minden beérkezett ShippingExist=A szállítmány létezik +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Vagy jóváhagyott tervezet még nem rendelhető DraftOrWaitingShipped=Tervezet még nem hitelesített vagy szállított MenuOrdersToBill=Megrendelés Bill diff --git a/htdocs/langs/hu_HU/productbatch.lang b/htdocs/langs/hu_HU/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/hu_HU/productbatch.lang +++ b/htdocs/langs/hu_HU/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/hu_HU/products.lang b/htdocs/langs/hu_HU/products.lang index bdcddfabdcf..ccba6ede02d 100644 --- a/htdocs/langs/hu_HU/products.lang +++ b/htdocs/langs/hu_HU/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Számviteli kód (eladás) ProductOrService=Termék vagy Szolgáltatás ProductsAndServices=Termékek és Szolgáltatások ProductsOrServices=Termékek vagy Szolgáltatások -ProductsAndServicesOnSell=Aktív Termékek és Szolgáltatások -ProductsAndServicesNotOnSell=Lejárt Termékokés Szolgáltatások +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Termékek és Szolgáltatások statisztika ProductsStatistics=Termék statisztika -ProductsOnSell=Aktív Termékek -ProductsNotOnSell=Lejárt Termékek -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Aktív Szolgáltatások -ServicesNotOnSell=Lejárt Szolgáltatások -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Belső referencia LastRecorded=Utolsó termékek/szolgáltatások on sell recorded LastRecordedProductsAndServices=Utolsó %s nyílvántartásba vett termék/szolgáltatás @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/hu_HU/projects.lang b/htdocs/langs/hu_HU/projects.lang index 7db1eb84ad1..274c306e716 100644 --- a/htdocs/langs/hu_HU/projects.lang +++ b/htdocs/langs/hu_HU/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Projekt Projects=Projektek +ProjectStatus=Project status SharedProject=Mindenki PrivateProject=A projekt kapcsolatai MyProjectsDesc=Ez a nézet azokra a projektekre van korlátozva amivel valamilyen összefüggésben áll. @@ -11,7 +12,6 @@ ProjectsDesc=Ez a nézet minden projektet tartalmaz. MyTasksDesc=Ez a nézet azokra a projektekre van korlátozva amivel valamilyen összefüggésben áll. TasksPublicDesc=Ez a nézet minden az ön által megtekinthető projektre van korlátozva. TasksDesc=Ez a nézet minden projektet tartalmaz. -Myprojects=Projektjeim ProjectsArea=Projektek terület NewProject=Új projekt AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/hu_HU/sendings.lang b/htdocs/langs/hu_HU/sendings.lang index dc143062fc8..82c7da53ef0 100644 --- a/htdocs/langs/hu_HU/sendings.lang +++ b/htdocs/langs/hu_HU/sendings.lang @@ -4,7 +4,8 @@ Sending=Szállítás Sendings=Szállítások Shipment=Szállítás Shipments=Szállítások -Receivings=Fogadás +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Szállítási terület ListOfSendings=Szállítások listája SendingMethod=Szállítás módja @@ -14,7 +15,7 @@ SearchASending=Szállítás keresése StatisticsOfSendings=Szállítási statisztikák NbOfSendings=Szállítások száma NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Szállítási kártya +SendingCard=Shipment card NewSending=Új szállítás CreateASending=Szállítás létrehozása CreateSending=Szállítás létrehozása @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Megszakítva StatusSendingDraftShort=Piszkozat StatusSendingValidatedShort=Hitelesítve StatusSendingProcessedShort=Feldolgozott -SendingSheet=Küldési adatlap +SendingSheet=Shipment sheet Carriers=Fuvarozók Carrier=Fuvarozó CarriersArea=Fuvarozási terület @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Események a szállítás LinkToTrackYourPackage=Link követni a csomagot ShipmentCreationIsDoneFromOrder=Ebben a pillanatban, létrejön egy új szállítmány kerül sor a sorrendben kártyát. -RelatedShippings=Related shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Ügyfél fogád diff --git a/htdocs/langs/hu_HU/stocks.lang b/htdocs/langs/hu_HU/stocks.lang index 78645940e23..2f5b54b3bfc 100644 --- a/htdocs/langs/hu_HU/stocks.lang +++ b/htdocs/langs/hu_HU/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=SÁÉ EnhancedValueOfWarehouses=Raktárak értéke UserWarehouseAutoCreate=Raktár autómatikus létrehozása felhasználó létrehozásakor QtyDispatched=Mennyiség kiküldése +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Készlet kiküldése RuleForStockManagementDecrease=Készlet kerezelés szabály csökkentése RuleForStockManagementIncrease=Készlet kerezelés szabály emelése @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Tényleges készlet növelése beszállítótól való re ReStockOnDispatchOrder=Tényleges készlet növelése manuális raktárba való feladáskor miután a beszállítói rendelés beérkezett ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=A rendelés még nincs olyan állapotban, hogy kiküldhető legyen a raktárba. -StockDiffPhysicTeoric=Az eltérés oka a gyakorlati és az elméleti készlet +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Nincs előredefiniált termék ehhez az objektumhoz. Tehát nincs szükség raktárba küldésre. DispatchVerb=Kiküldés StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/hu_HU/suppliers.lang b/htdocs/langs/hu_HU/suppliers.lang index ea6dcc26afa..e8faa8de1ae 100644 --- a/htdocs/langs/hu_HU/suppliers.lang +++ b/htdocs/langs/hu_HU/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Beszállítók Supplier=Beszállító -AddSupplier=Beszállító hozzáadása +AddSupplier=Create a supplier SupplierRemoved=Beszállító eltávolítva SuppliersInvoice=Beszállító számla NewSupplier=Új beszállító @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Nincs vagy a %s batch fájl nem futott az utóbbi SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/hu_HU/withdrawals.lang b/htdocs/langs/hu_HU/withdrawals.lang index 48ef1688bc0..ff8da684158 100644 --- a/htdocs/langs/hu_HU/withdrawals.lang +++ b/htdocs/langs/hu_HU/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Hitelt WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Mutasd Kifizetés IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Azonban, ha számlát legalább egy fizetési visszavonása még nem feldolgozott, akkor nem kell beállítani, hogy fizetni kell kezelni visszavonása előtt. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/hu_HU/workflow.lang b/htdocs/langs/hu_HU/workflow.lang index 2cc783892de..23c05f85171 100644 --- a/htdocs/langs/hu_HU/workflow.lang +++ b/htdocs/langs/hu_HU/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow modul beállítása -WorkflowDesc=Ez a modul terveztem, hogy módosítsa a viselkedését automatikus intézkedéseket alkalmazhassák. Alapértelmezésben a munkafolyamatok nyitva van (amit csinál, hogy ezt akarod). Tudod használ automatikus intézkedéseket, hogy érdekes be +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Nincs munkafolyamat akkor lehet módosítani a modul aktiválása. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Létrehozása után automatikusan az ügyfelek érdekében a kereskedelmi javaslat aláírt descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Hozzon létre egy vásárlói számlát után automatikusan egy kereskedelmi javaslat aláírt descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Hozzon létre egy vásárlói számlát után automatikusan érvényesíti a szerződés descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Hozzon létre egy vásárlói számlát követően automatikusan az ügyfelek érdekében van zárva -# descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/id_ID/accountancy.lang b/htdocs/langs/id_ID/accountancy.lang index dd797a93449..349fd3e2469 100644 --- a/htdocs/langs/id_ID/accountancy.lang +++ b/htdocs/langs/id_ID/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Konfigurasi modul ahli akuntansi Journaux=Jurnal JournalFinancial=Jurnal Keuangan Exports=Ekspor +Export=Export Modelcsv=Model Ekspor +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Pilih satu model Ekspor Modelcsv_normal=Ekspor Klasik Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=pembatas CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/id_ID/admin.lang b/htdocs/langs/id_ID/admin.lang index fbbe0bd037b..91b5e8d77f0 100644 --- a/htdocs/langs/id_ID/admin.lang +++ b/htdocs/langs/id_ID/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=This is setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download Packet +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr's root directory %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Pilih Modul CurrentVersion=Versi Dolibarr saat ini CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Versi stabil terakhir +UpdateServerOffline=Update server offline GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Pilih dari tabel ExtrafieldSeparator=Pembatas ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Export interventions Permission71=Membaca Data Anggota Permission72=Membuat/Merubah Data Anggota Permission74=Menghapus Data Anggota -Permission75=Setup types and attributes for members +Permission75=Setup types of membership Permission76=Export datas Permission78=Read subscriptions Permission79=Create/modify subscriptions @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Delete sendings Permission111=Read financial accounts Permission112=Create/modify/delete and compare transactions -Permission113=Setup financiel accounts (create, manage categories) -Permission114=Konsolidasi Transaksi +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Export transactions and account statements Permission116=Transfer antar akun Permission117=Manage cheques dispatching @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Setup of sendings by email SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). PathToDocuments=Path to documents PathDirectory=Directory -SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by thoose bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommanded) is to use the method "SMTP socket library" that has no disadvantages. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes i FreeLegalTextOnOrders=Free text on orders WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with your clicktodial login (defined on your user card)
__PASS__ that will be replaced with your clicktodial password (defined on your user card). @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=EMailing module setup MailingEMailFrom=Sender EMail (From) for emails sent by emailing module MailingEMailError=Return EMail (Errors-to) for emails with errors +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Sender EMail (From) for emails sent for notifications @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Sending module setup SendingsReceiptModel=Sending receipt model SendingsNumberingModules=Sendings numbering modules -SendingsAbility=Support sendings sheets for customer deliveries +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. -FreeLegalTextOnShippings=Free text on shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Products deliveries receipt numbering module DeliveryOrderModel=Products deliveries receipt model @@ -1414,7 +1420,7 @@ AdvancedEditor=Advanced editor ActivateFCKeditor=Activate advanced editor for: FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note -FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommanded as it can create problems with special characters and page formating when building PDF files. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/id_ID/agenda.lang b/htdocs/langs/id_ID/agenda.lang index 369ba05b614..3b088ea3c7d 100644 --- a/htdocs/langs/id_ID/agenda.lang +++ b/htdocs/langs/id_ID/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Customer order %s sent by EMail InvoiceSentByEMail=Customer invoice %s sent by EMail SupplierOrderSentByEMail=Supplier order %s sent by EMail SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail -ShippingSentByEMail=Shipping %s sent by EMail -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Third party created DateActionPlannedStart= Planned start date DateActionPlannedEnd= Planned end date @@ -68,7 +69,7 @@ DateActionDoneEnd= Real end date DateActionStart= Start date DateActionEnd= End date AgendaUrlOptions1=You can also add following parameters to filter output: -AgendaUrlOptions2=login=%s to restrict output to actions created by, assigned to or done by user %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=%s to restrict output to actions assigned to user %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/id_ID/banks.lang b/htdocs/langs/id_ID/banks.lang index 05156a723ad..10a5f5b3c14 100644 --- a/htdocs/langs/id_ID/banks.lang +++ b/htdocs/langs/id_ID/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Account FinancialAccounts=Accounts BankAccount=Bank account BankAccounts=Bank accounts +ShowAccount=Show Account AccountRef=Financial account ref AccountLabel=Financial account label CashAccount=Cash account diff --git a/htdocs/langs/id_ID/bills.lang b/htdocs/langs/id_ID/bills.lang index adf1a89cd63..0aff57599da 100644 --- a/htdocs/langs/id_ID/bills.lang +++ b/htdocs/langs/id_ID/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Tagihan Bills=Tagihan - tagihan -BillsCustomers=Semua tagihan untuk pelanggan -BillsCustomer=Tagihan untuk pelanggan -BillsSuppliers=Semua tagihan untuk pemasok / supplier -BillsCustomersUnpaid=Semua tagihan pelanggan yang belum dibayar +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Semua tagihan pelanggan yang dibayar untuk %s BillsSuppliersUnpaid=Semua tagihan untuk pemasok / supplier yang belum dibayar BillsSuppliersUnpaidForCompany=Semua tagihan untuk pemasok / supplier yang belum dibayar untuk %s BillsLate=Pembayaran - pembayaran yang terlambat -BillsStatistics=Statistik semua tagihan pelanggan -BillsStatisticsSuppliers=Statistik semua tagihan pemasok / supplier +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Dimatikan karena tidak dapat dihapus InvoiceStandard=Tagihan standar InvoiceStandardAsk=Taghian standar @@ -348,6 +348,7 @@ ChequeNumber=Check N° ChequeOrTransferNumber=Check/Transfer N° ChequeMaker=Check transmitter ChequeBank=Bank of Check +CheckBank=Check NetToBePaid=Net to be paid PhoneNumber=Tel FullPhoneNumber=Telephone @@ -388,7 +389,7 @@ DisabledBecausePayments=Not possible since there are some payments CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified paid ExpectedToPay=Expected payment PayedByThisPayment=Paid by this payment -ClosePaidInvoicesAutomatically=Classify "Paid" all standard or replacement invoices entirely paid. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=All invoice with no remain to pay will be automatically closed to status "Paid". ToMakePayment=Pay @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up s TypeContact_invoice_supplier_external_BILLING=Supplier invoice contact TypeContact_invoice_supplier_external_SHIPPING=Supplier shipping contact TypeContact_invoice_supplier_external_SERVICE=Supplier service contact +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/id_ID/compta.lang b/htdocs/langs/id_ID/compta.lang index 878eb49b3c9..0d579a06ff1 100644 --- a/htdocs/langs/id_ID/compta.lang +++ b/htdocs/langs/id_ID/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Turnover PaymentsNotLinkedToInvoice=Payments not linked to any invoice, so not linked to any third party PaymentsNotLinkedToUser=Payments not linked to any user Profit=Profit +AccountingResult=Accounting result Balance=Balance Debit=Debit Credit=Credit diff --git a/htdocs/langs/id_ID/cron.lang b/htdocs/langs/id_ID/cron.lang index 195ad43c87c..82f4574b223 100644 --- a/htdocs/langs/id_ID/cron.lang +++ b/htdocs/langs/id_ID/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/id_ID/ecm.lang b/htdocs/langs/id_ID/ecm.lang index 47c6a4ccd6e..4a1931a3217 100644 --- a/htdocs/langs/id_ID/ecm.lang +++ b/htdocs/langs/id_ID/ecm.lang @@ -1,55 +1,57 @@ # Dolibarr language file - Source file is en_US - ecm -# MenuECM=Documents -# DocsMine=My documents -# DocsGenerated=Generated documents -# DocsElements=Elements documents -# DocsThirdParties=Documents third parties -# DocsContracts=Documents contracts -# DocsProposals=Documents proposals -# DocsOrders=Documents orders -# DocsInvoices=Documents invoices -# ECMNbOfDocs=Nb of documents in directory -# ECMNbOfDocsSmall=Nb of doc. -# ECMSection=Directory -# ECMSectionManual=Manual directory -# ECMSectionAuto=Automatic directory -# ECMSectionsManual=Manual tree -# ECMSectionsAuto=Automatic tree -# ECMSections=Directories -# ECMRoot=Root -# ECMNewSection=New directory -# ECMAddSection=Add directory -# ECMNewDocument=New document -# ECMCreationDate=Creation date -# ECMNbOfFilesInDir=Number of files in directory -# ECMNbOfSubDir=Number of sub-directories -# ECMNbOfFilesInSubDir=Number of files in sub-directories -# ECMCreationUser=Creator -# ECMArea=EDM area -# ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. -# ECMAreaDesc2=* Automatic directories are filled automatically when adding documents from card of an element.
* Manual directories can be used to save documents not linked to a particular element. -# ECMSectionWasRemoved=Directory %s has been deleted. -# ECMDocumentsSection=Document of directory -# ECMSearchByKeywords=Search by keywords -# ECMSearchByEntity=Search by object -# ECMSectionOfDocuments=Directories of documents -# ECMTypeManual=Manual -# ECMTypeAuto=Automatic -# ECMDocsBySocialContributions=Documents linked to social contributions -# ECMDocsByThirdParties=Documents linked to third parties -# ECMDocsByProposals=Documents linked to proposals -# ECMDocsByOrders=Documents linked to customers orders -# ECMDocsByContracts=Documents linked to contracts -# ECMDocsByInvoices=Documents linked to customers invoices -# ECMDocsByProducts=Documents linked to products -# ECMDocsByProjects=Documents linked to projects -# ECMNoDirectoryYet=No directory created -# ShowECMSection=Show directory -# DeleteSection=Remove directory -# ConfirmDeleteSection=Can you confirm you want to delete the directory %s ? -# ECMDirectoryForFiles=Relative directory for files -# CannotRemoveDirectoryContainsFiles=Removed not possible because it contains some files -# ECMFileManager=File manager -# ECMSelectASection=Select a directory on left tree... -# DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. +MenuECM=Documents +DocsMine=My documents +DocsGenerated=Generated documents +DocsElements=Elements documents +DocsThirdParties=Documents third parties +DocsContracts=Documents contracts +DocsProposals=Documents proposals +DocsOrders=Documents orders +DocsInvoices=Documents invoices +ECMNbOfDocs=Nb of documents in directory +ECMNbOfDocsSmall=Nb of doc. +ECMSection=Directory +ECMSectionManual=Manual directory +ECMSectionAuto=Automatic directory +ECMSectionsManual=Manual tree +ECMSectionsAuto=Automatic tree +ECMSections=Directories +ECMRoot=Root +ECMNewSection=New directory +ECMAddSection=Add directory +ECMNewDocument=New document +ECMCreationDate=Creation date +ECMNbOfFilesInDir=Number of files in directory +ECMNbOfSubDir=Number of sub-directories +ECMNbOfFilesInSubDir=Number of files in sub-directories +ECMCreationUser=Creator +ECMArea=EDM area +ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. +ECMAreaDesc2=* Automatic directories are filled automatically when adding documents from card of an element.
* Manual directories can be used to save documents not linked to a particular element. +ECMSectionWasRemoved=Directory %s has been deleted. +ECMDocumentsSection=Document of directory +ECMSearchByKeywords=Search by keywords +ECMSearchByEntity=Search by object +ECMSectionOfDocuments=Directories of documents +ECMTypeManual=Manual +ECMTypeAuto=Automatic +ECMDocsBySocialContributions=Documents linked to social contributions +ECMDocsByThirdParties=Documents linked to third parties +ECMDocsByProposals=Documents linked to proposals +ECMDocsByOrders=Documents linked to customers orders +ECMDocsByContracts=Documents linked to contracts +ECMDocsByInvoices=Documents linked to customers invoices +ECMDocsByProducts=Documents linked to products +ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions +ECMNoDirectoryYet=No directory created +ShowECMSection=Show directory +DeleteSection=Remove directory +ConfirmDeleteSection=Can you confirm you want to delete the directory %s ? +ECMDirectoryForFiles=Relative directory for files +CannotRemoveDirectoryContainsFiles=Removed not possible because it contains some files +ECMFileManager=File manager +ECMSelectASection=Select a directory on left tree... +DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. diff --git a/htdocs/langs/id_ID/errors.lang b/htdocs/langs/id_ID/errors.lang index 53f8d168a55..497ddd814e4 100644 --- a/htdocs/langs/id_ID/errors.lang +++ b/htdocs/langs/id_ID/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Setup of module looks to be uncomplete. Go on Setup ErrorBadMask=Error on mask ErrorBadMaskFailedToLocatePosOfSequence=Error, mask without sequence number ErrorBadMaskBadRazMonth=Error, bad reset value +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Error. Select at least one entry. ErrorProductWithRefNotExist=Product with reference '%s' don't exist ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transation that is conciliated @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/id_ID/install.lang b/htdocs/langs/id_ID/install.lang index 3e236cfac61..62986a9dfba 100644 --- a/htdocs/langs/id_ID/install.lang +++ b/htdocs/langs/id_ID/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Proses migrasi selesai LastStepDesc=Last step: Define here login and password you plan to use to connect to software. Do not loose this as it is the account to administer all others. ActivateModule=Activate module %s ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Update time spent in seconds MigrationActioncommElement=Update data on actions MigrationPaymentMode=Data migration for payment mode MigrationCategorieAssociation=Migration of categories +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/id_ID/languages.lang b/htdocs/langs/id_ID/languages.lang index 8644d54a5a4..87ed5359bfa 100644 --- a/htdocs/langs/id_ID/languages.lang +++ b/htdocs/langs/id_ID/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Jerman (Austria) Language_de_CH=Jerman (Swiss) Language_el_GR=Yunani Language_en_AU=English (Australia) +Language_en_CA=English (Canada) Language_en_GB=English (United Kingdom) Language_en_IN=English (India) Language_en_NZ=English (Selandia Baru) diff --git a/htdocs/langs/id_ID/main.lang b/htdocs/langs/id_ID/main.lang index 0c3a3ca751c..62adb884547 100644 --- a/htdocs/langs/id_ID/main.lang +++ b/htdocs/langs/id_ID/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=MM/dd/yyyy FormatDateShortJavaInput=MM/dd/yyyy FormatDateShortJQuery=mm/dd/yy FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Error, failed to save file. SetDate=Set date SelectDate=Select a date SeeAlso=See also %s +SeeHere=See here BackgroundColorByDefault=Default background color FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=User Users=Users Group=Group Groups=Groups +NoUserGroupDefined=No user group defined Password=Password PasswordRetype=Retype your password NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. @@ -258,6 +261,7 @@ days=days Hours=Hours Minutes=Minutes Seconds=Seconds +Weeks=Weeks Today=Today Yesterday=Yesterday Tomorrow=Tomorrow @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/id_ID/margins.lang b/htdocs/langs/id_ID/margins.lang index 606d5e5053a..748b3c71f30 100644 --- a/htdocs/langs/id_ID/margins.lang +++ b/htdocs/langs/id_ID/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Product or Service AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/id_ID/orders.lang b/htdocs/langs/id_ID/orders.lang index 6ee9c19fa95..34792ae1eb2 100644 --- a/htdocs/langs/id_ID/orders.lang +++ b/htdocs/langs/id_ID/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customer's orders +CustomersOrders=Customers orders CustomersOrdersRunning=Current customer's orders CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customer's orders to validate -OrdersToBill=Customer's orders delivered -OrdersInProcess=Customer's orders in process -OrdersToProcess=Customer's orders to process +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Supplier's orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated StatusOrderSentShort=In process StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Reception +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Processed StatusOrderToBillShort=Delivered StatusOrderToBill2Short=To bill @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Everything received StatusOrderCanceled=Canceled StatusOrderDraft=Draft (needs to be validated) StatusOrderValidated=Validated -StatusOrderOnProcess=Waiting to receive +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Processed StatusOrderToBill=Delivered StatusOrderToBill2=To bill @@ -50,6 +50,8 @@ StatusOrderRefused=Refused StatusOrderReceivedPartially=Partially received StatusOrderReceivedAll=Everything received ShippingExist=A shipment exists +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Draft or approved not yet ordered DraftOrWaitingShipped=Draft or validated not yet shipped MenuOrdersToBill=Orders delivered diff --git a/htdocs/langs/id_ID/productbatch.lang b/htdocs/langs/id_ID/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/id_ID/productbatch.lang +++ b/htdocs/langs/id_ID/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/id_ID/products.lang b/htdocs/langs/id_ID/products.lang index 81d217ddb54..3a29639b12b 100644 --- a/htdocs/langs/id_ID/products.lang +++ b/htdocs/langs/id_ID/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Accountancy code (sell) ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services -ProductsAndServicesOnSell=Available Products and Services -ProductsAndServicesNotOnSell=Obsolete Products and Services +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Available products -ProductsNotOnSell=Obsolete products -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Available services -ServicesNotOnSell=Obsolete services -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded LastRecordedProductsAndServices=Last %s recorded products/services @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/id_ID/projects.lang b/htdocs/langs/id_ID/projects.lang index c48e27fd204..b3c150d1687 100644 --- a/htdocs/langs/id_ID/projects.lang +++ b/htdocs/langs/id_ID/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Project Projects=Projects +ProjectStatus=Project status SharedProject=Everybody PrivateProject=Contacts of project MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). @@ -11,7 +12,6 @@ ProjectsDesc=This view presents all projects (your user permissions grant you pe MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). TasksPublicDesc=This view presents all projects and tasks you are allowed to read. TasksDesc=This view presents all projects and tasks (your user permissions grant you permission to view everything). -Myprojects=My projects ProjectsArea=Projects area NewProject=New project AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/id_ID/sendings.lang b/htdocs/langs/id_ID/sendings.lang index f6111bac684..794c9019c86 100644 --- a/htdocs/langs/id_ID/sendings.lang +++ b/htdocs/langs/id_ID/sendings.lang @@ -4,7 +4,8 @@ Sending=Shipment Sendings=Shipments Shipment=Shipment Shipments=Shipments -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Shipments area ListOfSendings=List of shipments SendingMethod=Shipping method @@ -14,7 +15,7 @@ SearchASending=Search for shipment StatisticsOfSendings=Statistics for shipments NbOfSendings=Number of shipments NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Shipping card +SendingCard=Shipment card NewSending=New shipment CreateASending=Create a shipment CreateSending=Create shipment @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Canceled StatusSendingDraftShort=Draft StatusSendingValidatedShort=Validated StatusSendingProcessedShort=Processed -SendingSheet=Sending sheet +SendingSheet=Shipment sheet Carriers=Carriers Carrier=Carrier CarriersArea=Carriers area @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Events on shipment LinkToTrackYourPackage=Link to track your package ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is done from the order card. -RelatedShippings=Related shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Catch by customer diff --git a/htdocs/langs/id_ID/stocks.lang b/htdocs/langs/id_ID/stocks.lang index 06c502504e9..9de2e5a4dbe 100644 --- a/htdocs/langs/id_ID/stocks.lang +++ b/htdocs/langs/id_ID/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a warehouse automatically when creating a user QtyDispatched=Quantity dispatched +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Stock dispatching RuleForStockManagementDecrease=Rule for stock management decrease RuleForStockManagementIncrease=Rule for stock management increase @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. -StockDiffPhysicTeoric=Reason for difference stock physical and theoretical +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=No predefined products for this object. So no dispatching in stock is required. DispatchVerb=Dispatch StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/id_ID/suppliers.lang b/htdocs/langs/id_ID/suppliers.lang index b1545d6ca3c..fe4a33edeae 100644 --- a/htdocs/langs/id_ID/suppliers.lang +++ b/htdocs/langs/id_ID/suppliers.lang @@ -1,44 +1,46 @@ # Dolibarr language file - Source file is en_US - suppliers -Suppliers=Suppliers -Supplier=Supplier -AddSupplier=Add a supplier -SupplierRemoved=Supplier removed -SuppliersInvoice=Suppliers invoice -NewSupplier=New supplier -History=History -ListOfSuppliers=List of suppliers -ShowSupplier=Show supplier -OrderDate=Order date -BuyingPrice=Buying price -BuyingPriceMin=Minimum buying price -BuyingPriceMinShort=Min buying price +Suppliers=Suplier langganan +Supplier=Suplier +AddSupplier=Create a supplier +SupplierRemoved=Suplier dihapus +SuppliersInvoice=Invoice suplier +NewSupplier=Suplier baru +History=Riwayat +ListOfSuppliers=Daftar Suplier +ShowSupplier=Tampilkan suplier +OrderDate=Tanggal Pemesanan +BuyingPrice=Harga beli +BuyingPriceMin=Harga beli minimal +BuyingPriceMinShort=Harga beli min TotalBuyingPriceMin=Total of subproducts buying prices SomeSubProductHaveNoPrices=Some sub-products have no price defined -AddSupplierPrice=Add supplier price -ChangeSupplierPrice=Change supplier price +AddSupplierPrice=Tambahkan harga suplier +ChangeSupplierPrice=Ubah harga suplier ErrorQtyTooLowForThisSupplier=Quantity too low for this supplier or no price defined on this product for this supplier ErrorSupplierCountryIsNotDefined=Country for this supplier is not defined. Correct this first. ProductHasAlreadyReferenceInThisSupplier=This product has already a reference in this supplier ReferenceSupplierIsAlreadyAssociatedWithAProduct=This reference supplier is already associated with a reference: %s -NoRecordedSuppliers=No suppliers recorded -SupplierPayment=Supplier payment -SuppliersArea=Suppliers area -RefSupplierShort=Ref. supplier -Availability=Availability +NoRecordedSuppliers=Tidak ada suplier tersimpan +SupplierPayment=Pembayaran suplier +SuppliersArea=Wilayah Suplier +RefSupplierShort=Referensi Suplier +Availability=Ketersediaan ExportDataset_fournisseur_1=Supplier invoices list and invoice lines ExportDataset_fournisseur_2=Supplier invoices and payments ExportDataset_fournisseur_3=Supplier orders and order lines -ApproveThisOrder=Approve this order +ApproveThisOrder=Setujui pesanan ConfirmApproveThisOrder=Are you sure you want to approve order %s ? -DenyingThisOrder=Denying this order +DenyingThisOrder=Tolak pesanan ConfirmDenyingThisOrder=Are you sure you want to deny this order %s ? ConfirmCancelThisOrder=Are you sure you want to cancel this order %s ? -AddCustomerOrder=Create customer order -AddCustomerInvoice=Create customer invoice -AddSupplierOrder=Create supplier order -AddSupplierInvoice=Create supplier invoice +AddCustomerOrder=Buat pesanan pelanggan +AddCustomerInvoice=Buat invoice pelanggan +AddSupplierOrder=Buat pesanan suplier +AddSupplierInvoice=Buat invoice suplier ListOfSupplierProductForSupplier=List of products and prices for supplier %s NoneOrBatchFileNeverRan=None or batch %s not ran recently -SentToSuppliers=Sent to suppliers -ListOfSupplierOrders=List of supplier orders -MenuOrdersSupplierToBill=Supplier orders to invoice +SentToSuppliers=Terkirim ke suplier +ListOfSupplierOrders=Daftar pesanan suplier +MenuOrdersSupplierToBill=Pesanan suplier menjadi invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/id_ID/withdrawals.lang b/htdocs/langs/id_ID/withdrawals.lang index ea32511fefb..c36ffbf025a 100644 --- a/htdocs/langs/id_ID/withdrawals.lang +++ b/htdocs/langs/id_ID/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Credit on WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Show Withdraw IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one withdrawal payment not yet processed, it won't be set as paid to allow prior withdrawal management. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/id_ID/workflow.lang b/htdocs/langs/id_ID/workflow.lang index b7f4f77d9f4..17c8dd3aafa 100644 --- a/htdocs/langs/id_ID/workflow.lang +++ b/htdocs/langs/id_ID/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin -# WorkflowSetup=Workflow module setup -# WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can enabled automatic actions that you are interesting in. -# ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -# descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -# descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -# descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -# descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed -# descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +WorkflowSetup=Workflow module setup +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. +ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/is_IS/accountancy.lang b/htdocs/langs/is_IS/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/is_IS/accountancy.lang +++ b/htdocs/langs/is_IS/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/is_IS/admin.lang b/htdocs/langs/is_IS/admin.lang index a72321ea970..6ab56c9cb5c 100644 --- a/htdocs/langs/is_IS/admin.lang +++ b/htdocs/langs/is_IS/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=Þetta er skipulag unnið: StepNb=Skref %s FindPackageFromWebSite=Finna pakki sem veitir lögun þú vilt (td á heimasíðu %s ). -DownloadPackageFromWebSite=Sækja skrá af fjarlægri pakkann. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Taka upp pakka skrá inn í rót Dolibarr möppuna %s SetupIsReadyForUse=Setja er lokið og Dolibarr er tilbúinn til notkunar með þessu nýja hluti. NotExistsDirect=The alternative root directory is not defined.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Select module: CurrentVersion=Dolibarr núverandi útgáfa CallUpdatePage=Fara á næstu síðu sem að endurnýja gagnagrunn uppbyggingu og gögn: %s . LastStableVersion=Síðasta stöðuga útgáfa +UpdateServerOffline=Update server offline GenericMaskCodes=Þú getur fært inn hvaða tala lagsins. Í þessu maska gæti eftirfarandi tög að nota:
(000000) samsvarar fjölda sem verður incremented á hverjum %s . Sláðu inn eins mörg núll og löngun lengd borðið. Teljarinn verður lokið við núllum frá vinstri til að fá eins mörg núll og lagsins.
(000000 000) sami eins og fyrri en að vega upp á móti sem svarar til fjölda til hægri á + merki er notað sem hófst á fyrsta %s .
(000000 @ x) sami eins og fyrri en borðið er endurstilla á núll þegar mánaðar x er náð (x á milli 1 og 12). Ef þessi möguleiki er notaður og x er 2 eða hærra, þá röð (YY) (mm) eða (áááá) (mm) er einnig nauðsynleg.
(Dd) dag (01-31).
(Mm) mánuði (01-12).
(YY), (áááá) eða (y) ár yfir 2, 4 eða 1 númer.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=Allir aðrir stafir í möskva haldast óbreytt.
Bil eru ekki leyfð.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Útflutningur inngrip Permission71=Lesa meðlimir Permission72=Búa til / breyta meðlimir Permission74=Eyða meðlimir -Permission75=Skipulag gerðir og eiginleika fyrir félagsmenn +Permission75=Setup types of membership Permission76=Útflutningur gögn Permission78=Lesa áskrift Permission79=Búa til / breyta áskrift @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Eyða sendings Permission111=Lesa fjárhagslega reikninga Permission112=Búa til / breyta / eyða og bera saman viðskipti -Permission113=Skipulag financiel reikningar (skapa, stjórna flokkum) -Permission114=Styrkja fundargerðir +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Útflutningur fundargerðir og reikningur staðhæfing Permission116=Millifærslur milli reikninga Permission117=Manage eftirlit dispatching @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Uppsetning sendings með tölvupósti SendmailOptionNotComplete=Aðvörun, á sumum Linux kerfi, að senda tölvupóst úr bréfinu, sendu mail framkvæmd skipulag verður conatins valkostur-BA (breytu mail.force_extra_parameters í skrá php.ini þinn). Ef viðtakendur eru margir aldrei fá tölvupóst, reyna að breyta þessari PHP breytu með mail.force_extra_parameters =-BA). PathToDocuments=Path að skjölum PathDirectory=Listinn -SendmailOptionMayHurtBuggedMTA=Lögun að senda póst með aðferð "PHP póst-skrá" mun búa til tölvupóst sem gæti ekki rétt flokka af sumum sem fá póstur framreiðslumaður. Niðurstaðan er sú að sumir póstur er ekki hægt að lesa með því að fólk hýst hjá thoose bugged umhverfi. Það er raunin fyrir nokkrum Internet þjónustur (td: Orange í Frakklandi). Þetta er ekki vandamál í Dolibarr né í PHP en á móti póstur framreiðslumaður. Þú getur hins vegar bætt möguleika MAIN_FIX_FOR_BUGGED_MTA 1. í uppsetningu - annað að breyta Dolibarr að forðast þetta. Hins vegar getur þú lendir í vandræðum með öðrum netþjónum sem virðing stranglega SMTP staðall. Önnur lausn (recommanded) er að nota aðferðina "SMTP fals bókasafn" sem hefur enga ókosti. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Til að sannreyna röð eftir tillögu nær, gerir FreeLegalTextOnOrders=Frjáls texti á pantanir WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Smelltu til að hringja mát skipulag ClickToDialUrlDesc=Url kallað þegar smellur á picto síminn er lokið. Dans l'url, énumérés pouvez utiliser les balises
%% 1 $ s Qui Sera remplacé jöfnuður æ Sími de l'appelé
%% 2 $ s Qui Sera remplacé jöfnuður æ Sími de l'appelant (æ votre)
%% 3 $ s Qui Sera remplacé jöfnuður votre innskráningu clicktodial (skilgreining sur votre fiche utilisateur)
%% 4 $ s Qui Sera remplacé jöfnuður votre mot de passe clicktodial (skilgreining sur votre fiche utilisateur). @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=Emailing mát skipulag MailingEMailFrom=Sendandi Email (From) fyrir tölvupóst sent póst mát MailingEMailError=Return Email (Villa-til) fyrir tölvupóst með villa +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Sendandi Email (From) fyrir tölvupóst sendi tilkynningar @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Sendi mát skipulag SendingsReceiptModel=Sending kvittun líkan SendingsNumberingModules=Sendings númera einingar -SendingsAbility=Stuðningur sendings lak fyrir afgreiðsla viðskiptavina +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=Í flestum tilfellum er sendings kvittunum notað bæði sem lak fyrir afgreiðsla viðskiptavina (listi af vörum til að senda) og lak sem er recevied og undirrituð af viðskiptavini. Svo vara afgreiðsla greiðslukvittun er afrit lögun og er sjaldnast virkur. -FreeLegalTextOnShippings=Frjáls texti á shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Vörur afgreiðsla barst tala mát DeliveryOrderModel=Vörur fæðingar viðtöku líkaninu @@ -1414,7 +1420,7 @@ AdvancedEditor=Ítarlegri ritstjóri ActivateFCKeditor=Virkja FCKeditor fyrir: FCKeditorForCompany=WYSIWIG sköpun / útgáfa af lýsingu companie og athugaðu FCKeditorForProduct=s WYSIWIG sköpun / útgáfa af vörum / þjónustu "lýsingu og athugaðu -FCKeditorForProductDetails=WYSIWIG sköpun / útgáfa af vörum upplýsingar línur fyrir alla aðila (tillögur, pantanir, reikninga, etc ..). Viðvörun: Þegar þessi kostur fyrir þessu tilfelli er alvarlega ekki recommanded eins og það getur skapað vandamál með sértákn og blaðsíða myndun við að setja upp PDF skrá. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG sköpun / útgáfa af póstlista FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/is_IS/agenda.lang b/htdocs/langs/is_IS/agenda.lang index 9426f2e6177..1b163691b92 100644 --- a/htdocs/langs/is_IS/agenda.lang +++ b/htdocs/langs/is_IS/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Viðskiptavinur röð %s send með tölvupósti InvoiceSentByEMail=Viðskiptavinur vörureikningi %s send með tölvupósti SupplierOrderSentByEMail=Birgir röð %s send með tölvupósti SupplierInvoiceSentByEMail=Birgir vörureikningi %s send með tölvupósti -ShippingSentByEMail=Sendingarmáti %s send með tölvupósti -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Í þriðja aðila til DateActionPlannedStart= Fyrirhugaður upphafsdagur DateActionPlannedEnd= Áætlaðir lokadagur @@ -68,7 +69,7 @@ DateActionDoneEnd= Real lokadagur DateActionStart= Upphafsdagur DateActionEnd= Lokadagur AgendaUrlOptions1=Þú getur einnig bætt við eftirfarandi breytur til að sía framleiðsla: -AgendaUrlOptions2=login = %s til að takmarka framleiðsla til aðgerða stofnuðum af áhrifum eða gert með notandann %s . +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint = %s til að takmarka framleiðsla til aðgerða áhrif til notandi %s . AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/is_IS/banks.lang b/htdocs/langs/is_IS/banks.lang index 284a25dc6f0..b6516a6fa11 100644 --- a/htdocs/langs/is_IS/banks.lang +++ b/htdocs/langs/is_IS/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Reikningur FinancialAccounts=Reikningar BankAccount=Bankanúmer BankAccounts=Bankareikningar +ShowAccount=Show Account AccountRef=Financial reikning dómari AccountLabel=Financial reikning merki CashAccount=Cash reikning diff --git a/htdocs/langs/is_IS/bills.lang b/htdocs/langs/is_IS/bills.lang index d286633e8c8..40a85a7a31f 100644 --- a/htdocs/langs/is_IS/bills.lang +++ b/htdocs/langs/is_IS/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Invoice Bills=Kvittanir -BillsCustomers=reikninga viðskiptavinar -BillsCustomer=Viðskiptavinar Reikningar -BillsSuppliers=reikningum birgis -BillsCustomersUnpaid=reikningum ógreidd viðskiptavinar +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=reikningum ógreidd viðskiptavinar fyrir %s BillsSuppliersUnpaid=reikningum ógreidd birgis BillsSuppliersUnpaidForCompany=Reikninga ógreidda birgis til %s BillsLate=Vanskil -BillsStatistics=reikninga viðskiptavinar tölfræði -BillsStatisticsSuppliers=reikningum birgis tölfræði +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Óvirkt því ekki hægt að þurrkast út InvoiceStandard=Standard Reikningar InvoiceStandardAsk=Standard Reikningar @@ -348,6 +348,7 @@ ChequeNumber=Athugaðu n ° ChequeOrTransferNumber=Athuga / Flytja n ° ChequeMaker=Athugaðu sendandi ChequeBank=Seðlabanka Athuga +CheckBank=Check NetToBePaid=Net til að greiða PhoneNumber=Sími FullPhoneNumber=Sími @@ -388,7 +389,7 @@ DisabledBecausePayments=Ekki hægt þar sem það er einhvers greiðslur CantRemovePaymentWithOneInvoicePaid=Get ekki fjarlægt greiðslu þar er að minnsta kosti á reikning flokkast borgað ExpectedToPay=Væntanlegur greiðslu PayedByThisPayment=Borgað af þessari greiðslu -ClosePaidInvoicesAutomatically=Flokka "borgað" allt staðall eða skipti reikningar entirely borgað. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=Allt Reikningar með ekki áfram að borga verður sjálfkrafa lokað til stöðu "borgað". ToMakePayment=Pay @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Fulltrúi eftirfarandi upp bi TypeContact_invoice_supplier_external_BILLING=Birgir Reikningar samband TypeContact_invoice_supplier_external_SHIPPING=Birgir siglinga samband TypeContact_invoice_supplier_external_SERVICE=Birgir Þjónusta Hafa samband +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/is_IS/compta.lang b/htdocs/langs/is_IS/compta.lang index e793677dee7..beea1abbfa1 100644 --- a/htdocs/langs/is_IS/compta.lang +++ b/htdocs/langs/is_IS/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Velta PaymentsNotLinkedToInvoice=Greiðslur ekki tengd við hvaða nótum svo ekki tengdur neinum þriðja aðila PaymentsNotLinkedToUser=Greiðslur tengist ekki allir notandi Profit=Hagnaður +AccountingResult=Accounting result Balance=Jafnvægi Debit=Debit Credit=Greiðslukort diff --git a/htdocs/langs/is_IS/cron.lang b/htdocs/langs/is_IS/cron.lang index ebae6d67c08..34d66fdb353 100644 --- a/htdocs/langs/is_IS/cron.lang +++ b/htdocs/langs/is_IS/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/is_IS/ecm.lang b/htdocs/langs/is_IS/ecm.lang index 42df215d3cb..7172369ece1 100644 --- a/htdocs/langs/is_IS/ecm.lang +++ b/htdocs/langs/is_IS/ecm.lang @@ -23,10 +23,10 @@ ECMNewDocument=Nýtt skjal ECMCreationDate=Creation dagsetning ECMNbOfFilesInDir=Fjöldi skrár í möppu ECMNbOfSubDir=Fjöldi undir-möppur -# ECMNbOfFilesInSubDir=Number of files in sub-directories +ECMNbOfFilesInSubDir=Number of files in sub-directories ECMCreationUser=Creator -# ECMArea=EDM area -# ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. +ECMArea=EDM area +ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. ECMAreaDesc2=* Sjálfvirkar framkvæmdarstjóra eru fyllt sjálfkrafa þegar bætt skjölum frá kort af frumefni.
* Manual framkvæmdarstjóra hægt að nota til að vista skjölin ekki tengd við ákveðna hluti. ECMSectionWasRemoved=Listinn %s hefur verið eytt. ECMDocumentsSection=Skjal skrá @@ -35,14 +35,16 @@ ECMSearchByEntity=Leita eftir hlut ECMSectionOfDocuments=Möppur skjöl ECMTypeManual=Handbók ECMTypeAuto=Sjálfvirk -# ECMDocsBySocialContributions=Documents linked to social contributions +ECMDocsBySocialContributions=Documents linked to social contributions ECMDocsByThirdParties=Skjöl sem tengjast þriðju aðila ECMDocsByProposals=Skjöl tengd tillögum ECMDocsByOrders=Skjöl tengd viðskiptavinum pantanir ECMDocsByContracts=Skjöl tengd samningum ECMDocsByInvoices=Skjöl tengd viðskiptavinum reikninga ECMDocsByProducts=Skjöl sem tengjast vöru -# ECMDocsByProjects=Documents linked to projects +ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=Engin skrá búin til ShowECMSection=Sýna skrá DeleteSection=Fjarlægja möppu @@ -51,5 +53,5 @@ ECMDirectoryForFiles=Hlutfallsleg skrá fyrir skrá CannotRemoveDirectoryContainsFiles=Fjarri ekki hægt því það inniheldur nokkrar skrár ECMFileManager=File Manager ECMSelectASection=Velja möppu á vinstri tré ... -# DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. +DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. diff --git a/htdocs/langs/is_IS/errors.lang b/htdocs/langs/is_IS/errors.lang index 2e910c852e4..52ae8adce65 100644 --- a/htdocs/langs/is_IS/errors.lang +++ b/htdocs/langs/is_IS/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Skipulag á einingu lítur út fyrir að vera uncomp ErrorBadMask=Villa á grímu ErrorBadMaskFailedToLocatePosOfSequence=Villa, gríma án fjölda röð ErrorBadMaskBadRazMonth=Villa, slæmt endurstilla gildi +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Villa. Veldu amk eina færslu. ErrorProductWithRefNotExist=Vara við 'á %s' tilvísanir eru ekki til ErrorDeleteNotPossibleLineIsConsolidated=Eyða ekki hægt vegna þess að færsla er tengd við banka transation sem er conciliated @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/is_IS/install.lang b/htdocs/langs/is_IS/install.lang index a5e582a4981..25b309f93ba 100644 --- a/htdocs/langs/is_IS/install.lang +++ b/htdocs/langs/is_IS/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migration lokið LastStepDesc=Síðasta skref: Tilgreindu hér notandanafn og lykilorð sem þú ætlar að nota til að tengjast hugbúnaði. Ekki missa þetta eins og það er á reikningnum að gefa öllum öðrum. ActivateModule=Virkja mát %s ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Uppfæra tími í sekúndum MigrationActioncommElement=Uppfæra upplýsingar um aðgerðir MigrationPaymentMode=Gögn fólksflutninga í ham greiðslu MigrationCategorieAssociation=Migration of categories +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/is_IS/languages.lang b/htdocs/langs/is_IS/languages.lang index ed2b85030c3..ee9ed586a3d 100644 --- a/htdocs/langs/is_IS/languages.lang +++ b/htdocs/langs/is_IS/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Þýska (Austurríki) Language_de_CH=German (Switzerland) Language_el_GR=Gríska Language_en_AU=Enska (Ástralía) +Language_en_CA=English (Canada) Language_en_GB=Enska (Bretland) Language_en_IN=Enska (Indland) Language_en_NZ=Enska (Nýja Sjáland) diff --git a/htdocs/langs/is_IS/main.lang b/htdocs/langs/is_IS/main.lang index beba885d13d..704097d023c 100644 --- a/htdocs/langs/is_IS/main.lang +++ b/htdocs/langs/is_IS/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd/MM/yyyy FormatDateShortJavaInput=dd/MM/yyyy FormatDateShortJQuery=dd/mm/yy FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Villa tókst að vista skrána. SetDate=Set date SelectDate=Select a date SeeAlso=See also %s +SeeHere=See here BackgroundColorByDefault=Default bakgrunnslit FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=Notandi Users=Notendur Group=Group Groups=Groups +NoUserGroupDefined=No user group defined Password=Lykilorð PasswordRetype=Sláðu lykilorðið þitt NoteSomeFeaturesAreDisabled=Athugaðu að einhver fjöldi af lögun / modules ert fatlaður í þessum mótmælum. @@ -258,6 +261,7 @@ days=dagar Hours=Klukkustundir Minutes=Fundargerðir Seconds=Sekúndur +Weeks=Weeks Today=Í dag Yesterday=Í gær Tomorrow=Á morgun @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Mánudagur Tuesday=Þriðjudagur diff --git a/htdocs/langs/is_IS/margins.lang b/htdocs/langs/is_IS/margins.lang index 5ab8b70e472..e0357dc27c1 100644 --- a/htdocs/langs/is_IS/margins.lang +++ b/htdocs/langs/is_IS/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Vara eða þjónusta AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/is_IS/orders.lang b/htdocs/langs/is_IS/orders.lang index f4106749b55..620cd8ca531 100644 --- a/htdocs/langs/is_IS/orders.lang +++ b/htdocs/langs/is_IS/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Birgir röð SuppliersOrders=pantanir birgis SuppliersOrdersRunning=pantanir Current birgis CustomerOrder=Viðskiptavinur röð -CustomersOrders=pantanir viðskiptavinar +CustomersOrders=Customers orders CustomersOrdersRunning=pantanir Núverandi viðskiptavinur ' CustomersOrdersAndOrdersLines=Viðskiptavinur pantanir og línur til þess -OrdersToValid=Pantanir til að sannreyna -OrdersToBill=Pantanir við reikning -OrdersInProcess=Pantanir í vinnslu -OrdersToProcess=Pantanir á ferli +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Pantanir birgðasala til að ganga StatusOrderCanceledShort=Hætt við StatusOrderDraftShort=Víxill StatusOrderValidatedShort=Staðfestar StatusOrderSentShort=Í ferli StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Á ferli +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Afgreitt StatusOrderToBillShort=Við reikning StatusOrderToBill2Short=Við reikning @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Allt hlaut StatusOrderCanceled=Hætt við StatusOrderDraft=Víxill (þarf að vera staðfest) StatusOrderValidated=Staðfestar -StatusOrderOnProcess=Á ferli +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Afgreitt StatusOrderToBill=Við reikning StatusOrderToBill2=Við reikning @@ -50,6 +50,8 @@ StatusOrderRefused=Neitaði StatusOrderReceivedPartially=Að hluta til fékk StatusOrderReceivedAll=Allt hlaut ShippingExist=A sendingunni til +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Víxill eða samþykkt ekki enn pantað DraftOrWaitingShipped=Drög eða viðurkennd ekki enn flutt MenuOrdersToBill=Pantanir við reikning diff --git a/htdocs/langs/is_IS/productbatch.lang b/htdocs/langs/is_IS/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/is_IS/productbatch.lang +++ b/htdocs/langs/is_IS/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/is_IS/products.lang b/htdocs/langs/is_IS/products.lang index 861e2f2c32e..2d9c72298ee 100644 --- a/htdocs/langs/is_IS/products.lang +++ b/htdocs/langs/is_IS/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Bókhalds-númer (selja) ProductOrService=Vara eða þjónusta ProductsAndServices=Vörur og þjónusta ProductsOrServices=Vara eða þjónusta -ProductsAndServicesOnSell=Laus Vörur og þjónusta -ProductsAndServicesNotOnSell=Úrelt Vörur og þjónusta +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Vörur og þjónusta tölfræði ProductsStatistics=Vörur tölfræði -ProductsOnSell=Laus vörur -ProductsNotOnSell=Úrelt vörur -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Laus þjónusta -ServicesNotOnSell=Úrelt þjónusta -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Innri tilvísun LastRecorded=Síðasta vörur / þjónustu á selja á skrá LastRecordedProductsAndServices=Last %s skrá vörur / þjónustu @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/is_IS/projects.lang b/htdocs/langs/is_IS/projects.lang index 4e1de0881dc..c7785cf88a8 100644 --- a/htdocs/langs/is_IS/projects.lang +++ b/htdocs/langs/is_IS/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Project Projects=Verkefni +ProjectStatus=Project status SharedProject=Allir PrivateProject=Tengiliðir verkefnisins MyProjectsDesc=Þessi skoðun er takmörkuð við verkefni sem þú ert að hafa samband við (hvað sem er gerð). @@ -11,7 +12,6 @@ ProjectsDesc=Þetta sýnir öll verkefni (notandi heimildir veita þér leyfi ti MyTasksDesc=Þessi skoðun er takmörkuð við verkefni eða verkefni sem þú ert að hafa samband við (hvað sem er gerð). TasksPublicDesc=Þetta sýnir öll verkefni og verkefni sem þú ert að fá að lesa. TasksDesc=Þetta sýnir öll verkefni og verkefni (notandi heimildir veita þér leyfi til að skoða allt). -Myprojects=Verkefnin mín ProjectsArea=Verkefni area NewProject=Ný verkefni AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/is_IS/sendings.lang b/htdocs/langs/is_IS/sendings.lang index cafdc4253af..97e0553dc1d 100644 --- a/htdocs/langs/is_IS/sendings.lang +++ b/htdocs/langs/is_IS/sendings.lang @@ -4,7 +4,8 @@ Sending=Sendingunni Sendings=Sendingar Shipment=Sendingunni Shipments=Sendingar -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Sendingar area ListOfSendings=Listi yfir sendings SendingMethod=Shipping aðferð @@ -14,7 +15,7 @@ SearchASending=Leita að sendingunni StatisticsOfSendings=Tölfræði fyrir sendingar NbOfSendings=Fjöldi sendinga NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Shipping kort +SendingCard=Shipment card NewSending=New sendingunni CreateASending=Búa til sendingu CreateSending=Búa til sendinga @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Hætt við StatusSendingDraftShort=Víxill StatusSendingValidatedShort=Staðfestar StatusSendingProcessedShort=Afgreitt -SendingSheet=Senda athugasemd +SendingSheet=Shipment sheet Carriers=Flutningsaðili Carrier=Flutningsaðili CarriersArea=Flutningsaðili area @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Viðburðir á sendingunni LinkToTrackYourPackage=Tengill til að fylgjast með pakka ShipmentCreationIsDoneFromOrder=Í augnablikinu er sköpun af a nýr sendingunni gert úr þeirri röð kortinu. -RelatedShippings=Related shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Afli eftir viðskiptavina diff --git a/htdocs/langs/is_IS/stocks.lang b/htdocs/langs/is_IS/stocks.lang index d90b9eb1d1f..15dcb039c33 100644 --- a/htdocs/langs/is_IS/stocks.lang +++ b/htdocs/langs/is_IS/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Vöruhús gildi UserWarehouseAutoCreate=Búa til birgðir sjálfkrafa þegar þú býrð til notanda QtyDispatched=Magn send +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Kauphöll dispatching RuleForStockManagementDecrease=Regla fyrir lager stjórnun lækka RuleForStockManagementIncrease=Regla fyrir lager stjórnun aukast @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Auka raunverulegur birgðir birgja pantanir approbation ReStockOnDispatchOrder=Auka raunverulegur birgðir á handbók dispatching í vöruhús, eftir röð birgja sem fá ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=Panta hefur ekki enn eða ekki meira stöðu sem gerir dispatching af vörum í vöruhús lager. -StockDiffPhysicTeoric=Ástæða fyrir lager munur líkamlega og fræðilegum +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Engar fyrirfram skilgreindum vörum fyrir þennan hlut. Svo neitun dispatching til á lager er krafist. DispatchVerb=Senda StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/is_IS/suppliers.lang b/htdocs/langs/is_IS/suppliers.lang index 72b1f89b046..a5d796e6e39 100644 --- a/htdocs/langs/is_IS/suppliers.lang +++ b/htdocs/langs/is_IS/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Birgjar Supplier=Birgir -AddSupplier=Bæta við birgja +AddSupplier=Create a supplier SupplierRemoved=Birgir fjarri SuppliersInvoice=Birgjar Reikningar NewSupplier=New birgir @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Enginn eða hópur %s er ekki hljóp nýlega SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/is_IS/withdrawals.lang b/htdocs/langs/is_IS/withdrawals.lang index d73332b8408..5f10f1a6d0e 100644 --- a/htdocs/langs/is_IS/withdrawals.lang +++ b/htdocs/langs/is_IS/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Útlán á WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Sýna Dragið IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Hins vegar, ef reikningur hefur að minnsta kosti einn hætt greiðslu ekki enn afgreidd, mun það ekki vera eins og borgað til að leyfa að stjórna afturköllun áður. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/is_IS/workflow.lang b/htdocs/langs/is_IS/workflow.lang index 3c8d7567f59..918043c65aa 100644 --- a/htdocs/langs/is_IS/workflow.lang +++ b/htdocs/langs/is_IS/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Vinnuflæði mát skipulag -WorkflowDesc=Þessi eining er designed að breyta hegðun sjálfvirkar aðgerðir í forritinu. Við vanræksla, workflow er opnað (sem þú gerir hlutina til þess að þú vilt). Þú getur virkt sjálfvirkar aðgerðir sem þú ert áhugavert inn +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Það er ekki workflow hægt að breyta fyrir einingu sem þú hefur valið. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Búa til viðskiptavina röð sjálfkrafa eftir verslunar Tillagan er undirrituð descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Búa til viðskiptavina reikning sjálfkrafa eftir verslunar Tillagan er undirrituð descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Búa til viðskiptavina reikning sjálfkrafa eftir að samningur er staðfest descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Búa til viðskiptavina reikning sjálfkrafa eftir að viðskiptavinur þess er lokað -# descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/it_IT/accountancy.lang b/htdocs/langs/it_IT/accountancy.lang index c581fbcf534..914be8b7012 100644 --- a/htdocs/langs/it_IT/accountancy.lang +++ b/htdocs/langs/it_IT/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configurazione del modulo contabilità esperta Journaux=Giornali JournalFinancial=Giornali finanziari Exports=Esportazioni +Export=Export Modelcsv=Modello di esportazione +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Seleziona un modello di esportazione Modelcsv_normal=Esportazione classica Modelcsv_CEGID=Esporta tramite CEGID Esperto @@ -66,7 +68,7 @@ Lineofinvoice=Riga fattura VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separatore CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/it_IT/admin.lang b/htdocs/langs/it_IT/admin.lang index b0a7137761f..a16d58e6b7c 100644 --- a/htdocs/langs/it_IT/admin.lang +++ b/htdocs/langs/it_IT/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Da non usare in produzione ThisIsProcessToFollow=Il procedimento da seguire è: StepNb=Passo %s FindPackageFromWebSite=Trova un pacchetto che fornisca la funzionalità desiderata (per esempio su %s). -DownloadPackageFromWebSite=Scaricare il pacchetto dal sito %s. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Scompattare il pacchetto nella directory di root di Dolibarr %s SetupIsReadyForUse=Installazione completata. Dolibarr è pronto ad utilizzare questo nuovo componente. NotExistsDirect=La directory root alternativa non è stata definita.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Seleziona modulo: CurrentVersion=Versione attuale di Dolibarr CallUpdatePage=Vai alla pagina che aggiorna la struttura del database e dati su %s. LastStableVersion=Ultima versione stabile +UpdateServerOffline=Update server offline GenericMaskCodes=Puoi inserire uno schema di numerazione. In questo schema, possono essere utilizzati i seguenti tag :
{000000} Corrisponde a un numero che sarà incrementato ad ogni aggiunta di %s. Inserisci il numero di zeri equivalente alla lunghezza desiderata per il contatore. Verranno aggiunti zeri a sinistra fino alla lunghezza impostata per il contatore.
{000000+000} Come il precedente, ma con un offset corrispondente al numero a destra del segno + che viene applicato al primo inserimento %s.
{000000@x} Come sopra, ma il contatore viene reimpostato a zero quando si raggiunge il mese x (x compreso tra 1 e 12). Se viene utilizzata questa opzione e x è maggiore o uguale a 2, diventa obbligatorio inserire anche la sequenza {yy}{mm} o {yyyy}{mm}.
{dd} giorno (da 01 a 31).
{mm} mese (da 01 a 12).
{yy} , {yyyy} o {y} anno con 2, 4 o 1 cifra.
GenericMaskCodes2={cccc}il codice cliente di n caratteri
{cccc000} il codice cliente di n caratteri è seguito da un contatore dedicato per cliente. Questo contatore dedicato per i clienti è azzerato allo stesso tempo di quello globale.
{tttt} Il codice di terze parti composto da n caratteri (vedi dizionario - tipi di terze parti).
GenericMaskCodes3=Tutti gli altri caratteri nello schema rimarranno inalterati.
Gli spazi non sono ammessi.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Seleziona dalla tabella ExtrafieldSeparator=Separatore ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Bottone Radio +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=I parametri della lista deveono avere una sintassi tipo chiave,valore

ad esempio:
1,valore1
2,valore2
3,valore3
...

In modo da avere una lista madre che dipenda da un altra:
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=La lista dei parametri deve contenere chiave univoca e valore.

Per esempio:
1, valore1
2, valore2
3, valore3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Libreria utilizzata per generare PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Esportare interventi Permission71=Vedere schede membri Permission72=Creare/modificare membri Permission74=Eliminare membri -Permission75=Impostare tipi e attributi per i membri +Permission75=Setup types of membership Permission76=Esportare dati dei membri Permission78=Vedere le iscrizioni Permission79=Creare/modificare gli abbonamenti @@ -595,8 +598,8 @@ Permission106=Esporta gli invii Permission109=Eliminare spedizioni Permission111=Vedere i conti bancari Permission112=Creare/modificare/cancellare e confrontare operazioni bancarie -Permission113=Impostazioni conti bancari (creare, gestire le categorie) -Permission114=Consolidare le transazioni +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Operazioni di esportazione ed estratti conto Permission116=Trasferimenti tra conti Permission117=Gestire l'invio di assegni @@ -761,6 +764,7 @@ Permission55001=Leggi sondaggi Permission55002=Crea/modifica sondaggi Permission59001=Leggi margini commerciali Permission59002=Definisci margini commerciali +Permission59003=Read every user margin DictionaryCompanyType=Tipi di soggetti terzi DictionaryCompanyJuridicalType=Forme giuridiche dei soggetti terzi DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Impostazioni per l'invio di email SendmailOptionNotComplete=Attenzione: su alcuni sistemi Linux, per poter inviare email, la configurazione di sendmail deve contenere l'opzione -ba (il parametro mail.force_extra_parameters nel file php.ini). Se alcuni destinatari non ricevono messaggi di posta elettronica, provate a modificare questo parametro con mail.force_extra_parameters =-BA). PathToDocuments=Percorso documenti PathDirectory=Percorso directory -SendmailOptionMayHurtBuggedMTA=Funzione per inviare mail usando il metodo "PHP mail direct". Genererà messaggi di posta che potrebbero non essere correttamente interpretati da alcuni server di posta. Il risultato è che alcuni messaggi potrebbero non essere letti da persone ospitate su piattaforme gestite con tali server. Ciò vale per alcuni provider (Per esempio Orange in Francia). Questo non è un problema di Dolibarr né del PHP, ma del server in ricezione. È tuttavia possibile inserire il valore 1 all'opzione MAIN_FIX_FOR_BUGGED_MTA nella configurazione di Dolibarr per evitarlo. Potrebbero, però, verificarsi problemi con altri server che rispettano rigorosamente lo standard SMTP. L'altra soluzione (raccomandata) è di utilizzare il metodo "SMTP socket library" che non presenta svantaggi. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configurazione della traduzione TranslationDesc=LA scelta della lingua visualizzata su schermo può essere modidificata:
* Globalmente dal menu Home - Setup - Display
* O per utente dalla linguetta User display della scheda utente (cliccare l'icona di login in alto sullo schermo). TotalNumberOfActivatedModules=Numero totale di moduli attivati: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=Stai utilizzando il browser %s. Questo browser è ok per sicurezza BrowserIsKO=Stai utilizzando il browser web %s. Questo browser è noto per essere una cattiva scelta per sicurezza, performance e stabilità. Ti raccomandiamo di usare Chrome, Firefox, Opera o Safari. XDebugInstalled=XDebug caricato XCacheInstalled=XCache attivato -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=Correzione del fuso orario FillThisOnlyIfRequired=Per esempio: +2 (compilare solo se ci sono problemi di scostamento del fuso orario) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Rendi possibile non passare per l'ordine provvisorio FreeLegalTextOnOrders=Testo libero sugli ordini WatermarkOnDraftOrders=Bozze degli ordini filigranate (nessuna filigrana se vuoto) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Impostazioni modulo ClickToDial (telefonate con un clic) ClickToDialUrlDesc=Indirizzo da raggiungere quando si clicca sull'icona del telefono. L'indirizzo può contenere i codici
__PHONETO__ che verrà sostituito con il numero telefonico a cui collegarsi,
__PHONEFROM__ che verrà sostituito con il numero chiamante (il vostro),
__LOGIN__ che verrà sostituito con il nome utente usato per il servizio e
__PASS__ che verrà sostituito con la password del servizio ClickToDial. @@ -1392,6 +1397,7 @@ RSSUrlExample=Un feed RSS interessante MailingSetup=Impostazioni modulo mailing MailingEMailFrom=Mittente email (Da) per le email inviate dal modulo mailing MailingEMailError=Indirizzo email per le mail di errore (Errors-to) +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Mittente email (Da) per le email di notifica inviate @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Impostazione del modulo di consegna SendingsReceiptModel=Modello di ricevuta consegna (D.D.T.) SendingsNumberingModules=Moduli per la numerazione delle spedizioni -SendingsAbility=Supporto D.D.T. per le spedizioni ai clienti +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=Nella maggior parte dei casi, i moduli possono essere utilizzati sia come documenti di trasporto (elenco dei prodotti per l'invio) che come ricevute. Le ricevute di consegna risultano quindi una funzione duplicata che raramente viene attivata. -FreeLegalTextOnShippings=Testo libero sulle spedizioni +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Numerazione dei moduli di consegna prodotti DeliveryOrderModel=Modello ricevuta di consegna prodotti @@ -1414,7 +1420,7 @@ AdvancedEditor=Editor avanzato ActivateFCKeditor=Attiva editor avanzato per: FCKeditorForCompany=Editor WYSIWIG per le società FCKeditorForProduct=Editor WYSIWIG per i prodotti/servizi -FCKeditorForProductDetails=Editor WYSIWIG per il testo libero in tutti i moduli (proposte, ordini, fatture, ecc ..) +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= Editor WYSIWIG per le email FCKeditorForUserSignature=WYSIWIG creazione/modifica della firma utente FCKeditorForMail=WYSIWIG creazione/modifica per tutte le mail (eccetto Outlis->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Formato TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/it_IT/agenda.lang b/htdocs/langs/it_IT/agenda.lang index 7a63495c2c1..4a8317beef2 100644 --- a/htdocs/langs/it_IT/agenda.lang +++ b/htdocs/langs/it_IT/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Ordine cliente %s inviato per email InvoiceSentByEMail=Fattura attiva %s inviata per email SupplierOrderSentByEMail=Ordine fornitore %s inviato per email SupplierInvoiceSentByEMail=Fornitore %s fattura inviata per email -ShippingSentByEMail=%s spedizione inviata per email -ShippingValidated= Spedizione %s confermata +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Soggetto terzo creato DateActionPlannedStart= Data di inizio prevista DateActionPlannedEnd= Data di fine prevista @@ -68,7 +69,7 @@ DateActionDoneEnd= Data effettiva di fine DateActionStart= Data di inizio DateActionEnd= Data di fine AgendaUrlOptions1=È inoltre possibile aggiungere i seguenti parametri ai filtri di output: -AgendaUrlOptions2=login = %s per visualizzare solo le azioni create da, o che coinvolgono l'utente %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina = %s per limitare l'output alle azioni amministrate dall'utente%s AgendaUrlOptions4=logint = %s per limitare l'output alle azioni modificate dall'utente %s. AgendaUrlOptionsProject=project=PROJECT_ID per limitare l'output alle azioni associate al progetto PROJECT_ID. diff --git a/htdocs/langs/it_IT/banks.lang b/htdocs/langs/it_IT/banks.lang index a0d411e1db6..43f61a91c1b 100644 --- a/htdocs/langs/it_IT/banks.lang +++ b/htdocs/langs/it_IT/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Conto FinancialAccounts=Conti BankAccount=Conto bancario BankAccounts=Conti bancari +ShowAccount=Show Account AccountRef=Rif. conto AccountLabel=Etichetta conto CashAccount=Conto di cassa diff --git a/htdocs/langs/it_IT/bills.lang b/htdocs/langs/it_IT/bills.lang index 4c3e86002d4..62ab683bd6e 100644 --- a/htdocs/langs/it_IT/bills.lang +++ b/htdocs/langs/it_IT/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Fattura Bills=Fatture -BillsCustomers=Fatture attive -BillsCustomer=Fattura attiva -BillsSuppliers=Fatture passive -BillsCustomersUnpaid=Fatture attive non pagate +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Fatture attive non pagate per %s BillsSuppliersUnpaid=Fatture dei fornitori non pagate BillsSuppliersUnpaidForCompany=Fatture dei fornitori non pagate per %s BillsLate=Ritardi nei pagamenti -BillsStatistics=Statistiche fatture -BillsStatisticsSuppliers=Statistiche fatture fornitori +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Disabilitate perché non cancellabili InvoiceStandard=Fattura Standard InvoiceStandardAsk=Fattura Standard @@ -34,7 +34,7 @@ ReplaceInvoice=Sostituire fattura %s ReplacementInvoice=Fattura sostitutiva ReplacedByInvoice=Sostituita dalla fattura %s ReplacementByInvoice=Sostituita dalla fattura -CorrectInvoice=Corretta fattura %s +CorrectInvoice=Correggi fattura %s CorrectionInvoice=Correzione fattura UsedByInvoice=Usato per pagare fattura %s ConsumedBy=Consumati da @@ -348,6 +348,7 @@ ChequeNumber=Assegno N° ChequeOrTransferNumber=Assegno/Bonifico N° ChequeMaker=Traente dell'assegno ChequeBank=Banca emittente +CheckBank=Check NetToBePaid=Netto a pagare PhoneNumber=Tel FullPhoneNumber=Telefono @@ -388,7 +389,7 @@ DisabledBecausePayments=Impossibile perché ci sono dei pagamenti CantRemovePaymentWithOneInvoicePaid=Impossibile rimuovere il pagamento. C'è almeno una fattura classificata come pagata ExpectedToPay=Pagamento previsto PayedByThisPayment=Pagato con questo pagamento -ClosePaidInvoicesAutomatically=Classifica come "pagate" tutte le fatture interamente saldate. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classifica come "Pagata" tutte le note di credito interamente rimborsate AllCompletelyPayedInvoiceWillBeClosed=Tutte le fatture totalmente pagate saranno automaticamente chiuse allo stato "Pagato". ToMakePayment=Paga @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Responsabile pagamenti fornit TypeContact_invoice_supplier_external_BILLING=Contatto del fornitore per la fatturazione TypeContact_invoice_supplier_external_SHIPPING=Contatto spedizioni fornitori TypeContact_invoice_supplier_external_SERVICE=Contatto servizio fornitori +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/it_IT/compta.lang b/htdocs/langs/it_IT/compta.lang index d32a581c27b..5f848643fd7 100644 --- a/htdocs/langs/it_IT/compta.lang +++ b/htdocs/langs/it_IT/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Fatturato PaymentsNotLinkedToInvoice=I pagamenti non legati ad una fattura, quindi non legati ad alcun soggetto terzo PaymentsNotLinkedToUser=Pagamenti non legati ad alcun utente Profit=Utile +AccountingResult=Accounting result Balance=Saldo Debit=Debito Credit=Credito diff --git a/htdocs/langs/it_IT/cron.lang b/htdocs/langs/it_IT/cron.lang index ec7f4e2cba5..073c9dabf7c 100644 --- a/htdocs/langs/it_IT/cron.lang +++ b/htdocs/langs/it_IT/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL che lancia i job di cron OrToLaunchASpecificJob=O per lanciare un job specifico KeyForCronAccess=Chiave di sicurezza per l'URL che lancia i job di cron FileToLaunchCronJobs=Comando per lanciare i job di cron -CronExplainHowToRunUnix=In ambienti Unix dovresti usare crontab per lanciare il comando ogni minuto -CronExplainHowToRunWin=In ambienti Microsoft(tm) Windows dovresti usare Operazioni Pianificate per lanciare il comando ogni minuto +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Azioni pianificate CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/it_IT/ecm.lang b/htdocs/langs/it_IT/ecm.lang index 21aaa1609a7..9f720492f97 100644 --- a/htdocs/langs/it_IT/ecm.lang +++ b/htdocs/langs/it_IT/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Documenti collegati ai contratti ECMDocsByInvoices=Documenti collegati alle fatture attive ECMDocsByProducts=Documenti collegati ai prodotti ECMDocsByProjects=Documenti collegati ai progetti +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=Nessuna directory creata ShowECMSection=Visualizza la directory DeleteSection=Eliminare la directory diff --git a/htdocs/langs/it_IT/errors.lang b/htdocs/langs/it_IT/errors.lang index 96edeef52f2..9fac6970fe5 100644 --- a/htdocs/langs/it_IT/errors.lang +++ b/htdocs/langs/it_IT/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=L'installazione del modulo pare incompleta. Vai su < ErrorBadMask=Errore sulla maschera ErrorBadMaskFailedToLocatePosOfSequence=Errore, maschera senza numero di sequenza ErrorBadMaskBadRazMonth=Errore, valore di reset non valido +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Errore. Selezionare almeno una voce. ErrorProductWithRefNotExist=Il prodotto con riferimento %s non esiste ErrorDeleteNotPossibleLineIsConsolidated=Impossibile cancellare il record perché è collegato ad una transazione bancaria conciliata @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=I parametri di configurazione obbligatori non sono ancora stati definiti diff --git a/htdocs/langs/it_IT/install.lang b/htdocs/langs/it_IT/install.lang index 7da4fe9ba42..81b627f39fb 100644 --- a/htdocs/langs/it_IT/install.lang +++ b/htdocs/langs/it_IT/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migrazione completata LastStepDesc=Ultimo passo: Indicare qui login e password che si prevede di utilizzare per la connessione al software. Non dimenticare questi dati perché è l'unico account in grado di amminsitrare tutti gli altri. ActivateModule=Attiva modulo %s ShowEditTechnicalParameters=Clicca qui per mostrare/modificare i parametri avanzati (modalità esperti) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Aggiorna tempo trascorso in secondi MigrationActioncommElement=Aggiornare i dati sulle azioni MigrationPaymentMode=Migrazione dei dati delle modalità di pagamento MigrationCategorieAssociation=Migrazione delle categorie +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Mostra opzioni non disponibili HideNotAvailableOptions=Nascondi opzioni non disponibili diff --git a/htdocs/langs/it_IT/languages.lang b/htdocs/langs/it_IT/languages.lang index b895157f173..5acce4857de 100644 --- a/htdocs/langs/it_IT/languages.lang +++ b/htdocs/langs/it_IT/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Tedesco (Austria) Language_de_CH=Tedesco (Svizzera) Language_el_GR=Greco Language_en_AU=Inglese (Australia) +Language_en_CA=English (Canada) Language_en_GB=English (Gran Bretagna) Language_en_IN=Inglese (India) Language_en_NZ=Inglese (Nuova Zelanda) diff --git a/htdocs/langs/it_IT/main.lang b/htdocs/langs/it_IT/main.lang index 233e0712249..12bcfd808db 100644 --- a/htdocs/langs/it_IT/main.lang +++ b/htdocs/langs/it_IT/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd/MM/yyyy FormatDateShortJavaInput=dd/MM/yyyy FormatDateShortJQuery=dd/mm/yy FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H.%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Errore, file non salvato. SetDate=Imposta data SelectDate=Seleziona una data SeeAlso=Vedi anche %s +SeeHere=See here BackgroundColorByDefault=Colore di sfondo predefinito FileNotUploaded=Il file non è stato caricato FileUploaded=Il file è stato caricato con successo @@ -169,6 +171,7 @@ User=Utente Users=Utenti Group=Gruppo Groups=Gruppi +NoUserGroupDefined=No user group defined Password=Password PasswordRetype=Ridigita la password NoteSomeFeaturesAreDisabled=Nota bene: In questo demo alcune funzionalità e alcuni moduli sono disabilitati. @@ -258,6 +261,7 @@ days=giorni Hours=Ore Minutes=Minuti Seconds=Secondi +Weeks=Weeks Today=Oggi Yesterday=Ieri Tomorrow=Domani @@ -683,6 +687,7 @@ XMoreLines=%s linea(e) nascoste PublicUrl=URL pubblico AddBox=Aggiungi box SelectElementAndClickRefresh=Seleziona un elemento e clicca Aggiorna +PrintFile=Print File %s # Week day Monday=Lunedì Tuesday=Martedì diff --git a/htdocs/langs/it_IT/margins.lang b/htdocs/langs/it_IT/margins.lang index aa4a9f6ab55..11a01215607 100644 --- a/htdocs/langs/it_IT/margins.lang +++ b/htdocs/langs/it_IT/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Specifiche del margine ProductMargins=Margini per prodotto CustomerMargins=Margini per cliente SalesRepresentativeMargins=Margini di vendita del rappresentante +UserMargins=User margins ProductService=Prodotto o servizio AllProducts=Tutti i prodotti e servizi ChooseProduct/Service=Scegli prodotto o servizio diff --git a/htdocs/langs/it_IT/orders.lang b/htdocs/langs/it_IT/orders.lang index de1e4921269..a6992dd91b4 100644 --- a/htdocs/langs/it_IT/orders.lang +++ b/htdocs/langs/it_IT/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Ordine fornitore SuppliersOrders=Ordini fornitori SuppliersOrdersRunning=Ordini fornitori avviati CustomerOrder=Ordine cliente -CustomersOrders=Ordini clienti +CustomersOrders=Customers orders CustomersOrdersRunning=Ordini clienti avviati CustomersOrdersAndOrdersLines=Ordini dei clienti e righe degli ordini -OrdersToValid=Ordini da convalidare -OrdersToBill=Ordini dei clienti consegnati -OrdersInProcess=Ordini dei clienti in corso -OrdersToProcess=Ordini dei clienti da preparare +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Ordini fornitori da preparare StatusOrderCanceledShort=Annullato StatusOrderDraftShort=Bozza StatusOrderValidatedShort=Convalidato StatusOrderSentShort=In corso StatusOrderSent=Spedizione in corso -StatusOrderOnProcessShort=In ricezione +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Lavorato StatusOrderToBillShort=Spedito StatusOrderToBill2Short=Da fatturare @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Ricevuto compl. StatusOrderCanceled=Annullato StatusOrderDraft=Bozza (deve essere convalidata) StatusOrderValidated=Convalidato -StatusOrderOnProcess=In attesa di ricezione +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Lavorato StatusOrderToBill=Spedito StatusOrderToBill2=Da fatturare @@ -50,6 +50,8 @@ StatusOrderRefused=Rifiutato StatusOrderReceivedPartially=Ricevuto parzialmente StatusOrderReceivedAll=Ricevuto completamente ShippingExist=Esiste una spedizione +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=In bozza o approvato, ma non ancora ordinato DraftOrWaitingShipped=In bozza o convalidato, ma non ancora spedito MenuOrdersToBill=Ordini spediti diff --git a/htdocs/langs/it_IT/productbatch.lang b/htdocs/langs/it_IT/productbatch.lang index 39171461732..a95f07e2f87 100644 --- a/htdocs/langs/it_IT/productbatch.lang +++ b/htdocs/langs/it_IT/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Gestito -ProductStatusNotOnBatch=Non gestito -ProductStatusOnBatchShort=Gestito -ProductStatusNotOnBatchShort=Non gestito +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Quantità: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Non definito WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/it_IT/products.lang b/htdocs/langs/it_IT/products.lang index 82fb5481e67..25ad81ab3b9 100644 --- a/htdocs/langs/it_IT/products.lang +++ b/htdocs/langs/it_IT/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Codice contabilità (vendita) ProductOrService=Prodotto o servizio ProductsAndServices=Prodotti e Servizi ProductsOrServices=Prodotti o servizi -ProductsAndServicesOnSell=Prodotti e Servizi in vendita -ProductsAndServicesNotOnSell=Prodotti e Servizi non in vendita +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Statistiche Prodotti e Servizi ProductsStatistics=Statistiche Prodotti -ProductsOnSell=Prodotti in vendita -ProductsNotOnSell=Prodotti non in vendita -ProductsOnSellAndOnBuy=Prodotti non per la vendita o per l'acquisto -ServicesOnSell=Servizi in vendita -ServicesNotOnSell=Servizi non in vendita -ServicesOnSellAndOnBuy=Servizi non per la vendita o per l'acquisto +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Riferimento interno LastRecorded=Ultimi prodotti/servizi in vendita registrati LastRecordedProductsAndServices=Ultimi %s prodotti/servizi registrati @@ -46,7 +46,7 @@ Warehouse=Magazzino Warehouses=Magazzini WarehouseOpened=Magazzino aperto WarehouseClosed=Magazzino chiuso -Stock=Scorta +Stock=Scorte Stocks=Scorte Movement=Movimento Movements=Movimenti @@ -97,7 +97,7 @@ AddToMyProposals=Aggiungi alle mie proposte AddToOtherProposals=Aggiungi ad altre proposte AddToMyBills=Aggiungi alle mie fatture AddToOtherBills=Aggiungi ad altre fatture -CorrectStock=Scorta corretta +CorrectStock=Variazione manuale scorte AddPhoto=Aggiungi foto ListOfStockMovements=Elenco movimenti di magazzino BuyingPrice=Prezzo di acquisto @@ -198,7 +198,7 @@ HelpAddThisServiceCard=Questa opzione permette la creazione o la clonazione di u CurrentProductPrice=Prezzo corrente AlwaysUseNewPrice=Usa sempre il prezzo corrente di un prodotto/servizio AlwaysUseFixedPrice=Usa prezzo non negoziabile -PriceByQuantity=Prezzo per quantità +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Intervallo della quantità ProductsDashboard=Riepilogo prodotti/servizi UpdateOriginalProductLabel=Modifica l'etichetta originale @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=La definizione del tipo o valore del BarCodeDataForProduct=Informazioni codice a barre del prodotto %s : BarCodeDataForThirdparty=Informazioni codice a barre della terza parte %s : ResetBarcodeForAllRecords=Definisci il valore del codice a barre per tutti quelli inseriti (questo resetta anche i valori già definiti dei codice a barre con nuovi valori) -PriceByCustomer=Prezzo per cliente +PriceByCustomer=Different price for each customer PriceCatalogue=Prezzo unico per prodotto/servizio -PricingRule=Regole prezzi +PricingRule=Rules for customer prices AddCustomerPrice=Aggiungi un prezzo per cliente ForceUpdateChildPriceSoc=Imposta lo stesso prezzo per i clienti sussidiari PriceByCustomerLog=Prezzo per log cliente @@ -244,6 +244,9 @@ MinimumPriceLimit=Il prezzo minimo non può essere inferiore di %s MinimumRecommendedPrice=Il prezzo minimo raccomandato è: %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/it_IT/projects.lang b/htdocs/langs/it_IT/projects.lang index 62d699144c6..d387d08f9ca 100644 --- a/htdocs/langs/it_IT/projects.lang +++ b/htdocs/langs/it_IT/projects.lang @@ -3,6 +3,7 @@ RefProject=Rif. progetto ProjectId=Id progetto Project=Progetto Projects=Progetti +ProjectStatus=Project status SharedProject=Progetto condiviso PrivateProject=Contatti del progetto MyProjectsDesc=Questa visualizzazione mostra solo i progetti in cui sei indicato come contatto (di qualsiasi tipo). @@ -11,7 +12,6 @@ ProjectsDesc=Questa visualizzazione mostra tutti i progetti (hai i privilegi per MyTasksDesc=Questa visualizzazione mostra solo i progetti o i compiti in cui sei indicati come contatto (di qualsiasi tipo). TasksPublicDesc=Questa visualizzazione mostra tutti i progetti e i compiti che hai il permesso di vedere. TasksDesc=Questa visualizzazione mostra tutti i progetti e i compiti (hai i privilegi per vedere tutto). -Myprojects=I miei progetti ProjectsArea=Area progetti NewProject=Nuovo progetto AddProject=Crea progetto @@ -103,6 +103,7 @@ CloneContacts=Clona contatti CloneNotes=Clona note CloneProjectFiles=Clona progetto con file collegati CloneTaskFiles=Clona i file collegati alle(a) attività (se le(a) attività sono clonate) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Vuoi davvero clonare il progetto? ProjectReportDate=Cambia la data del compito a seconda della data di inizio progetto ErrorShiftTaskDate=Impossibile cambiare la data del compito a seconda della data di inizio del progetto diff --git a/htdocs/langs/it_IT/sendings.lang b/htdocs/langs/it_IT/sendings.lang index 96c7036a771..f309ede2aad 100644 --- a/htdocs/langs/it_IT/sendings.lang +++ b/htdocs/langs/it_IT/sendings.lang @@ -4,7 +4,8 @@ Sending=Spedizione Sendings=Spedizioni Shipment=Spedizione Shipments=Spedizioni -Receivings=Ricezioni +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Sezione spedizioni ListOfSendings=Elenco delle spedizioni SendingMethod=Metodo di invio @@ -14,7 +15,7 @@ SearchASending=Ricerca di una spedizione StatisticsOfSendings=Statistiche spedizioni NbOfSendings=Numero di spedizioni NumberOfShipmentsByMonth=Numero di spedizioni per mese -SendingCard=Scheda di spedizione +SendingCard=Shipment card NewSending=Nuova spedizione CreateASending=Creazione di una spedizione CreateSending=Crea una spedizione @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Annullato StatusSendingDraftShort=Bozza StatusSendingValidatedShort=Convalidata StatusSendingProcessedShort=Processato -SendingSheet=Documento di Trasporto (D.d.t.) +SendingSheet=Shipment sheet Carriers=Vettori Carrier=Vettore CarriersArea=Sezione vettori @@ -58,11 +59,15 @@ SendShippingRef=Invio della spedizione %s ActionsOnShipping=Acions sulla spedizione LinkToTrackYourPackage=Link a monitorare il tuo pacchetto ShipmentCreationIsDoneFromOrder=Per il momento, la creazione di una nuova spedizione viene effettuata dalla scheda dell'ordine. -RelatedShippings=Spedizioni collegate +RelatedShippings=Related shipments ShipmentLine=Filiera di spedizione CarrierList=Elenco dei trasportatori -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Ritiro da parte del Cliente diff --git a/htdocs/langs/it_IT/stocks.lang b/htdocs/langs/it_IT/stocks.lang index 657ddbc4eb8..0766d101bee 100644 --- a/htdocs/langs/it_IT/stocks.lang +++ b/htdocs/langs/it_IT/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=MPP EnhancedValueOfWarehouses=Incremento valore dei magazzini UserWarehouseAutoCreate=Creare automaticamente un magazzino alla creazione di un utente QtyDispatched=Quantità spedita +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Spedizione dell'ordine RuleForStockManagementDecrease=Regola per la gestione della diminuzione delle scorte RuleForStockManagementIncrease=Regola per la gestione dell'aumento delle scorte @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Aumenta scorte effettive alla convalida dell'ordine ReStockOnDispatchOrder=Incrementa scorte effettive alla consegna manuale in magazzino, dopo il ricevimento dell'ordine fornitore ReStockOnDeleteInvoice=Aumenta scorte effettive alla cancellazione della fattura OrderStatusNotReadyToDispatch=Lo stato dell'ordine non ne consente la spedizione dei prodotti a magazzino. -StockDiffPhysicTeoric=Motivo della differenza tra scorte effettive e teoriche +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Per l'oggetto non ci sono prodotti impostati. Quindi non è necessario alterare le scorte. DispatchVerb=Spedizione StockLimitShort=Limite per segnalazioni @@ -116,10 +118,15 @@ MassMovement=Movimentazione di massa MassStockMovement=Movimentazione di massa delle giacenze SelectProductInAndOutWareHouse=Seleziona un prodotto, una quantità, un magazzino di origine ed uno di destinazione, poi clicca "%s". Una volta terminato, per tutte le movimentazioni da effettuare, clicca su "%s". RecordMovement=Registra trasferimento -ReceivingForSameOrder=Ricezione per questo ordine +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Movimentazione di scorte registrata RuleForStockAvailability=Regole sulla fornitura delle scorte StockMustBeEnoughForInvoice=Il livello delle scorte deve essere sufficiente per aggiungere un prodotto/servizio alla fattura StockMustBeEnoughForOrder=Il livello delle scorte deve essere sufficiente per aggiungere un prodotto/servizio all'ordine StockMustBeEnoughForShipment= Il livello delle scorte deve essere sufficiente per aggiungere un prodotto/servizio alla spedizione - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/it_IT/suppliers.lang b/htdocs/langs/it_IT/suppliers.lang index e7c9fbcbd5e..e9e64c3e9ab 100644 --- a/htdocs/langs/it_IT/suppliers.lang +++ b/htdocs/langs/it_IT/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Fornitori Supplier=Fornitore -AddSupplier=Aggiungi fornitore +AddSupplier=Crea un fornitore SupplierRemoved=Fornitore rimosso SuppliersInvoice=Fattura Fornitore NewSupplier=Nuovo fornitore @@ -40,5 +40,7 @@ AddSupplierInvoice=Crea fattura fornitore ListOfSupplierProductForSupplier=Elenco prodotti e prezzi per il fornitore %s NoneOrBatchFileNeverRan=Nessuno batch file o %s non eseguito di recente SentToSuppliers=Inviato ai fornitori -ListOfSupplierOrders=List of supplier orders -MenuOrdersSupplierToBill=Supplier orders to invoice +ListOfSupplierOrders=Elenco ordini fornitori +MenuOrdersSupplierToBill=Ordini fornitori in fatture +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/it_IT/withdrawals.lang b/htdocs/langs/it_IT/withdrawals.lang index ae26dee0a4c..45609ec17bb 100644 --- a/htdocs/langs/it_IT/withdrawals.lang +++ b/htdocs/langs/it_IT/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Data di accredito WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Mostra domiciliazione IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Tuttavia, se per la fattura ci sono ancora pagamenti da elaborare, non sarà impostata come pagata per consentire prima la gestione dei domiciliazioni. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Ricevuta bancaria SetToStatusSent=Imposta stato come "file inviato" ThisWillAlsoAddPaymentOnInvoice=Verranno anche creati dei pagamenti tra le ricevuti e saranno classificati come pagati diff --git a/htdocs/langs/it_IT/workflow.lang b/htdocs/langs/it_IT/workflow.lang index e2cf62e66ab..26dbbc93ff7 100644 --- a/htdocs/langs/it_IT/workflow.lang +++ b/htdocs/langs/it_IT/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Impostazioni flusso di lavoro -WorkflowDesc=Questo modulo è progettato per impostare le azioni automatiche dell'applicazione. Per impostazione predefinita, il flusso di lavoro è aperto (puoi adattarlo alle tue esigenze). Puoi scegliere quali azioni automatiche abilitare. +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Non vi è alcun flusso di lavoro modificabile per il modulo. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Creare automaticamente un ordine cliente alla firma di una proposta commerciale descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Creare automaticamente una fattura attiva alla firma di una proposta commerciale diff --git a/htdocs/langs/ja_JP/accountancy.lang b/htdocs/langs/ja_JP/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/ja_JP/accountancy.lang +++ b/htdocs/langs/ja_JP/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/ja_JP/admin.lang b/htdocs/langs/ja_JP/admin.lang index 06e48cdad56..3785571b48b 100644 --- a/htdocs/langs/ja_JP/admin.lang +++ b/htdocs/langs/ja_JP/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=これは、プロセスのセットアップです。 StepNb=ステップ%s FindPackageFromWebSite=(公式ウェブサイト%sの例の場合)必要な機能を提供するパッケージを検索します。 -DownloadPackageFromWebSite=パッケージをダウンロードします。 +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Dolibarrのルートディレクトリにアンパック%sパッケージファイル SetupIsReadyForUse=インストールが終了しDolibarrは、この新しいコンポーネントで使用できる状態になっています。 NotExistsDirect=The alternative root directory is not defined.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Select module: CurrentVersion=Dolibarr現在のバージョン CallUpdatePage=%s:データベース構造と件のデータを更新するページに移動します。 LastStableVersion=最後の安定版 +UpdateServerOffline=Update server offline GenericMaskCodes=任意の番号マスクを入力することができます。このマスクには、以下のタグを使用することができます。
{00万}各%sにインクリメントされる番号に対応しています。カウンタの希望の長さなどの多くのゼロとして入力します。カウンタは、マスクとして多くのゼロとして持たせるために、左からゼロで完了する予定です。
{00万000}以前のが、最初の%sから始まる適用されている+記号の右にある数字に対応するオフセットと同じです。
{00万@ x}の前のと同じですが、カウンタが月、xは(1〜12、または0の間でXコンフィギュレーションで定義された会計年度の初めに数ヶ月を使用する)に達したときにゼロにリセットされます。このオプションを使用すると、xが2以上ある場合、その列{YY} {ミリメートル}または{yyyyは} {}ミリメートルも要求されます。
{DD}日(01〜31)。
{}ミリメートル月(01〜12)。
2、4、または1の数値以上{YY}、{探す}または{Y}年。
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=マスク内の他のすべての文字はそのまま残ります。
スペースは許可されていません。
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=輸出の介入 Permission71=メンバを読み取る Permission72=メンバーを作成/変更 Permission74=メンバーを削除する -Permission75=メンバー用のセットアップ·タイプと属性 +Permission75=Setup types of membership Permission76=エクスポート件のデータ Permission78=サブスクリプションを読む Permission79=サブスクリプションを作成/変更 @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=sendingsを削除します。 Permission111=金融勘定を読む Permission112=作成/変更/削除して取引を比較する -Permission113=セットアップfinancielアカウント(管理、カテゴリを作成する) -Permission114=トランザクションを統合する +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=輸出取引と口座のステートメント Permission116=アカウント間の転送 Permission117=派遣のチェックを管理する @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=電子メールによるsendingsのセットアップ SendmailOptionNotComplete=警告は、一部のLinuxシステムでは、電子メールから電子メールを送信するためには、sendmailの実行セットアップする必要があります含むオプション-BA(パラメータmail.force_extra_parameters php.iniファイルに)。一部の受信者がメールを受信しない場合は、mail.force_extra_parameters =-BA)と、このPHPパラメータを編集してみてください。 PathToDocuments=ドキュメントへのパス PathDirectory=ディレクトリ -SendmailOptionMayHurtBuggedMTA="PHPのメール直接"メソッドを使用してメールを送信する機能が正常にいくつかの受信メールサーバーによって解析されないかもしれないメールメッセージを生成します。その結果、いくつかのメールがthoose盗聴プラットフォームでホストされている人々によって読み取ることができないということです。これは、いくつかのインターネットプロバイダ(:フランスのオレンジ例)の場合です。これはDolibarrにもPHPにはなく、メールサーバーを受信した上に問題はありません。ただしセットアップに1にオプションMAIN_FIX_FOR_BUGGED_MTAを追加することができます - これを避けるためにDolibarrを変更する他の。ただし、他​​のサーバーにその点で厳密にSMTP規格に問題が発生することがあります。他のソリューション(おすすめし)がない欠点を持っていないメソッド "SMTPソケットライブラリ"を使用することです。 +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=、近くに提案した後に順序を検証する FreeLegalTextOnOrders=受注上のフリーテキスト WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=モジュールのセットアップをダイヤルする]をクリックします ClickToDialUrlDesc=電話ピクトをクリックしが行われるときに、URLと呼ばれる。 URLでは、タグを使用することができます
呼び出すために人の電話番号に置き換えられます__PHONETO__
呼び出し人の電話番号(あなた)に置き換えられます__PHONEFROM__
あなたのclicktodialログイン(ユーザーカードに定義されています)に置き換えられます__LOGIN__
あなたのclicktodialパスワード(ユーザーカードに定義されています)に置き換えられます__PASS__。 @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=モジュールのセットアップをメールで送信 MailingEMailFrom=モジュールをメールで送信された電子メールの送信者メールアドレス(から) MailingEMailError=エラーが発生した電子メールの電子メールを(エラー·ツー)を返します。 +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=通知の送信メールの送信者の電子メール(から) @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=送信モジュールのセットアップ SendingsReceiptModel=領収書のモデルを送信する SendingsNumberingModules=モジュールの番号Sendings -SendingsAbility=顧客配達のためのサポートsendingsシート +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=ほとんどの場合、sendingsの領収書は、お客様の納品(送信する製品のリスト)とreceviedと顧客によって署名されたシートのシートの両方に使用されます。したがって、製品の納入の領収書は複製機能であり、まれに活性化されていません。 -FreeLegalTextOnShippings=shippings無料テキスト +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=製品の納入領収書ナンバリングモジュール DeliveryOrderModel=製品の納入領収書モデル @@ -1414,7 +1420,7 @@ AdvancedEditor=高度なエディタ ActivateFCKeditor=のための高度なエディタをアクティブにします。 FCKeditorForCompany=要素の説明と注意事項のWYSIWIGエディタの作成/版(製品/サービスを除く) FCKeditorForProduct=製品/サービスの説明と注意事項のWYSIWIGエディタの作成/版 -FCKeditorForProductDetails=すべてのエンティティ(提案、受注、請求書、等..)の製品の詳細ラインの作成​​/版をWYSIWIGエディタ警告:このケースではこのオプションを使用するには、PDFを作成するときに、それが特殊文字とページのフォーマッティングの問題を作成できるように真剣におすすめしていませんファイル。 +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= 郵送のWYSIWIGエディタの作成/版 FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/ja_JP/agenda.lang b/htdocs/langs/ja_JP/agenda.lang index d2ed716615c..292509ba6e8 100644 --- a/htdocs/langs/ja_JP/agenda.lang +++ b/htdocs/langs/ja_JP/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=電子メールで送信、顧客の注文%s InvoiceSentByEMail=電子メールで送信顧客の請求書%s SupplierOrderSentByEMail=電子メールで送信サプライヤの注文%s SupplierInvoiceSentByEMail=電子メールで送信サプライヤの請求書%s -ShippingSentByEMail=電子メールで送信出荷%s -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= 第三者が作成した DateActionPlannedStart= 計画開始日 DateActionPlannedEnd= 計画終了日 @@ -68,7 +69,7 @@ DateActionDoneEnd= 実際の終了日 DateActionStart= 開始日 DateActionEnd= 終了日 AgendaUrlOptions1=また、出力をフィルタリングするには、次のパラメータを追加することができます。 -AgendaUrlOptions2=ログインは= %sに影響を受けた、またはユーザー%sによって行われ、作成されたアクションに出力を制限する。 +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=ユーザー%sに影響を受けたアクションに出力を制限するlogint = %s。 AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/ja_JP/banks.lang b/htdocs/langs/ja_JP/banks.lang index 9bba54dc58f..23051984ea3 100644 --- a/htdocs/langs/ja_JP/banks.lang +++ b/htdocs/langs/ja_JP/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=アカウント FinancialAccounts=アカウント BankAccount=預金 BankAccounts=銀行口座 +ShowAccount=Show Account AccountRef=金融口座のref AccountLabel=金融口座のラベル CashAccount=現金勘定 diff --git a/htdocs/langs/ja_JP/bills.lang b/htdocs/langs/ja_JP/bills.lang index cf608e4a380..f27ee25bc1a 100644 --- a/htdocs/langs/ja_JP/bills.lang +++ b/htdocs/langs/ja_JP/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=請求書 Bills=請求書 -BillsCustomers=顧客の請求書 -BillsCustomer=顧客の請求書 -BillsSuppliers=仕入先の請求書 -BillsCustomersUnpaid=未払いの顧客の請求書 +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=%sのために未払いの顧客の請求書 BillsSuppliersUnpaid=未払いの仕入先の請求書 BillsSuppliersUnpaidForCompany=%sのために未払いの仕入先の請求書 BillsLate=支払い遅延 -BillsStatistics=顧客の請求書の統計 -BillsStatisticsSuppliers=サプライヤの請求書の統計情報 +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=消去できないため、無効に InvoiceStandard=標準の請求書 InvoiceStandardAsk=標準の請求書 @@ -348,6 +348,7 @@ ChequeNumber=Nを確認してください° ChequeOrTransferNumber=転送チェック/ N° ChequeMaker=トランスミッタをチェック ChequeBank=チェックの銀行 +CheckBank=Check NetToBePaid=支払われるネット PhoneNumber=電話番号 FullPhoneNumber=電話 @@ -388,7 +389,7 @@ DisabledBecausePayments=いくつかの支払いがあるのでできませ​ CantRemovePaymentWithOneInvoicePaid=支払った分類少なくとも一つの請求書があるので支払いを削除することはできません ExpectedToPay=予想される支払い PayedByThisPayment=この支払によって支払った -ClosePaidInvoicesAutomatically="支払った"すべての標準またはentirely支払った交換用の請求書を分類します。 +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=を持たないすべての請求書は自動的にステータスが "支払った"に閉鎖され支払うことに残っています。 ToMakePayment=Pay @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=代表的なフォローア TypeContact_invoice_supplier_external_BILLING=サプライヤの請求書の連絡先 TypeContact_invoice_supplier_external_SHIPPING=サプライヤの出荷の連絡先 TypeContact_invoice_supplier_external_SERVICE=サプライヤサービスの連絡先 +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/ja_JP/compta.lang b/htdocs/langs/ja_JP/compta.lang index 7e09ff1ecfa..fd4e88db8a8 100644 --- a/htdocs/langs/ja_JP/compta.lang +++ b/htdocs/langs/ja_JP/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=売上高 PaymentsNotLinkedToInvoice=任意の請求書にリンクされていない支払は、その第三者にリンクされていない PaymentsNotLinkedToUser=すべてのユーザーにリンクされていない支払い Profit=利益 +AccountingResult=Accounting result Balance=バランス Debit=借方 Credit=クレジット diff --git a/htdocs/langs/ja_JP/cron.lang b/htdocs/langs/ja_JP/cron.lang index 98455e018cc..f2f35b1838c 100644 --- a/htdocs/langs/ja_JP/cron.lang +++ b/htdocs/langs/ja_JP/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/ja_JP/ecm.lang b/htdocs/langs/ja_JP/ecm.lang index 888a4bd4064..d0c719668db 100644 --- a/htdocs/langs/ja_JP/ecm.lang +++ b/htdocs/langs/ja_JP/ecm.lang @@ -23,10 +23,10 @@ ECMNewDocument=新しいドキュメント ECMCreationDate=作成日 ECMNbOfFilesInDir=ディレクトリ内のファイル数 ECMNbOfSubDir=サブディレクトリの数 -# ECMNbOfFilesInSubDir=Number of files in sub-directories +ECMNbOfFilesInSubDir=Number of files in sub-directories ECMCreationUser=クリエイター -# ECMArea=EDM area -# ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. +ECMArea=EDM area +ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. ECMAreaDesc2=要素のカードからドキュメントを追加するときに*自動ディレクトリは自動的に入力されます。
*マニュアルのディレクトリは、特定の要素にリンクされていないドキュメントを保存するために使用することができます。 ECMSectionWasRemoved=ディレクトリの%sが削除されています。 ECMDocumentsSection=ディレクトリのドキュメント @@ -35,14 +35,16 @@ ECMSearchByEntity=オブジェクトで検索 ECMSectionOfDocuments=ドキュメントのディレクトリ ECMTypeManual=マニュアル ECMTypeAuto=自動 -# ECMDocsBySocialContributions=Documents linked to social contributions +ECMDocsBySocialContributions=Documents linked to social contributions ECMDocsByThirdParties=第三者にリンクされたドキュメント ECMDocsByProposals=提案にリンクされたドキュメント ECMDocsByOrders=顧客の注文にリンクされたドキュメント ECMDocsByContracts=契約にリンクされたドキュメント ECMDocsByInvoices=お客様の請求書にリンクされたドキュメント ECMDocsByProducts=製品にリンクされたドキュメント -# ECMDocsByProjects=Documents linked to projects +ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=作成されたディレクトリなし ShowECMSection=ディレクトリを表示する DeleteSection=ディレクトリを削除します。 @@ -51,5 +53,5 @@ ECMDirectoryForFiles=ファイルの相対ディレクトリ CannotRemoveDirectoryContainsFiles=それはいくつかのファイルが含まれているため不可能削除 ECMFileManager=ファイルマネージャ ECMSelectASection=左側のツリー上のディレクトリを選択... -# DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. +DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. diff --git a/htdocs/langs/ja_JP/errors.lang b/htdocs/langs/ja_JP/errors.lang index 9742a4ad7c7..a7b905a2127 100644 --- a/htdocs/langs/ja_JP/errors.lang +++ b/htdocs/langs/ja_JP/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=モジュールのセットアップがuncompleteに ErrorBadMask=マスク上でのエラー ErrorBadMaskFailedToLocatePosOfSequence=シーケンス番号のないエラー、マスク ErrorBadMaskBadRazMonth=エラー、不正なリセット値 +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=エラーが発生しました。少なくとも一つのエントリを選択します。 ErrorProductWithRefNotExist=参照"%s"を持つ製品は存在しません ErrorDeleteNotPossibleLineIsConsolidated=レコードがconciliatedされている銀行のトランザクションのにリンクされているのでできませ​​ん削除 @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/ja_JP/install.lang b/htdocs/langs/ja_JP/install.lang index 595ff8ebf1d..2038751025f 100644 --- a/htdocs/langs/ja_JP/install.lang +++ b/htdocs/langs/ja_JP/install.lang @@ -155,6 +155,7 @@ MigrationFinished=マイグレーションが終了しました LastStepDesc=最後のステップ :ここにあなたがソフトウェアへの接続に使用する予定のログインとパスワードを定義します。それは他のすべてを管理するアカウントであるとしてこれを紛失しないでください。 ActivateModule=モジュール%sをアクティブにする ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=更新時間は秒単位で過ごした MigrationActioncommElement=アクション上でデータを更新する MigrationPaymentMode=支払い·モードのデータ移行 MigrationCategorieAssociation=Migration of categories +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/ja_JP/languages.lang b/htdocs/langs/ja_JP/languages.lang index 36be88bed0e..0dca98435c4 100644 --- a/htdocs/langs/ja_JP/languages.lang +++ b/htdocs/langs/ja_JP/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=ドイツ語 (オーストリア) Language_de_CH=German (Switzerland) Language_el_GR=ギリシャ語 Language_en_AU=英語 (オーストラリア) +Language_en_CA=English (Canada) Language_en_GB=英語 (イギリス) Language_en_IN=英語 (インド) Language_en_NZ=英語(ニュージーランド) diff --git a/htdocs/langs/ja_JP/main.lang b/htdocs/langs/ja_JP/main.lang index f9ec777cbd1..a5ce0161b53 100644 --- a/htdocs/langs/ja_JP/main.lang +++ b/htdocs/langs/ja_JP/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=MM/dd/yyyy FormatDateShortJavaInput=MM/dd/yyyy FormatDateShortJQuery=mm/dd/yy FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=エラーは、ファイルを保存に失敗しました SetDate=Set date SelectDate=Select a date SeeAlso=See also %s +SeeHere=See here BackgroundColorByDefault=デフォルトの背景色 FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=ユーザー Users=ユーザー Group=グループ Groups=グループ +NoUserGroupDefined=No user group defined Password=パスワード PasswordRetype=パスワードを再入力 NoteSomeFeaturesAreDisabled=機能/モジュールの多くは、このデモで無効になっていることに注意してください。 @@ -258,6 +261,7 @@ days=日 Hours=時間 Minutes=分 Seconds=秒 +Weeks=Weeks Today=今日は Yesterday=昨日 Tomorrow=明日 @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=月曜日 Tuesday=火曜日 diff --git a/htdocs/langs/ja_JP/margins.lang b/htdocs/langs/ja_JP/margins.lang index 03050a30577..095d25dd7e0 100644 --- a/htdocs/langs/ja_JP/margins.lang +++ b/htdocs/langs/ja_JP/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=製品やサービス AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/ja_JP/orders.lang b/htdocs/langs/ja_JP/orders.lang index 925337c661d..786cc3c40cf 100644 --- a/htdocs/langs/ja_JP/orders.lang +++ b/htdocs/langs/ja_JP/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=サプライヤーのため SuppliersOrders=サプライヤーの注文 SuppliersOrdersRunning=現在のサプライヤーの注文 CustomerOrder=顧客注文 -CustomersOrders=顧客の注文 +CustomersOrders=Customers orders CustomersOrdersRunning=現在の顧客の注文 CustomersOrdersAndOrdersLines=顧客の注文や注文の行 -OrdersToValid=検証するために、顧客の注文 -OrdersToBill=法案への顧客の注文 -OrdersInProcess=プロセスで顧客の注文 -OrdersToProcess=処理するために、顧客の注文 +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=処理するために、サプライヤの受注 StatusOrderCanceledShort=キャンセル StatusOrderDraftShort=ドラフト StatusOrderValidatedShort=検証 StatusOrderSentShort=プロセスの StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=レセプション +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=処理 StatusOrderToBillShort=請求する StatusOrderToBill2Short=請求する @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=すべてが受信された StatusOrderCanceled=キャンセル StatusOrderDraft=ドラフト(検証する必要があります) StatusOrderValidated=検証 -StatusOrderOnProcess=受け取るために待っている +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=処理 StatusOrderToBill=請求する StatusOrderToBill2=請求する @@ -50,6 +50,8 @@ StatusOrderRefused=拒否 StatusOrderReceivedPartially=部分的に受け StatusOrderReceivedAll=すべてが受信された ShippingExist=出荷が存在する +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=下書きまたは承認まだ順序付けられていません DraftOrWaitingShipped=ドラフトまたは検証まだ出荷されていない MenuOrdersToBill=法案に注文 diff --git a/htdocs/langs/ja_JP/productbatch.lang b/htdocs/langs/ja_JP/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/ja_JP/productbatch.lang +++ b/htdocs/langs/ja_JP/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/ja_JP/products.lang b/htdocs/langs/ja_JP/products.lang index 8753a3c1353..84f960b8c86 100644 --- a/htdocs/langs/ja_JP/products.lang +++ b/htdocs/langs/ja_JP/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=会計コード(販売) ProductOrService=製品やサービス ProductsAndServices=製品とサービス ProductsOrServices=製品またはサービス -ProductsAndServicesOnSell=利用可能な製品、サービス、および -ProductsAndServicesNotOnSell=廃止された製品とサービス +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=製品とサービスの統計情報 ProductsStatistics=製品統計 -ProductsOnSell=利用可能な製品 -ProductsNotOnSell=廃止された製品 -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=利用可能なサービス -ServicesNotOnSell=廃止されたサービス -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=内部基準 LastRecorded=販売上の最後の製品/サービスは、記録 LastRecordedProductsAndServices=最後%sは、製品/サービスを記録 @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/ja_JP/projects.lang b/htdocs/langs/ja_JP/projects.lang index 5c876e6dd1b..42c4317dc59 100644 --- a/htdocs/langs/ja_JP/projects.lang +++ b/htdocs/langs/ja_JP/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=プロジェクト Projects=プロジェクト +ProjectStatus=Project status SharedProject=皆 PrivateProject=プロジェクトの連絡先 MyProjectsDesc=このビューは、(型が何であれ)の連絡先であるプロジェクトに限定されています。 @@ -11,7 +12,6 @@ ProjectsDesc=このビューはすべてのプロジェクトを(あなたの MyTasksDesc=このビューは、連絡先の(種類は何でも)がプロジェクトやタスクに制限されています。 TasksPublicDesc=このビューには、読み取りを許可されているすべてのプロジェクトやタスクを示します。 TasksDesc=このビューは、すべてのプロジェクトとタスク(あなたのユーザー権限はあなたに全てを表示する権限を付与)を提示します。 -Myprojects=私のプロジェクト ProjectsArea=プロジェクトエリア NewProject=新しいプロジェクト AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/ja_JP/sendings.lang b/htdocs/langs/ja_JP/sendings.lang index 9a886c508f4..d73b5069169 100644 --- a/htdocs/langs/ja_JP/sendings.lang +++ b/htdocs/langs/ja_JP/sendings.lang @@ -4,7 +4,8 @@ Sending=出荷 Sendings=出荷 Shipment=出荷 Shipments=出荷 -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=出荷エリア ListOfSendings=出荷のリスト SendingMethod=配送方法 @@ -14,7 +15,7 @@ SearchASending=出荷の検索 StatisticsOfSendings=出荷の統計 NbOfSendings=出荷数 NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=配送カード +SendingCard=Shipment card NewSending=新しい出荷 CreateASending=出荷を作成します。 CreateSending=出荷を作成します。 @@ -37,7 +38,7 @@ StatusSendingCanceledShort=キャンセル StatusSendingDraftShort=ドラフト StatusSendingValidatedShort=検証 StatusSendingProcessedShort=処理 -SendingSheet=シートを送信する +SendingSheet=Shipment sheet Carriers=キャリア Carrier=キャリア CarriersArea=キャリアのエリア @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=出荷のイベント LinkToTrackYourPackage=あなたのパッケージを追跡するためのリンク ShipmentCreationIsDoneFromOrder=現時点では、新たな出荷の作成は、注文カードから行われます。 -RelatedShippings=Related shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=顧客がキャッチ diff --git a/htdocs/langs/ja_JP/stocks.lang b/htdocs/langs/ja_JP/stocks.lang index e910ee7637c..3ae54c5c68b 100644 --- a/htdocs/langs/ja_JP/stocks.lang +++ b/htdocs/langs/ja_JP/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=倉庫の値 UserWarehouseAutoCreate=ユーザーの作成時に自動的に倉庫を作成します。 QtyDispatched=数量派遣 +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=派遣株式 RuleForStockManagementDecrease=在庫管理の減少のためのルール RuleForStockManagementIncrease=在庫管理の増加のためのルール @@ -59,7 +61,7 @@ ReStockOnValidateOrder=サプライヤの注文賛同上の実際の株式を増 ReStockOnDispatchOrder=サプライヤーの順序が受信した後、倉庫に派遣マニュアルに本物の株式を増加させる ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=ご注文はまだないか、またはこれ以上の在庫倉庫の製品の派遣ができますステータスを持っていません。 -StockDiffPhysicTeoric=物理的および理論的な違いはストックの理由 +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=このオブジェクト用に事前定義された製品がありません。そうは在庫に派遣する必要はありません。 DispatchVerb=派遣 StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/ja_JP/suppliers.lang b/htdocs/langs/ja_JP/suppliers.lang index 393bbfc7871..7795c0f6ee7 100644 --- a/htdocs/langs/ja_JP/suppliers.lang +++ b/htdocs/langs/ja_JP/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=サプライヤー Supplier=サプライヤー -AddSupplier=サプライヤーを追加します。 +AddSupplier=Create a supplier SupplierRemoved=サプライヤーは、削除 SuppliersInvoice=仕入先の請求書 NewSupplier=新しいサプライヤー @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=noneまたはバッチ%sは最近走っていな SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/ja_JP/withdrawals.lang b/htdocs/langs/ja_JP/withdrawals.lang index 17e7c8c42b5..195977c4031 100644 --- a/htdocs/langs/ja_JP/withdrawals.lang +++ b/htdocs/langs/ja_JP/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=クレジットで WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=引き出しを表示 IfInvoiceNeedOnWithdrawPaymentWontBeClosed=請求書は、まだ少なくとも一つの引き出しの支払いを処理していない場合、前に撤退を管理できるようにするために支払ったとして、しかし、それが設定されません。 -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/ja_JP/workflow.lang b/htdocs/langs/ja_JP/workflow.lang index 6630b9e3791..d8885af3da4 100644 --- a/htdocs/langs/ja_JP/workflow.lang +++ b/htdocs/langs/ja_JP/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=ワークフローモジュールのセットアップ -WorkflowDesc=このモジュールは、アプリケーションへの自動アクションの動作を変更する件EusLispされています。デフォルトでは、ワークフローでは、(あなたが望む順番でものを作る)が開かれます。あなたはインチ興味深いことが自動処理を有効にできます。 +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=あなたがアクティブ化したモジュールに変更することができないワークフローはありません。 descWORKFLOW_PROPAL_AUTOCREATE_ORDER=商業的提案が署名された後、自動的に顧客の注文を作成します。 descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=商業的提案が署名された後、自動的に顧客の請求書を作成します。 descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=契約が検証された後、自動的に顧客に請求書を作成します。 descWORKFLOW_ORDER_AUTOCREATE_INVOICE=顧客注文が閉じられた後、自動的に顧客の請求書を作成します。 -# descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/ka_GE/accountancy.lang b/htdocs/langs/ka_GE/accountancy.lang new file mode 100644 index 00000000000..bb9b358c045 --- /dev/null +++ b/htdocs/langs/ka_GE/accountancy.lang @@ -0,0 +1,160 @@ +# Dolibarr language file - en_US - Accounting Expert +CHARSET=UTF-8 + +Accounting=Accounting +Globalparameters=Global parameters +Chartofaccounts=Chart of accounts +Fiscalyear=Fiscal years +Menuaccount=Accounting accounts +Menuthirdpartyaccount=Thirdparty accounts +MenuTools=Tools + +ConfigAccountingExpert=Configuration of the module accounting expert +Journaux=Journals +JournalFinancial=Financial journals +Exports=Exports +Export=Export +Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated +Selectmodelcsv=Select a model of export +Modelcsv_normal=Classic export +Modelcsv_CEGID=Export towards CEGID Expert +BackToChartofaccounts=Return chart of accounts +Back=Return + +Definechartofaccounts=Define a chart of accounts +Selectchartofaccounts=Select a chart of accounts +Validate=Validate +Addanaccount=Add an accounting account +AccountAccounting=Accounting account +Ventilation=Breakdown +ToDispatch=To dispatch +Dispatched=Dispatched + +CustomersVentilation=Breakdown customers +SuppliersVentilation=Breakdown suppliers +TradeMargin=Trade margin +Reports=Reports +ByCustomerInvoice=By invoices customers +ByMonth=By Month +NewAccount=New accounting account +Update=Update +List=List +Create=Create +UpdateAccount=Modification of an accounting account +UpdateMvts=Modification of a movement +WriteBookKeeping=Record accounts in general ledger +Bookkeeping=General ledger +AccountBalanceByMonth=Account balance by month + +AccountingVentilation=Breakdown accounting +AccountingVentilationSupplier=Breakdown accounting supplier +AccountingVentilationCustomer=Breakdown accounting customer +Line=Line + +CAHTF=Total purchase supplier HT +InvoiceLines=Lines of invoice to be ventilated +InvoiceLinesDone=Ventilated lines of invoice +IntoAccount=In the accounting account + +Ventilate=Ventilate +VentilationAuto=Automatic breakdown + +Processing=Processing +EndProcessing=The end of processing +AnyLineVentilate=Any lines to ventilate +SelectedLines=Selected lines +Lineofinvoice=Line of invoice +VentilatedinAccount=Ventilated successfully in the accounting account +NotVentilatedinAccount=Not ventilated in the accounting account + +ACCOUNTING_SEPARATORCSV=Column separator in export file + +ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) +ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements +ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the breakdown pages "Breakdown" by the most recent elements + +AccountLength=Length of the accounting accounts shown in Dolibarr +AccountLengthDesc=Function allowing to feign a length of accounting account by replacing spaces by the zero figure. This function touches only the display, it does not modify the accounting accounts registered in Dolibarr. For the export, this function is necessary to be compatible with certain software. +ACCOUNTING_LENGTH_GACCOUNT=Length of the general accounts +ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts + +ACCOUNTING_SELL_JOURNAL=Sell journal +ACCOUNTING_PURCHASE_JOURNAL=Purchase journal +ACCOUNTING_BANK_JOURNAL=Bank journal +ACCOUNTING_CASH_JOURNAL=Cash journal +ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_SOCIAL_JOURNAL=Social journal + +ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer +ACCOUNTING_ACCOUNT_SUSPENSE=Account of wait + +ACCOUNTING_PRODUCT_BUY_ACCOUNT=Accounting account by default for bought products (if not defined in the product sheet) +ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Accounting account by default for the sold products (if not defined in the product sheet) +ACCOUNTING_SERVICE_BUY_ACCOUNT=Accounting account by default for the bought services (if not defined in the service sheet) +ACCOUNTING_SERVICE_SOLD_ACCOUNT=Accounting account by default for the sold services (if not defined in the service sheet) + +Doctype=Type of document +Docdate=Date +Docref=Reference +Numerocompte=Account +Code_tiers=Thirdparty +Labelcompte=Label account +Debit=Debit +Credit=Credit +Amount=Amount +Sens=Sens +Codejournal=Journal + +DelBookKeeping=Delete the records of the general ledger + +SellsJournal=Sells journal +PurchasesJournal=Purchases journal +DescSellsJournal=Sells journal +DescPurchasesJournal=Purchases journal +BankJournal=Bank journal +DescBankJournal=Bank journal including all the types of payments other than cash +CashJournal=Cash journal +DescCashJournal=Cash journal including the type of payment cash + +CashPayment=Cash Payment + +SupplierInvoicePayment=Payment of invoice supplier +CustomerInvoicePayment=Payment of invoice customer + +ThirdPartyAccount=Thirdparty account + +NewAccountingMvt=New movement +NumMvts=Number of movement +ListeMvts=List of the movement +ErrorDebitCredit=Debit and Credit cannot have a value at the same time + +ReportThirdParty=List thirdparty account +DescThirdPartyReport=Consult here the list of the thirdparty customers and the suppliers and their accounting accounts + +ListAccounts=List of the accounting accounts + +Pcgversion=Version of the plan +Pcgtype=Class of account +Pcgsubtype=Under class of account +Accountparent=Root of the account +Active=Statement + +NewFiscalYear=New fiscal year + +DescVentilCustomer=Consult here the annual breakdown accounting of your invoices customers +TotalVente=Total turnover HT +TotalMarge=Total sales margin +DescVentilDoneCustomer=Consult here the list of the lines of invoices customers and their accounting account +DescVentilTodoCustomer=Ventilate your lines of customer invoice with an accounting account +ChangeAccount=Change the accounting account for lines selected by the account: +Vide=- +DescVentilSupplier=Consult here the annual breakdown accounting of your invoices suppliers +DescVentilTodoSupplier=Ventilate your lines of invoice supplier with an accounting account +DescVentilDoneSupplier=Consult here the list of the lines of invoices supplier and their accounting account + +ValidateHistory=Validate Automatically + +ErrorAccountancyCodeIsAlreadyUse=Error, you cannot delete this accounting account because it is used + +FicheVentilation=Breakdown card diff --git a/htdocs/langs/ka_GE/admin.lang b/htdocs/langs/ka_GE/admin.lang new file mode 100644 index 00000000000..38634cbd497 --- /dev/null +++ b/htdocs/langs/ka_GE/admin.lang @@ -0,0 +1,1571 @@ +# Dolibarr language file - Source file is en_US - admin +Foundation=Foundation +Version=Version +VersionProgram=Version program +VersionLastInstall=Version initial install +VersionLastUpgrade=Version last upgrade +VersionExperimental=Experimental +VersionDevelopment=Development +VersionUnknown=Unknown +VersionRecommanded=Recommended +SessionId=Session ID +SessionSaveHandler=Handler to save sessions +SessionSavePath=Storage session localization +PurgeSessions=Purge of sessions +ConfirmPurgeSessions=Do you really want to purge all sessions ? This will disconnect every user (except yourself). +NoSessionListWithThisHandler=Save session handler configured in your PHP does not allow to list all running sessions. +LockNewSessions=Lock new connections +ConfirmLockNewSessions=Are you sure you want to restrict any new Dolibarr connection to yourself. Only user %s will be able to connect after that. +UnlockNewSessions=Remove connection lock +YourSession=Your session +Sessions=Users session +WebUserGroup=Web server user/group +NoSessionFound=Your PHP seems to not allow to list active sessions. Directory used to save sessions (%s) might be protected (For example, by OS permissions or by PHP directive open_basedir). +HTMLCharset=Charset for generated HTML pages +DBStoringCharset=Database charset to store data +DBSortingCharset=Database charset to sort data +WarningModuleNotActive=Module %s must be enabled +WarningOnlyPermissionOfActivatedModules=Only permissions related to activated modules are shown here. You can activate other modules in the Home->Setup->Modules page. +DolibarrSetup=Dolibarr install or upgrade +DolibarrUser=Dolibarr user +InternalUser=Internal user +ExternalUser=External user +InternalUsers=Internal users +ExternalUsers=External users +GlobalSetup=Global setup +GUISetup=Display +SetupArea=Setup area +FormToTestFileUploadForm=Form to test file upload (according to setup) +IfModuleEnabled=Note: yes is effective only if module %s is enabled +RemoveLock=Remove file %s if it exists to allow usage of the update tool. +RestoreLock=Restore file %s, with read permission only, to disable any usage of update tool. +SecuritySetup=Security setup +ErrorModuleRequirePHPVersion=Error, this module requires PHP version %s or higher +ErrorModuleRequireDolibarrVersion=Error, this module requires Dolibarr version %s or higher +ErrorDecimalLargerThanAreForbidden=Error, a precision higher than %s is not supported. +DictionarySetup=Dictionary setup +Dictionary=Dictionaries +Chartofaccounts=Chart of accounts +Fiscalyear=Fiscal years +ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record +ErrorCodeCantContainZero=Code can't contain value 0 +DisableJavascript=Disable JavaScript and Ajax functions (Recommended for blind person or text browsers) +ConfirmAjax=Use Ajax confirmation popups +UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectCompany=Use autocompletion fields to choose third parties instead of using a list box. +ActivityStateToSelectCompany= Add a filter option to show/hide thirdparties which are currently in activity or has ceased it +UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectContact=Use autocompletion fields to choose contact (instead of using a list box). +DelaiedFullListToSelectCompany=Wait you press a key before loading content of thirdparties combo list (This may increase performance if you have a large number of thirdparties) +DelaiedFullListToSelectContact=Wait you press a key before loading content of contact combo list (This may increase performance if you have a large number of contact) +SearchFilter=Search filters options +NumberOfKeyToSearch=Nbr of characters to trigger search: %s +ViewFullDateActions=Show full dates events in the third sheet +NotAvailableWhenAjaxDisabled=Not available when Ajax disabled +JavascriptDisabled=JavaScript disabled +UsePopupCalendar=Use popup for dates input +UsePreviewTabs=Use preview tabs +ShowPreview=Show preview +PreviewNotAvailable=Preview not available +ThemeCurrentlyActive=Theme currently active +CurrentTimeZone=TimeZone PHP (server) +MySQLTimeZone=TimeZone MySql (database) +TZHasNoEffect=Dates are stored and returned by database server as if they were kept as submited string. The timezone has effect only when using UNIX_TIMESTAMP function (that should not be used by Dolibarr, so database TZ should have no effect, even if changed after data was entered). +Space=Space +Table=Table +Fields=Fields +Index=Index +Mask=Mask +NextValue=Next value +NextValueForInvoices=Next value (invoices) +NextValueForCreditNotes=Next value (credit notes) +NextValueForDeposit=Next value (deposit) +NextValueForReplacements=Next value (replacements) +MustBeLowerThanPHPLimit=Note: your PHP limits each file upload's size to %s %s, whatever this parameter's value is +NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration +MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) +UseCaptchaCode=Use graphical code (CAPTCHA) on login page +UseAvToScanUploadedFiles=Use anti-virus to scan uploaded files +AntiVirusCommand= Full path to antivirus command +AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan +AntiVirusParam= More parameters on command line +AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ComptaSetup=Accounting module setup +UserSetup=User management setup +MenuSetup=Menu management setup +MenuLimits=Limits and accuracy +MenuIdParent=Parent menu ID +DetailMenuIdParent=ID of parent menu (empty for a top menu) +DetailPosition=Sort number to define menu position +PersonalizedMenusNotSupported=Personalized menus not supported +AllMenus=All +NotConfigured=Module not configured +Setup=Setup +Activation=Activation +Active=Active +SetupShort=Setup +OtherOptions=Other options +OtherSetup=Other setup +CurrentValueSeparatorDecimal=Decimal separator +CurrentValueSeparatorThousand=Thousand separator +Destination=Destination +IdModule=Module ID +IdPermissions=Permissions ID +Modules=Modules +ModulesCommon=Main modules +ModulesOther=Other modules +ModulesInterfaces=Interfaces modules +ModulesSpecial=Modules very specific +ParameterInDolibarr=Parameter %s +LanguageParameter=Language parameter %s +LanguageBrowserParameter=Parameter %s +LocalisationDolibarrParameters=Localisation parameters +ClientTZ=Client Time Zone (user) +ClientHour=Client time (user) +OSTZ=Server OS Time Zone +PHPTZ=PHP server Time Zone +PHPServerOffsetWithGreenwich=PHP server offset width Greenwich (seconds) +ClientOffsetWithGreenwich=Client/Browser offset width Greenwich (seconds) +DaylingSavingTime=Daylight saving time +CurrentHour=PHP Time (server) +CompanyTZ=Company Time Zone (main company) +CompanyHour=Company Time (main company) +CurrentSessionTimeOut=Current session timeout +YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htacces with a line like this "SetEnv TZ Europe/Paris" +OSEnv=OS Environment +Box=Box +Boxes=Boxes +MaxNbOfLinesForBoxes=Max number of lines for boxes +PositionByDefault=Default order +Position=Position +MenusDesc=Menus managers define content of the 2 menu bars (horizontal bar and vertical bar). +MenusEditorDesc=The menu editor allow you to define personalized entries in menus. Use it carefully to avoid making dolibarr unstable and menu entries permanently unreachable.
Some modules add entries in the menus (in menu All in most cases). If you removed some of these entries by mistake, you can restore them by disabling and reenabling the module. +MenuForUsers=Menu for users +LangFile=.lang file +System=System +SystemInfo=System information +SystemTools=System tools +SystemToolsArea=System tools area +SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. +Purge=Purge +PurgeAreaDesc=This page allows you to delete all files built or stored by Dolibarr (temporary files or all files in %s directory). Using this feature is not necessary. It is provided for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files built by the web server. +PurgeDeleteLogFile=Delete log file %s defined for Syslog module (no risk to loose data) +PurgeDeleteTemporaryFiles=Delete all temporary files (no risk to loose data) +PurgeDeleteAllFilesInDocumentsDir=Delete all files in directory %s. Temporary files but also database backup dumps, files attached to elements (third parties, invoices, ...) and uploaded into the ECM module will be deleted. +PurgeRunNow=Purge now +PurgeNothingToDelete=No directory or file to delete. +PurgeNDirectoriesDeleted=%s files or directories deleted. +PurgeAuditEvents=Purge all security events +ConfirmPurgeAuditEvents=Are you sure you want to purge all security events ? All security logs will be deleted, no other data will be removed. +NewBackup=New backup +GenerateBackup=Generate backup +Backup=Backup +Restore=Restore +RunCommandSummary=Backup has been launched with the following command +RunCommandSummaryToLaunch=Backup can be launched with the following command +WebServerMustHavePermissionForCommand=Your web server must have the permission to run such commands +BackupResult=Backup result +BackupFileSuccessfullyCreated=Backup file successfully generated +YouCanDownloadBackupFile=Generated files can now be downloaded +NoBackupFileAvailable=No backup files available. +ExportMethod=Export method +ImportMethod=Import method +ToBuildBackupFileClickHere=To build a backup file, click here. +ImportMySqlDesc=To import a backup file, you must use mysql command from command line: +ImportPostgreSqlDesc=To import a backup file, you must use pg_restore command from command line: +ImportMySqlCommand=%s %s < mybackupfile.sql +ImportPostgreSqlCommand=%s %s mybackupfile.sql +FileNameToGenerate=File name to generate +Compression=Compression +CommandsToDisableForeignKeysForImport=Command to disable foreign keys on import +CommandsToDisableForeignKeysForImportWarning=Mandatory if you want to be able to restore your sql dump later +ExportCompatibility=Compatibility of generated export file +MySqlExportParameters=MySQL export parameters +PostgreSqlExportParameters= PostgreSQL export parameters +UseTransactionnalMode=Use transactional mode +FullPathToMysqldumpCommand=Full path to mysqldump command +FullPathToPostgreSQLdumpCommand=Full path to pg_dump command +ExportOptions=Export Options +AddDropDatabase=Add DROP DATABASE command +AddDropTable=Add DROP TABLE command +ExportStructure=Structure +Datas=Data +NameColumn=Name columns +ExtendedInsert=Extended INSERT +NoLockBeforeInsert=No lock commands around INSERT +DelayedInsert=Delayed insert +EncodeBinariesInHexa=Encode binary data in hexadecimal +IgnoreDuplicateRecords=Ignore errors of duplicate records (INSERT IGNORE) +Yes=Yes +No=No +AutoDetectLang=Autodetect (browser language) +FeatureDisabledInDemo=Feature disabled in demo +Rights=Permissions +BoxesDesc=Boxes are screen area that show a piece of information on some pages. You can choose between showing the box or not by selecting target page and clicking 'Activate', or by clicking the dustbin to disable it. +OnlyActiveElementsAreShown=Only elements from enabled modules are shown. +ModulesDesc=Dolibarr modules define which functionality is enabled in software. Some modules require permissions you must grant to users, after enabling module. Click on button on/off in column "Status" to enable a module/feature. +ModulesInterfaceDesc=The Dolibarr modules interface allows you to add features depending on external software, systems or services. +ModulesSpecialDesc=Special modules are very specific or seldom used modules. +ModulesJobDesc=Business modules provide simple predefined setup of Dolibarr for a particular business. +ModulesMarketPlaceDesc=You can find more modules to download on external web sites on the Internet... +ModulesMarketPlaces=More modules... +DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules +DoliPartnersDesc=List with some companies that can provide/develop on-demand modules or features (Note: any Open Source company knowning PHP language can provide you specific development) +WebSiteDesc=Web site providers you can search to find more modules... +URL=Link +BoxesAvailable=Boxes available +BoxesActivated=Boxes activated +ActivateOn=Activate on +ActiveOn=Activated on +SourceFile=Source file +AutomaticIfJavascriptDisabled=Automatic if Javascript is disabled +AvailableOnlyIfJavascriptNotDisabled=Available only if JavaScript is not disabled +AvailableOnlyIfJavascriptAndAjaxNotDisabled=Available only if JavaScript is not disabled +Required=Required +UsedOnlyWithTypeOption=Used by some agenda option only +Security=Security +Passwords=Passwords +DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) +MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="..."
by
$dolibarr_main_db_pass="crypted:%s" +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:..."
by
$dolibarr_main_db_pass="%s" +ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) +ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). +Feature=Feature +DolibarrLicense=License +DolibarrProjectLeader=Project leader +Developpers=Developers/contributors +OtherDeveloppers=Other developers/contributors +OfficialWebSite=Dolibarr international official web site +OfficialWebSiteFr=French official web site +OfficialWiki=Dolibarr documentation on Wiki +OfficialDemo=Dolibarr online demo +OfficialMarketPlace=Official market place for external modules/addons +OfficialWebHostingService=Referenced web hosting services (Cloud hosting) +ReferencedPreferredPartners=Preferred Partners +OtherResources=Autres ressources +ForDocumentationSeeWiki=For user or developer documentation (Doc, FAQs...),
take a look at the Dolibarr Wiki:
%s +ForAnswersSeeForum=For any other questions/help, you can use the Dolibarr forum:
%s +HelpCenterDesc1=This area can help you to get a Help support service on Dolibarr. +HelpCenterDesc2=Some part of this service are available in english only. +CurrentTopMenuHandler=Current top menu handler +CurrentLeftMenuHandler=Current left menu handler +CurrentMenuHandler=Current menu handler +CurrentSmartphoneMenuHandler=Current smartphone menu handler +MeasuringUnit=Measuring unit +Emails=E-mails +EMailsSetup=E-mails setup +EMailsDesc=This page allows you to overwrite your PHP parameters for e-mails sending. In most cases on Unix/Linux OS, your PHP setup is correct and these parameters are useless. +MAIN_MAIL_SMTP_PORT=SMTP/SMTPS Port (By default in php.ini: %s) +MAIN_MAIL_SMTP_SERVER=SMTP/SMTPS Host (By default in php.ini: %s) +MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP/SMTPS Port (Not defined into PHP on Unix like systems) +MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike=SMTP/SMTPS Host (Not defined into PHP on Unix like systems) +MAIN_MAIL_EMAIL_FROM=Sender e-mail for automatic emails (By default in php.ini: %s) +MAIN_MAIL_ERRORS_TO=Sender e-mail used for error returns emails sent +MAIN_MAIL_AUTOCOPY_TO= Send systematically a hidden carbon-copy of all sent emails to +MAIN_MAIL_AUTOCOPY_PROPOSAL_TO= Send systematically a hidden carbon-copy of proposals sent by email to +MAIN_MAIL_AUTOCOPY_ORDER_TO= Send systematically a hidden carbon-copy of orders sent by email to +MAIN_MAIL_AUTOCOPY_INVOICE_TO= Send systematically a hidden carbon-copy of invoice sent by emails to +MAIN_DISABLE_ALL_MAILS=Disable all e-mails sendings (for test purposes or demos) +MAIN_MAIL_SENDMODE=Method to use to send EMails +MAIN_MAIL_SMTPS_ID=SMTP ID if authentication required +MAIN_MAIL_SMTPS_PW=SMTP Password if authentication required +MAIN_MAIL_EMAIL_TLS= Use TLS (SSL) encrypt +MAIN_DISABLE_ALL_SMS=Disable all SMS sendings (for test purposes or demos) +MAIN_SMS_SENDMODE=Method to use to send SMS +MAIN_MAIL_SMS_FROM=Default sender phone number for Sms sending +FeatureNotAvailableOnLinux=Feature not available on Unix like systems. Test your sendmail program locally. +SubmitTranslation=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on www.dolibarr.org forum. +ModuleSetup=Module setup +ModulesSetup=Modules setup +ModuleFamilyBase=System +ModuleFamilyCrm=Customer Relation Management (CRM) +ModuleFamilyProducts=Products Management +ModuleFamilyHr=Human Resource Management +ModuleFamilyProjects=Projects/Collaborative work +ModuleFamilyOther=Other +ModuleFamilyTechnic=Multi-modules tools +ModuleFamilyExperimental=Experimental modules +ModuleFamilyFinancial=Financial Modules (Accounting/Treasury) +ModuleFamilyECM=Electronic Content Management (ECM) +MenuHandlers=Menu handlers +MenuAdmin=Menu editor +DoNotUseInProduction=Do not use in production +ThisIsProcessToFollow=This is setup to process: +StepNb=Step %s +FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). +DownloadPackageFromWebSite=Download package %s. +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr's root directory %s +SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. +NotExistsDirect=The alternative root directory is not defined.
+InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
+InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. +YouCanSubmitFile=Select module: +CurrentVersion=Dolibarr current version +CallUpdatePage=Go to the page that updates the database structure and datas: %s. +LastStableVersion=Last stable version +UpdateServerOffline=Update server offline +GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
+GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
+GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
+GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
+GenericMaskCodes4b=Example on third party created on 2007-03-01:
+GenericMaskCodes4c=Example on product created on 2007-03-01:
+GenericMaskCodes5=ABC{yy}{mm}-{000000} will give ABC0701-000099
{0000+100@1}-ZZZ/{dd}/XXX will give 0199-ZZZ/31/XXX +GenericNumRefModelDesc=Returns a customizable number according to a defined mask. +ServerAvailableOnIPOrPort=Server is available at address %s on port %s +ServerNotAvailableOnIPOrPort=Server is not available at address %s on port %s +DoTestServerAvailability=Test server connectivity +DoTestSend=Test sending +DoTestSendHTML=Test sending HTML +ErrorCantUseRazIfNoYearInMask=Error, can't use option @ to reset counter each year if sequence {yy} or {yyyy} is not in mask. +ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Error, can't use option @ if sequence {yy}{mm} or {yyyy}{mm} is not in mask. +UMask=UMask parameter for new files on Unix/Linux/BSD/Mac file system. +UMaskExplanation=This parameter allow you to define permissions set by default on files created by Dolibarr on server (during upload for example).
It must be the octal value (for example, 0666 means read and write for everyone).
This parameter is useless on a Windows server. +SeeWikiForAllTeam=Take a look at the wiki page for full list of all actors and their organisation +UseACacheDelay= Delay for caching export response in seconds (0 or empty for no cache) +DisableLinkToHelpCenter=Hide link "Need help or support" on login page +DisableLinkToHelp=Hide link "%s Online help" on left menu +AddCRIfTooLong=There is no automatic wrapping, so if line is out of page on documents because too long, you must add yourself carriage returns in the textarea. +ModuleDisabled=Module disabled +ModuleDisabledSoNoEvent=Module disabled so event never created +ConfirmPurge=Are you sure you want to execute this purge ?
This will delete definitely all your data files with no way to restore them (ECM files, attached files...). +MinLength=Minimum length +LanguageFilesCachedIntoShmopSharedMemory=Files .lang loaded in shared memory +ExamplesWithCurrentSetup=Examples with current running setup +ListOfDirectories=List of OpenDocument templates directories +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

Put here full path of directories.
Add a carriage return between eah directory.
To add a directory of the GED module, add here DOL_DATA_ROOT/ecm/yourdirectoryname.

Files in those directories must end with .odt. +NumberOfModelFilesFound=Number of ODT/ODS templates files found in those directories +ExampleOfDirectoriesForModelGen=Examples of syntax:
c:\\mydir
/home/mydir
DOL_DATA_ROOT/ecm/ecmdir +FollowingSubstitutionKeysCanBeUsed=
To know how to create your odt document templates, before storing them in those directories, read wiki documentation: +FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template +FirstnameNamePosition=Position of Name/Lastname +DescWeather=The following pictures will be shown on dashboard when number of late actions reach the following values: +KeyForWebServicesAccess=Key to use Web Services (parameter "dolibarrkey" in webservices) +TestSubmitForm=Input test form +ThisForceAlsoTheme=Using this menu manager will also use its own theme whatever is user choice. Also this menu manager specialized for smartphones does not works on all smartphone. Use another menu manager if you experience problems on yours. +ThemeDir=Skins directory +ConnectionTimeout=Connexion timeout +ResponseTimeout=Response timeout +SmsTestMessage=Test message from __PHONEFROM__ to __PHONETO__ +ModuleMustBeEnabledFirst=Module %s must be enabled first before using this feature. +SecurityToken=Key to secure URLs +NoSmsEngine=No SMS sender manager available. SMS sender manager are not installed with default distribution (because they depends on an external supplier) but you can find some on %s +PDF=PDF +PDFDesc=You can set each global options related to the PDF generation +PDFAddressForging=Rules to forge address boxes +HideAnyVATInformationOnPDF=Hide all information related to VAT on generated PDF +HideDescOnPDF=Hide products description on generated PDF +HideRefOnPDF=Hide products ref. on generated PDF +HideDetailsOnPDF=Hide products lines details on generated PDF +Library=Library +UrlGenerationParameters=Parameters to secure URLs +SecurityTokenIsUnique=Use a unique securekey parameter for each URL +EnterRefToBuildUrl=Enter reference for object %s +GetSecuredUrl=Get calculated URL +ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons +OldVATRates=Old VAT rate +NewVATRates=New VAT rate +PriceBaseTypeToChange=Modify on prices with base reference value defined on +MassConvert=Launch mass convert +String=String +TextLong=Long text +Int=Integer +Float=Float +DateAndTime=Date and hour +Unique=Unique +Boolean=Boolean (Checkbox) +ExtrafieldPhone = Phone +ExtrafieldPrice = Price +ExtrafieldMail = Email +ExtrafieldSelect = Select list +ExtrafieldSelectList = Select from table +ExtrafieldSeparator=Separator +ExtrafieldCheckBox=Checkbox +ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table +ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key +ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... +ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... +ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +LibraryToBuildPDF=Library used to build PDF +WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) +SMS=SMS +LinkToTestClickToDial=Enter a phone number to call to show a link to test the ClickToDial url for user %s +RefreshPhoneLink=Refresh link +LinkToTest=Clickable link generated for user %s (click phone number to test) +KeepEmptyToUseDefault=Keep empty to use default value +DefaultLink=Default link +ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) +ExternalModule=External module - Installed into directory %s +BarcodeInitForThirdparties=Mass barcode init for thirdparties +BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +InitEmptyBarCode=Init value for next %s empty records +EraseAllCurrentBarCode=Erase all current barcode values +ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +AllBarcodeReset=All barcode values have been removed +NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + +# Modules +Module0Name=Users & groups +Module0Desc=Users and groups management +Module1Name=Third parties +Module1Desc=Companies and contact management (customers, prospects...) +Module2Name=Commercial +Module2Desc=Commercial management +Module10Name=Accounting +Module10Desc=Simple accounting reports (journals, turnover) based onto database content. No dispatching. +Module20Name=Proposals +Module20Desc=Commercial proposal management +Module22Name=Mass E-mailings +Module22Desc=Mass E-mailing management +Module23Name= Energy +Module23Desc= Monitoring the consumption of energies +Module25Name=Customer Orders +Module25Desc=Customer order management +Module30Name=Invoices +Module30Desc=Invoice and credit note management for customers. Invoice management for suppliers +Module40Name=Suppliers +Module40Desc=Supplier management and buying (orders and invoices) +Module42Name=Logs +Module42Desc=Logging facilities (file, syslog, ...) +Module49Name=Editors +Module49Desc=Editor management +Module50Name=Products +Module50Desc=Product management +Module51Name=Mass mailings +Module51Desc=Mass paper mailing management +Module52Name=Stocks +Module52Desc=Stock management (products) +Module53Name=Services +Module53Desc=Service management +Module54Name=Contracts/Subscriptions +Module54Desc=Management of contracts (services or reccuring subscriptions) +Module55Name=Barcodes +Module55Desc=Barcode management +Module56Name=Telephony +Module56Desc=Telephony integration +Module57Name=Standing orders +Module57Desc=Standing orders and withdrawal management. Also includes generation of SEPA file for european countries. +Module58Name=ClickToDial +Module58Desc=Integration of a ClickToDial system (Asterisk, ...) +Module59Name=Bookmark4u +Module59Desc=Add function to generate Bookmark4u account from a Dolibarr account +Module70Name=Interventions +Module70Desc=Intervention management +Module75Name=Expense and trip notes +Module75Desc=Expense and trip notes management +Module80Name=Shipments +Module80Desc=Shipments and delivery order management +Module85Name=Banks and cash +Module85Desc=Management of bank or cash accounts +Module100Name=External site +Module100Desc=This module include an external web site or page into Dolibarr menus and view it into a Dolibarr frame +Module105Name=Mailman and SPIP +Module105Desc=Mailman or SPIP interface for member module +Module200Name=LDAP +Module200Desc=LDAP directory synchronisation +Module210Name=PostNuke +Module210Desc=PostNuke integration +Module240Name=Data exports +Module240Desc=Tool to export Dolibarr datas (with assistants) +Module250Name=Data imports +Module250Desc=Tool to import datas in Dolibarr (with assistants) +Module310Name=Members +Module310Desc=Foundation members management +Module320Name=RSS Feed +Module320Desc=Add RSS feed inside Dolibarr screen pages +Module330Name=Bookmarks +Module330Desc=Bookmark management +Module400Name=Projects/Opportunities/Leads +Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. +Module410Name=Webcalendar +Module410Desc=Webcalendar integration +Module500Name=Special expenses (tax, social contributions, dividends) +Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module510Name=Salaries +Module510Desc=Management of employees salaries and payments +Module600Name=Notifications +Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) +Module700Name=Donations +Module700Desc=Donation management +Module1200Name=Mantis +Module1200Desc=Mantis integration +Module1400Name=Accounting +Module1400Desc=Accounting management (double parties) +Module1780Name=Categories +Module1780Desc=Category management (products, suppliers and customers) +Module2000Name=WYSIWYG editor +Module2000Desc=Allow to edit some text area using an advanced editor +Module2200Name=Dynamic Prices +Module2200Desc=Enable the usage of math expressions for prices +Module2300Name=Cron +Module2300Desc=Scheduled task management +Module2400Name=Agenda +Module2400Desc=Events/tasks and agenda management +Module2500Name=Electronic Content Management +Module2500Desc=Save and share documents +Module2600Name=WebServices +Module2600Desc=Enable the Dolibarr web services server +Module2650Name=WebServices (client) +Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) +Module2700Name=Gravatar +Module2700Desc=Use online Gravatar service (www.gravatar.com) to show photo of users/members (found with their emails). Need an internet access +Module2800Desc=FTP Client +Module2900Name=GeoIPMaxmind +Module2900Desc=GeoIP Maxmind conversions capabilities +Module3100Name=Skype +Module3100Desc=Add a Skype button into card of adherents / third parties / contacts +Module5000Name=Multi-company +Module5000Desc=Allows you to manage multiple companies +Module6000Name=Workflow +Module6000Desc=Workflow management +Module20000Name=Leave Requests management +Module20000Desc=Declare and follow employees leaves requests +Module39000Name=Product batch +Module39000Desc=Batch or serial number, eat-by and sell-by date management on products +Module50000Name=PayBox +Module50000Desc=Module to offer an online payment page by credit card with PayBox +Module50100Name=Point of sales +Module50100Desc=Point of sales module +Module50200Name=Paypal +Module50200Desc=Module to offer an online payment page by credit card with Paypal +Module50400Name=Accounting (advanced) +Module50400Desc=Accounting management (double parties) +Module54000Name=PrintIPP +Module54000Desc=Direct print (without opening the documents) using Cups IPP interface (Printer must be visible from server, and CUPS must be installe on server). +Module55000Name=Open Poll +Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...) +Module59000Name=Margins +Module59000Desc=Module to manage margins +Module60000Name=Commissions +Module60000Desc=Module to manage commissions +Module150010Name=Batch number, eat-by date and sell-by date +Module150010Desc=batch number, eat-by date and sell-by date management for product +Permission11=Read customer invoices +Permission12=Create/modify customer invoices +Permission13=Unvalidate customer invoices +Permission14=Validate customer invoices +Permission15=Send customer invoices by email +Permission16=Create payments for customer invoices +Permission19=Delete customer invoices +Permission21=Read commercial proposals +Permission22=Create/modify commercial proposals +Permission24=Validate commercial proposals +Permission25=Send commercial proposals +Permission26=Close commercial proposals +Permission27=Delete commercial proposals +Permission28=Export commercial proposals +Permission31=Read products +Permission32=Create/modify products +Permission34=Delete products +Permission36=See/manage hidden products +Permission38=Export products +Permission41=Read projects (shared project and projects i'm contact for) +Permission42=Create/modify projects (shared project and projects i'm contact for) +Permission44=Delete projects (shared project and projects i'm contact for) +Permission61=Read interventions +Permission62=Create/modify interventions +Permission64=Delete interventions +Permission67=Export interventions +Permission71=Read members +Permission72=Create/modify members +Permission74=Delete members +Permission75=Setup types of membership +Permission76=Export datas +Permission78=Read subscriptions +Permission79=Create/modify subscriptions +Permission81=Read customers orders +Permission82=Create/modify customers orders +Permission84=Validate customers orders +Permission86=Send customers orders +Permission87=Close customers orders +Permission88=Cancel customers orders +Permission89=Delete customers orders +Permission91=Read social contributions and vat +Permission92=Create/modify social contributions and vat +Permission93=Delete social contributions and vat +Permission94=Export social contributions +Permission95=Read reports +Permission101=Read sendings +Permission102=Create/modify sendings +Permission104=Validate sendings +Permission106=Export sendings +Permission109=Delete sendings +Permission111=Read financial accounts +Permission112=Create/modify/delete and compare transactions +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions +Permission115=Export transactions and account statements +Permission116=Transfers between accounts +Permission117=Manage cheques dispatching +Permission121=Read third parties linked to user +Permission122=Create/modify third parties linked to user +Permission125=Delete third parties linked to user +Permission126=Export third parties +Permission141=Read projects (also private i am not contact for) +Permission142=Create/modify projects (also private i am not contact for) +Permission144=Delete projects (also private i am not contact for) +Permission146=Read providers +Permission147=Read stats +Permission151=Read standing orders +Permission152=Create/modify a standing orders request +Permission153=Transmission standing orders receipts +Permission154=Credit/refuse standing orders receipts +Permission161=Read contracts/subscriptions +Permission162=Create/modify contracts/subscriptions +Permission163=Activate a service/subscription of a contract +Permission164=Disable a service/subscription of a contract +Permission165=Delete contracts/subscriptions +Permission171=Read trips and expenses (own and his subordinates) +Permission172=Create/modify trips and expenses +Permission173=Delete trips and expenses +Permission174=Read all trips and expenses +Permission178=Export trips and expenses +Permission180=Read suppliers +Permission181=Read supplier orders +Permission182=Create/modify supplier orders +Permission183=Validate supplier orders +Permission184=Approve supplier orders +Permission185=Order supplier orders +Permission186=Receive supplier orders +Permission187=Close supplier orders +Permission188=Cancel supplier orders +Permission192=Create lines +Permission193=Cancel lines +Permission194=Read the bandwith lines +Permission202=Create ADSL connections +Permission203=Order connections orders +Permission204=Order connections +Permission205=Manage connections +Permission206=Read connections +Permission211=Read Telephony +Permission212=Order lines +Permission213=Activate line +Permission214=Setup Telephony +Permission215=Setup providers +Permission221=Read emailings +Permission222=Create/modify emailings (topic, recipients...) +Permission223=Validate emailings (allows sending) +Permission229=Delete emailings +Permission237=View recipients and info +Permission238=Manually send mailings +Permission239=Delete mailings after validation or sent +Permission241=Read categories +Permission242=Create/modify categories +Permission243=Delete categories +Permission244=See the contents of the hidden categories +Permission251=Read other users and groups +PermissionAdvanced251=Read other users +Permission252=Read permissions of other users +Permission253=Create/modify other users, groups and permisssions +PermissionAdvanced253=Create/modify internal/external users and permissions +Permission254=Create/modify external users only +Permission255=Modify other users password +Permission256=Delete or disable other users +Permission262=Extend access to all third parties (not only those linked to user). Not effective for external users (always limited to themselves). +Permission271=Read CA +Permission272=Read invoices +Permission273=Issue invoices +Permission281=Read contacts +Permission282=Create/modify contacts +Permission283=Delete contacts +Permission286=Export contacts +Permission291=Read tariffs +Permission292=Set permissions on the tariffs +Permission293=Modify costumers tariffs +Permission300=Read bar codes +Permission301=Create/modify bar codes +Permission302=Delete bar codes +Permission311=Read services +Permission312=Assign service/subscription to contract +Permission331=Read bookmarks +Permission332=Create/modify bookmarks +Permission333=Delete bookmarks +Permission341=Read its own permissions +Permission342=Create/modify his own user information +Permission343=Modify his own password +Permission344=Modify its own permissions +Permission351=Read groups +Permission352=Read groups permissions +Permission353=Create/modify groups +Permission354=Delete or disable groups +Permission358=Export users +Permission401=Read discounts +Permission402=Create/modify discounts +Permission403=Validate discounts +Permission404=Delete discounts +Permission510=Read Salaries +Permission512=Create/modify salaries +Permission514=Delete salaries +Permission517=Export salaries +Permission531=Read services +Permission532=Create/modify services +Permission534=Delete services +Permission536=See/manage hidden services +Permission538=Export services +Permission701=Read donations +Permission702=Create/modify donations +Permission703=Delete donations +Permission1001=Read stocks +Permission1002=Create/modify warehouses +Permission1003=Delete warehouses +Permission1004=Read stock movements +Permission1005=Create/modify stock movements +Permission1101=Read delivery orders +Permission1102=Create/modify delivery orders +Permission1104=Validate delivery orders +Permission1109=Delete delivery orders +Permission1181=Read suppliers +Permission1182=Read supplier orders +Permission1183=Create/modify supplier orders +Permission1184=Validate supplier orders +Permission1185=Approve supplier orders +Permission1186=Order supplier orders +Permission1187=Acknowledge receipt of supplier orders +Permission1188=Delete supplier orders +Permission1201=Get result of an export +Permission1202=Create/Modify an export +Permission1231=Read supplier invoices +Permission1232=Create/modify supplier invoices +Permission1233=Validate supplier invoices +Permission1234=Delete supplier invoices +Permission1235=Send supplier invoices by email +Permission1236=Export supplier invoices, attributes and payments +Permission1237=Export supplier orders and their details +Permission1251=Run mass imports of external data into database (data load) +Permission1321=Export customer invoices, attributes and payments +Permission1421=Export customer orders and attributes +Permission23001 = Read Scheduled task +Permission23002 = Create/update Scheduled task +Permission23003 = Delete Scheduled task +Permission23004 = Execute Scheduled task +Permission2401=Read actions (events or tasks) linked to his account +Permission2402=Create/modify actions (events or tasks) linked to his account +Permission2403=Delete actions (events or tasks) linked to his account +Permission2411=Read actions (events or tasks) of others +Permission2412=Create/modify actions (events or tasks) of others +Permission2413=Delete actions (events or tasks) of others +Permission2501=Read/Download documents +Permission2502=Download documents +Permission2503=Submit or delete documents +Permission2515=Setup documents directories +Permission2801=Use FTP client in read mode (browse and download only) +Permission2802=Use FTP client in write mode (delete or upload files) +Permission50101=Use Point of sales +Permission50201=Read transactions +Permission50202=Import transactions +Permission54001=Print +Permission55001=Read polls +Permission55002=Create/modify polls +Permission59001=Read commercial margins +Permission59002=Define commercial margins +Permission59003=Read every user margin +DictionaryCompanyType=Thirdparties type +DictionaryCompanyJuridicalType=Juridical kinds of thirdparties +DictionaryProspectLevel=Prospect potential level +DictionaryCanton=State/Cantons +DictionaryRegion=Regions +DictionaryCountry=Countries +DictionaryCurrency=Currencies +DictionaryCivility=Civility title +DictionaryActions=Type of agenda events +DictionarySocialContributions=Social contributions types +DictionaryVAT=VAT Rates or Sales Tax Rates +DictionaryRevenueStamp=Amount of revenue stamps +DictionaryPaymentConditions=Payment terms +DictionaryPaymentModes=Payment modes +DictionaryTypeContact=Contact/Address types +DictionaryEcotaxe=Ecotax (WEEE) +DictionaryPaperFormat=Paper formats +DictionaryFees=Type of fees +DictionarySendingMethods=Shipping methods +DictionaryStaff=Staff +DictionaryAvailability=Delivery delay +DictionaryOrderMethods=Ordering methods +DictionarySource=Origin of proposals/orders +DictionaryAccountancyplan=Chart of accounts +DictionaryAccountancysystem=Models for chart of accounts +DictionaryEMailTemplates=Emails templates +SetupSaved=Setup saved +BackToModuleList=Back to modules list +BackToDictionaryList=Back to dictionaries list +VATReceivedOnly=Special rate not charged +VATManagement=VAT Management +VATIsUsedDesc=The VAT rate by default when creating prospects, invoices, orders etc follow the active standard rule:
If the seller is not subjected to VAT, then VAT by default=0. End of rule.
If the (selling country= buying country), then the VAT by default=VAT of the product in the selling country. End of rule.
If seller and buyer in the European Community and goods are transport products (car, ship, plane), the default VAT=0 ( The VAT should be paid by the buyer at the customoffice of his country and not at the seller). End of rule.
If seller and buyer in the European Community and buyer is not a company, then the VAT by default=VAT of product sold. End of rule.
If seller and buyer in the European Community and buyer is a company, then the VAT by default=0. End of rule.
Else the proposed default VAT=0. End of rule. +VATIsNotUsedDesc=By default the proposed VAT is 0 which can be used for cases like associations, individuals ou small companies. +VATIsUsedExampleFR=In France, it means companies or organisations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. +VATIsNotUsedExampleFR=In France, it means associations that are non VAT declared or companies, organisations or liberal professions that have chosen the micro enterprise fiscal system (VAT in franchise) and paid a franchise VAT without any VAT declaration. This choice will display the reference "Non applicable VAT - art-293B of CGI" on invoices. +##### Local Taxes ##### +LTRate=Rate +LocalTax1IsUsed=Use second tax +LocalTax1IsNotUsed=Do not use second tax +LocalTax1IsUsedDesc=Use a second type of tax (other than VAT) +LocalTax1IsNotUsedDesc=Do not use other type of tax (other than VAT) +LocalTax1Management=Second type of tax +LocalTax1IsUsedExample= +LocalTax1IsNotUsedExample= +LocalTax2IsUsed=Use third tax +LocalTax2IsNotUsed=Do not use third tax +LocalTax2IsUsedDesc=Use a third type of tax (other than VAT) +LocalTax2IsNotUsedDesc=Do not use other type of tax (other than VAT) +LocalTax2Management=Third type of tax +LocalTax2IsUsedExample= +LocalTax2IsNotUsedExample= +LocalTax1ManagementES= RE Management +LocalTax1IsUsedDescES= The RE rate by default when creating prospects, invoices, orders etc follow the active standard rule:
If te buyer is not subjected to RE, RE by default=0. End of rule.
If the buyer is subjected to RE then the RE by default. End of rule.
+LocalTax1IsNotUsedDescES= By default the proposed RE is 0. End of rule. +LocalTax1IsUsedExampleES= In Spain they are professionals subject to some specific sections of the Spanish IAE. +LocalTax1IsNotUsedExampleES= In Spain they are professional and societies and subject to certain sections of the Spanish IAE. +LocalTax2ManagementES= IRPF Management +LocalTax2IsUsedDescES= The RE rate by default when creating prospects, invoices, orders etc follow the active standard rule:
If the seller is not subjected to IRPF, then IRPF by default=0. End of rule.
If the seller is subjected to IRPF then the IRPF by default. End of rule.
+LocalTax2IsNotUsedDescES= By default the proposed IRPF is 0. End of rule. +LocalTax2IsUsedExampleES= In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. +LocalTax2IsNotUsedExampleES= In Spain they are bussines not subject to tax system of modules. +CalcLocaltax=Reports +CalcLocaltax1ES=Sales - Purchases +CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases +CalcLocaltax2ES=Purchases +CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases +CalcLocaltax3ES=Sales +CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +LabelUsedByDefault=Label used by default if no translation can be found for code +LabelOnDocuments=Label on documents +NbOfDays=Nb of days +AtEndOfMonth=At end of month +Offset=Offset +AlwaysActive=Always active +UpdateRequired=Your system needs to be updated. To do this, click on Update now. +Upgrade=Upgrade +MenuUpgrade=Upgrade / Extend +AddExtensionThemeModuleOrOther=Add extension (theme, module, ...) +WebServer=Web server +DocumentRootServer=Web server's root directory +DataRootServer=Data files directory +IP=IP +Port=Port +VirtualServerName=Virtual server name +AllParameters=All parameters +OS=OS +PhpEnv=Env +PhpModules=Modules +PhpConf=Conf +PhpWebLink=Web-Php link +Pear=Pear +PearPackages=Pear Packages +Browser=Browser +Server=Server +Database=Database +DatabaseServer=Database host +DatabaseName=Database name +DatabasePort=Database port +DatabaseUser=Database user +DatabasePassword=Database password +DatabaseConfiguration=Database setup +Tables=Tables +TableName=Table name +TableLineFormat=Line format +NbOfRecord=Nb of records +Constraints=Constraints +ConstraintsType=Constraints type +ConstraintsToShowOrNotEntry=Constraint to show or not the menu entry +AllMustBeOk=All of these must be checked +Host=Server +DriverType=Driver type +SummarySystem=System information summary +SummaryConst=List of all Dolibarr setup parameters +SystemUpdate=System update +SystemSuccessfulyUpdate=Your system has been updated successfuly +MenuCompanySetup=Company/Foundation +MenuNewUser=New user +MenuTopManager=Top menu manager +MenuLeftManager=Left menu manager +MenuManager=Menu manager +MenuSmartphoneManager=Smartphone menu manager +DefaultMenuTopManager=Top menu manager +DefaultMenuLeftManager=Left menu manager +DefaultMenuManager= Standard menu manager +DefaultMenuSmartphoneManager=Smartphone menu manager +Skin=Skin theme +DefaultSkin=Default skin theme +MaxSizeList=Max length for list +DefaultMaxSizeList=Default max length for list +MessageOfDay=Message of the day +MessageLogin=Login page message +PermanentLeftSearchForm=Permanent search form on left menu +DefaultLanguage=Default language to use (language code) +EnableMultilangInterface=Enable multilingual interface +EnableShowLogo=Show logo on left menu +EnableHtml5=Enable Html5 (Developement - Only available on Eldy template) +SystemSuccessfulyUpdated=Your system has been updated successfully +CompanyInfo=Company/foundation information +CompanyIds=Company/foundation identities +CompanyName=Name +CompanyAddress=Address +CompanyZip=Zip +CompanyTown=Town +CompanyCountry=Country +CompanyCurrency=Main currency +Logo=Logo +DoNotShow=Do not show +DoNotSuggestPaymentMode=Do not suggest +NoActiveBankAccountDefined=No active bank account defined +OwnerOfBankAccount=Owner of bank account %s +BankModuleNotActive=Bank accounts module not enabled +ShowBugTrackLink=Show link "Report a bug" +ShowWorkBoard=Show "workbench" on homepage +Alerts=Alerts +Delays=Delays +DelayBeforeWarning=Delay before warning +DelaysBeforeWarning=Delays before warning +DelaysOfToleranceBeforeWarning=Tolerance delays before warning +DelaysOfToleranceDesc=This screen allows you to define the tolerated delays before an alert is reported on screen with picto %s for each late element. +Delays_MAIN_DELAY_ACTIONS_TODO=Delay tolerance (in days) before alert on planned events not yet realised +Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Delay tolerance (in days) before alert on orders not yet processed +Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Delay tolerance (in days) before alert on suppliers orders not yet processed +Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Delay tolerance (in days) before alert on proposals to close +Delays_MAIN_DELAY_PROPALS_TO_BILL=Delay tolerance (in days) before alert on proposals not billed +Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Tolerance delay (in days) before alert on services to activate +Delays_MAIN_DELAY_RUNNING_SERVICES=Tolerance delay (in days) before alert on expired services +Delays_MAIN_DELAY_SUPPLIER_BILLS_TO_PAY=Tolerance delay (in days) before alert on unpaid supplier invoices +Delays_MAIN_DELAY_CUSTOMER_BILLS_UNPAYED=Tolerence delay (in days) before alert on unpaid client invoices +Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Tolerance delay (in days) before alert on pending bank reconciliation +Delays_MAIN_DELAY_MEMBERS=Tolerance delay (in days) before alert on delayed membership fee +Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Tolerance delay (in days) before alert for cheques deposit to do +SetupDescription1=All parameters available in the setup area allow you to setup Dolibarr before starting using it. +SetupDescription2=The 2 most important setup steps are the 2 first ones in the left setup menu, this means Company/foundation setup page and Modules setup page: +SetupDescription3=Parameters in menu Setup -> Company/foundation are required because input information is used on Dolibarr displays and to modify Dolibarr behaviour (for example for features related to your country). +SetupDescription4=Parameters in menu Setup -> Modules are required because Dolibarr is not a fixed ERP/CRM but a sum of several modules, all more or less independant. It's only after activating modules you're interesting in that you will see features appeared in menus. +SetupDescription5=Other menu entries manage optional parameters. +EventsSetup=Setup for events logs +LogEvents=Security audit events +Audit=Audit +InfoDolibarr=Infos Dolibarr +InfoBrowser=Infos Browser +InfoOS=Infos OS +InfoWebServer=Infos web server +InfoDatabase=Infos database +InfoPHP=Infos PHP +InfoPerf=Infos performances +BrowserName=Browser name +BrowserOS=Browser OS +ListEvents=Audit events +ListOfSecurityEvents=List of Dolibarr security events +SecurityEventsPurged=Security events purged +LogEventDesc=You can enable here the logging for Dolibarr security events. Administrators can then see its content via menu System tools - Audit. Warning, this feature can consume a large amount of data in database. +AreaForAdminOnly=Those features can be used by administrator users only. +SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. +SystemAreaForAdminOnly=This area is available for administrator users only. None of the Dolibarr permissions can reduce this limit. +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) +DisplayDesc=You can choose each parameter related to the Dolibarr look and feel here +AvailableModules=Available modules +ToActivateModule=To activate modules, go on setup Area (Home->Setup->Modules). +SessionTimeOut=Time out for session +SessionExplanation=This number guarantee that session will never expire before this delay, if the session cleaner is done by Internal PHP session cleaner (and nothing else). Internal PHP session cleaner does not guaranty that session will expire just after this delay. It will expire, after this delay, and when the session cleaner is ran, so every %s/%s access, but only during access made by other sessions.
Note: on some servers with an external session cleaning mechanism (cron under debian, ubuntu ...), the sessions can be destroyed after a period defined by the default session.gc_maxlifetime, no matter what the value entered here. +TriggersAvailable=Available triggers +TriggersDesc=Triggers are files that will modify the behaviour of Dolibarr workflow once copied into the directory htdocs/core/triggers. They realised new actions, activated on Dolibarr events (new company creation, invoice validation, ...). +TriggerDisabledByName=Triggers in this file are disabled by the -NORUN suffix in their name. +TriggerDisabledAsModuleDisabled=Triggers in this file are disabled as module %s is disabled. +TriggerAlwaysActive=Triggers in this file are always active, whatever are the activated Dolibarr modules. +TriggerActiveAsModuleActive=Triggers in this file are active as module %s is enabled. +GeneratedPasswordDesc=Define here which rule you want to use to generate new password if you ask to have auto generated password +DictionaryDesc=Define here all reference datas. You can complete predefined value with yours. +ConstDesc=This page allows you to edit all other parameters not available in previous pages. They are reserved parameters for advanced developers or for troubleshouting. +OnceSetupFinishedCreateUsers=Warning, you are a Dolibarr administrator user. Administrator users are used to setup Dolibarr. For a usual usage of Dolibarr, it is recommended to use a non administrator user created from Users & Groups menu. +MiscellaneousDesc=Define here all other parameters related to security. +LimitsSetup=Limits/Precision setup +LimitsDesc=You can define limits, precisions and optimisations used by Dolibarr here +MAIN_MAX_DECIMALS_UNIT=Max decimals for unit prices +MAIN_MAX_DECIMALS_TOT=Max decimals for total prices +MAIN_MAX_DECIMALS_SHOWN=Max decimals for prices shown on screen (Add ... after this number if you want to see ... when number is truncated when shown on screen) +MAIN_DISABLE_PDF_COMPRESSION=Use PDF compression for generated PDF files. +MAIN_ROUNDING_RULE_TOT= Size of rounding range (for rare countries where rounding is done on something else than base 10) +UnitPriceOfProduct=Net unit price of a product +TotalPriceAfterRounding=Total price (net/vat/incl tax) after rounding +ParameterActiveForNextInputOnly=Parameter effective for next input only +NoEventOrNoAuditSetup=No security event has been recorded yet. This can be normal if audit has not been enabled on "setup - security - audit" page. +NoEventFoundWithCriteria=No security event has been found for such search criterias. +SeeLocalSendMailSetup=See your local sendmail setup +BackupDesc=To make a complete backup of Dolibarr, you must: +BackupDesc2=* Save content of documents directory (%s) that contains all uploaded and generated files (you can make a zip for example). +BackupDesc3=* Save content of your database into a dump file. For this, you can use following assistant. +BackupDescX=Archived directory should be stored in a secure place. +BackupDescY=The generated dump file should be stored in a secure place. +BackupPHPWarning=Backup can't be guaranted with this method. Prefer previous one +RestoreDesc=To restore a Dolibarr backup, you must: +RestoreDesc2=* Restore archive file (zip file for example) of documents directory to extract tree of files in documents directory of a new Dolibarr installation or into this current documents directoy (%s). +RestoreDesc3=* Restore the data, from a backup dump file, into the database of the new Dolibarr installation or into the database of this current installation. Warning, once restore is finished, you must use a login/password, that existed when backup was made, to connect again. To restore a backup database into this current installation, you can follow this assistant. +RestoreMySQL=MySQL import +ForcedToByAModule= This rule is forced to %s by an activated module +PreviousDumpFiles=Available database backup dump files +WeekStartOnDay=First day of week +RunningUpdateProcessMayBeRequired=Running the upgrade process seems to be required (Programs version %s differs from database version %s) +YouMustRunCommandFromCommandLineAfterLoginToUser=You must run this command from command line after login to a shell with user %s or you must add -W option at end of command line to provide %s password. +YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP +DownloadMoreSkins=More skins to download +SimpleNumRefModelDesc=Returns the reference number with format %syymm-nnnn where yy is year, mm is month and nnnn is a sequence without hole and with no reset +ShowProfIdInAddress=Show professionnal id with addresses on documents +ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents +TranslationUncomplete=Partial translation +SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. +MenuUseLayout=Make vertical menu hidable (option javascript must not be disabled) +MAIN_DISABLE_METEO=Disable meteo view +TestLoginToAPI=Test login to API +ProxyDesc=Some features of Dolibarr need to have an Internet access to work. Define here parameters for this. If the Dolibarr server is behind a Proxy server, those parameters tells Dolibarr how to access Internet through it. +ExternalAccess=External access +MAIN_PROXY_USE=Use a proxy server (otherwise direct access to internet) +MAIN_PROXY_HOST=Name/Address of proxy server +MAIN_PROXY_PORT=Port of proxy server +MAIN_PROXY_USER=Login to use the proxy server +MAIN_PROXY_PASS=Password to use the proxy server +DefineHereComplementaryAttributes=Define here all attributes, not already available by default, and that you want to be supported for %s. +ExtraFields=Complementary attributes +ExtraFieldsLines=Complementary attributes (lines) +ExtraFieldsThirdParties=Complementary attributes (thirdparty) +ExtraFieldsContacts=Complementary attributes (contact/address) +ExtraFieldsMember=Complementary attributes (member) +ExtraFieldsMemberType=Complementary attributes (member type) +ExtraFieldsCustomerOrders=Complementary attributes (orders) +ExtraFieldsCustomerInvoices=Complementary attributes (invoices) +ExtraFieldsSupplierOrders=Complementary attributes (orders) +ExtraFieldsSupplierInvoices=Complementary attributes (invoices) +ExtraFieldsProject=Complementary attributes (projects) +ExtraFieldsProjectTask=Complementary attributes (tasks) +ExtraFieldHasWrongValue=Attribute %s has a wrong value. +AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space +SendingMailSetup=Setup of sendings by email +SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). +PathToDocuments=Path to documents +PathDirectory=Directory +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. +TranslationSetup=Configuration de la traduction +TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). +TotalNumberOfActivatedModules=Total number of activated feature modules: %s +YouMustEnableOneModule=You must at least enable 1 module +ClassNotFoundIntoPathWarning=Class %s not found into PHP path +YesInSummer=Yes in summer +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are opened to external users (whatever are permission of such users): +SuhosinSessionEncrypt=Session storage encrypted by Suhosin +ConditionIsCurrently=Condition is currently %s +YouUseBestDriver=You use driver %s that is best driver available currently. +YouDoNotUseBestDriver=You use drive %s but driver %s is recommended. +NbOfProductIsLowerThanNoPb=You have only %s products/services into database. This does not required any particular optimization. +SearchOptim=Search optimization +YouHaveXProductUseSearchOptim=You have %s product into database. You should add the constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 into Home-Setup-Other, you limit the search to the beginning of strings making possible for database to use index and you should get an immediate response. +BrowserIsOK=You are using the web browser %s. This browser is ok for security and performance. +BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. +XDebugInstalled=XDebug is loaded. +XCacheInstalled=XCache is loaded. +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". +FieldEdition=Edition of field %s +FixTZ=TimeZone fix +FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) +GetBarCode=Get barcode +EmptyNumRefModelDesc=The code is free. This code can be modified at any time. +##### Module password generation +PasswordGenerationStandard=Return a password generated according to internal Dolibarr algorithm: 8 characters containing shared numbers and characters in lowercase. +PasswordGenerationNone=Do not suggest any generated password. Password must be type in manually. +##### Users setup ##### +UserGroupSetup=Users and groups module setup +GeneratePassword=Suggest a generated password +RuleForGeneratedPasswords=Rule to generate suggested passwords or validate passwords +DoNotSuggest=Do not suggest any password +EncryptedPasswordInDatabase=To allow the encryption of the passwords in the database +DisableForgetPasswordLinkOnLogonPage=Do not show the link "Forget password" on login page +UsersSetup=Users module setup +UserMailRequired=EMail required to create a new user +##### Company setup ##### +CompanySetup=Companies module setup +CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) +AccountCodeManager=Module for accountancy code generation (customer or supplier) +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. +UseNotifications=Use notifications +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one third party at time.
* or by setting a global target email address on module setup page. +ModelModules=Documents templates +DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) +WatermarkOnDraft=Watermark on draft document +JSOnPaimentBill=Activate feature to autofill payment lines on payment form +CompanyIdProfChecker=Rules on Professional Ids +MustBeUnique=Must be unique ? +MustBeMandatory=Mandatory to create third parties ? +MustBeInvoiceMandatory=Mandatory to validate invoices ? +Miscellaneous=Miscellaneous +##### Webcal setup ##### +WebCalSetup=Webcalendar link setup +WebCalSyncro=Add Dolibarr events to WebCalendar +WebCalAllways=Always, no asking +WebCalYesByDefault=On demand (yes by default) +WebCalNoByDefault=On demand (no by default) +WebCalNever=Never +WebCalURL=URL for calendar access +WebCalServer=Server hosting calendar database +WebCalDatabaseName=Database name +WebCalUser=User to access database +WebCalSetupSaved=Webcalendar setup saved successfully. +WebCalTestOk=Connection to server '%s' on database '%s' with user '%s' successful. +WebCalTestKo1=Connection to server '%s' succeed but database '%s' could not be reached. +WebCalTestKo2=Connection to server '%s' with user '%s' failed. +WebCalErrorConnectOkButWrongDatabase=Connection succeeded but database doesn't look to be a Webcalendar database. +WebCalAddEventOnCreateActions=Add calendar event on actions create +WebCalAddEventOnCreateCompany=Add calendar event on companies create +WebCalAddEventOnStatusPropal=Add calendar event on commercial proposals status change +WebCalAddEventOnStatusContract=Add calendar event on contracts status change +WebCalAddEventOnStatusBill=Add calendar event on bills status change +WebCalAddEventOnStatusMember=Add calendar event on members status change +WebCalUrlForVCalExport=An export link to %s format is available at following link: %s +WebCalCheckWebcalSetup=Maybe the Webcal module setup is not correct. +##### Invoices ##### +BillsSetup=Invoices module setup +BillsDate=Invoices date +BillsNumberingModule=Invoices and credit notes numbering model +BillsPDFModules=Invoice documents models +CreditNoteSetup=Credit note module setup +CreditNotePDFModules=Credit note document models +CreditNote=Credit note +CreditNotes=Credit notes +ForceInvoiceDate=Force invoice date to validation date +DisableRepeatable=Disable repeatable invoices +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +EnableEditDeleteValidInvoice=Enable the possibility to edit/delete valid invoice with no payment +SuggestPaymentByRIBOnAccount=Suggest payment by withdraw on account +SuggestPaymentByChequeToAddress=Suggest payment by cheque to +FreeLegalTextOnInvoices=Free text on invoices +WatermarkOnDraftInvoices=Watermark on draft invoices (none if empty) +##### Proposals ##### +PropalSetup=Commercial proposals module setup +CreateForm=Create forms +NumberOfProductLines=Number of product lines +ProposalsNumberingModules=Commercial proposal numbering models +ProposalsPDFModules=Commercial proposal documents models +ClassifiedInvoiced=Classified invoiced +HideTreadedPropal=Hide the treated commercial proposals in the list +AddShippingDateAbility=Add shipping date ability +AddDeliveryAddressAbility=Add delivery date ability +UseOptionLineIfNoQuantity=A line of product/service with a zero amount is considered as an option +FreeLegalTextOnProposal=Free text on commercial proposals +WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) +BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal +##### Orders ##### +OrdersSetup=Order management setup +OrdersNumberingModules=Orders numbering models +OrdersModelModule=Order documents models +HideTreadedOrders=Hide the treated or cancelled orders in the list +ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes it possible not to step by the provisional order +FreeLegalTextOnOrders=Free text on orders +WatermarkOnDraftOrders=Watermark on draft orders (none if empty) +ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order +##### Clicktodial ##### +ClickToDialSetup=Click To Dial module setup +ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with your clicktodial login (defined on your user card)
__PASS__ that will be replaced with your clicktodial password (defined on your user card). +##### Bookmark4u ##### +Bookmark4uSetup=Bookmark4u module setup +##### Interventions ##### +InterventionsSetup=Interventions module setup +FreeLegalTextOnInterventions=Free text on intervention documents +FicheinterNumberingModules=Intervention numbering models +TemplatePDFInterventions=Intervention card documents models +WatermarkOnDraftInterventionCards=Watermark on intervention card documents (none if empty) +##### Contracts ##### +ContractsSetup=Contracts/Subscriptions module setup +ContractsNumberingModules=Contracts numbering modules +TemplatePDFContracts=Contracts documents models +FreeLegalTextOnContracts=Free text on contracts +WatermarkOnDraftContractCards=Watermark on draft contracts (none if empty) +##### Members ##### +MembersSetup=Members module setup +MemberMainOptions=Main options +AddSubscriptionIntoAccount=Suggest by default to create a bank transaction, in bank module, when adding a new payed subscription +AdherentLoginRequired= Manage a Login for each member +AdherentMailRequired=EMail required to create a new member +MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +##### LDAP setup ##### +LDAPSetup=LDAP Setup +LDAPGlobalParameters=Global parameters +LDAPUsersSynchro=Users +LDAPGroupsSynchro=Groups +LDAPContactsSynchro=Contacts +LDAPMembersSynchro=Members +LDAPSynchronization=LDAP synchronisation +LDAPFunctionsNotAvailableOnPHP=LDAP functions are not available on your PHP +LDAPToDolibarr=LDAP -> Dolibarr +DolibarrToLDAP=Dolibarr -> LDAP +LDAPNamingAttribute=Key in LDAP +LDAPSynchronizeUsers=Organization of users in LDAP +LDAPSynchronizeGroups=Organization of groups in LDAP +LDAPSynchronizeContacts=Organization of contacts in LDAP +LDAPSynchronizeMembers=Organization of foundation's members in LDAP +LDAPTypeExample=OpenLdap, Egroupware or Active Directory +LDAPPrimaryServer=Primary server +LDAPSecondaryServer=Secondary server +LDAPServerPort=Server port +LDAPServerPortExample=Default port : 389 +LDAPServerProtocolVersion=Protocol version +LDAPServerUseTLS=Use TLS +LDAPServerUseTLSExample=Your LDAP server use TLS +LDAPServerDn=Server DN +LDAPAdminDn=Administrator DN +LDAPAdminDnExample=Complete DN (ex: cn=admin,dc=example,dc=com) +LDAPPassword=Administrator password +LDAPUserDn=Users' DN +LDAPUserDnExample=Complete DN (ex: ou=users,dc=example,dc=com) +LDAPGroupDn=Groups' DN +LDAPGroupDnExample=Complete DN (ex: ou=groups,dc=example,dc=com) +LDAPServerExample=Server address (ex: localhost, 192.168.0.2, ldaps://ldap.example.com/) +LDAPServerDnExample=Complete DN (ex: dc=example,dc=com) +LDAPPasswordExample=Admin password +LDAPDnSynchroActive=Users and groups synchronization +LDAPDnSynchroActiveExample=LDAP to Dolibarr or Dolibarr to LDAP synchronization +LDAPDnContactActive=Contacts' synchronization +LDAPDnContactActiveYes=Activated synchronization +LDAPDnContactActiveExample=Activated/Unactivated synchronization +LDAPDnMemberActive=Members' synchronization +LDAPDnMemberActiveExample=Activated/Unactivated synchronization +LDAPContactDn=Dolibarr contacts' DN +LDAPContactDnExample=Complete DN (ex: ou=contacts,dc=example,dc=com) +LDAPMemberDn=Dolibarr members DN +LDAPMemberDnExample=Complete DN (ex: ou=members,dc=example,dc=com) +LDAPMemberObjectClassList=List of objectClass +LDAPMemberObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) +LDAPUserObjectClassList=List of objectClass +LDAPUserObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) +LDAPGroupObjectClassList=List of objectClass +LDAPGroupObjectClassListExample=List of objectClass defining record attributes (ex: top,groupOfUniqueNames) +LDAPContactObjectClassList=List of objectClass +LDAPContactObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) +LDAPMemberTypeDn=Dolibarr members type DN +LDAPMemberTypeDnExample=Complete DN (ex: ou=type_members,dc=example,dc=com) +LDAPTestConnect=Test LDAP connection +LDAPTestSynchroContact=Test contacts synchronization +LDAPTestSynchroUser=Test user synchronization +LDAPTestSynchroGroup=Test group synchronization +LDAPTestSynchroMember=Test member synchronization +LDAPTestSearch= Test a LDAP search +LDAPSynchroOK=Synchronization test successful +LDAPSynchroKO=Failed synchronization test +LDAPSynchroKOMayBePermissions=Failed synchronization test. Check that connexion to server is correctly configured and allows LDAP udpates +LDAPTCPConnectOK=TCP connect to LDAP server successful (Server=%s, Port=%s) +LDAPTCPConnectKO=TCP connect to LDAP server failed (Server=%s, Port=%s) +LDAPBindOK=Connect/Authentificate to LDAP server successful (Server=%s, Port=%s, Admin=%s, Password=%s) +LDAPBindKO=Connect/Authentificate to LDAP server failed (Server=%s, Port=%s, Admin=%s, Password=%s) +LDAPUnbindSuccessfull=Disconnect successful +LDAPUnbindFailed=Disconnect failed +LDAPConnectToDNSuccessfull=Connection to DN (%s) successful +LDAPConnectToDNFailed=Connection to DN (%s) failed +LDAPSetupForVersion3=LDAP server configured for version 3 +LDAPSetupForVersion2=LDAP server configured for version 2 +LDAPDolibarrMapping=Dolibarr Mapping +LDAPLdapMapping=LDAP Mapping +LDAPFieldLoginUnix=Login (unix) +LDAPFieldLoginExample=Example : uid +LDAPFilterConnection=Search filter +LDAPFilterConnectionExample=Example : &(objectClass=inetOrgPerson) +LDAPFieldLoginSamba=Login (samba, activedirectory) +LDAPFieldLoginSambaExample=Example : samaccountname +LDAPFieldFullname=Full name +LDAPFieldFullnameExample=Example : cn +LDAPFieldPassword=Password +LDAPFieldPasswordNotCrypted=Password not crypted +LDAPFieldPasswordCrypted=Password crypted +LDAPFieldPasswordExample=Example : userPassword +LDAPFieldCommonName=Common name +LDAPFieldCommonNameExample=Example : cn +LDAPFieldName=Name +LDAPFieldNameExample=Example : sn +LDAPFieldFirstName=First name +LDAPFieldFirstNameExample=Example : givenName +LDAPFieldMail=Email address +LDAPFieldMailExample=Example : mail +LDAPFieldPhone=Professional phone number +LDAPFieldPhoneExample=Example : telephonenumber +LDAPFieldHomePhone=Personal phone number +LDAPFieldHomePhoneExample=Example : homephone +LDAPFieldMobile=Cellular phone +LDAPFieldMobileExample=Example : mobile +LDAPFieldFax=Fax number +LDAPFieldFaxExample=Example : facsimiletelephonenumber +LDAPFieldAddress=Street +LDAPFieldAddressExample=Example : street +LDAPFieldZip=Zip +LDAPFieldZipExample=Example : postalcode +LDAPFieldTown=Town +LDAPFieldTownExample=Example : l +LDAPFieldCountry=Country +LDAPFieldCountryExample=Example : c +LDAPFieldDescription=Description +LDAPFieldDescriptionExample=Example : description +LDAPFieldGroupMembers= Group members +LDAPFieldGroupMembersExample= Example : uniqueMember +LDAPFieldBirthdate=Birthdate +LDAPFieldBirthdateExample=Example : +LDAPFieldCompany=Company +LDAPFieldCompanyExample=Example : o +LDAPFieldSid=SID +LDAPFieldSidExample=Example : objectsid +LDAPFieldEndLastSubscription=Date of subscription end +LDAPFieldTitle=Post/Function +LDAPFieldTitleExample=Example: title +LDAPParametersAreStillHardCoded=LDAP parameters are still hardcoded (in contact class) +LDAPSetupNotComplete=LDAP setup not complete (go on others tabs) +LDAPNoUserOrPasswordProvidedAccessIsReadOnly=No administrator or password provided. LDAP access will be anonymous and in read only mode. +LDAPDescContact=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr contacts. +LDAPDescUsers=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr users. +LDAPDescGroups=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr groups. +LDAPDescMembers=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr members module. +LDAPDescValues=Example values are designed for OpenLDAP with following loaded schemas: core.schema, cosine.schema, inetorgperson.schema). If you use thoose values and OpenLDAP, modify your LDAP config file slapd.conf to have all thoose schemas loaded. +ForANonAnonymousAccess=For an authenticated access (for a write access for example) +PerfDolibarr=Performance setup/optimizing report +YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. +NotInstalled=Not installed, so your server is not slow down by this. +ApplicativeCache=Applicative cache +MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. +MemcachedModuleAvailableButNotSetup=Module memcached for applicative cache found but setup of module is not complete. +MemcachedAvailableAndSetup=Module memcached dedicated to use memcached server is enabled. +OPCodeCache=OPCode cache +NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). +HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) +FilesOfTypeCached=Files of type %s are cached by HTTP server +FilesOfTypeNotCached=Files of type %s are not cached by HTTP server +FilesOfTypeCompressed=Files of type %s are compressed by HTTP server +FilesOfTypeNotCompressed=Files of type %s are not compressed by HTTP server +CacheByServer=Cache by server +CacheByClient=Cache by browser +CompressionOfResources=Compression of HTTP responses +TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers +##### Products ##### +ProductSetup=Products module setup +ServiceSetup=Services module setup +ProductServiceSetup=Products and Services modules setup +NumberOfProductShowInSelect=Max number of products in combos select lists (0=no limit) +ConfirmDeleteProductLineAbility=Confirmation when removing product lines in forms +ModifyProductDescAbility=Personalization of product descriptions in forms +ViewProductDescInFormAbility=Visualization of product descriptions in the forms (otherwise as popup tooltip) +ViewProductDescInThirdpartyLanguageAbility=Visualization of products descriptions in the thirdparty language +UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). +UseEcoTaxeAbility=Support Eco-Taxe (WEEE) +SetDefaultBarcodeTypeProducts=Default barcode type to use for products +SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +ProductCodeChecker= Module for product code generation and checking (product or service) +ProductOtherConf= Product / Service configuration +##### Syslog ##### +SyslogSetup=Logs module setup +SyslogOutput=Logs outputs +SyslogSyslog=Syslog +SyslogFacility=Facility +SyslogLevel=Level +SyslogSimpleFile=File +SyslogFilename=File name and path +YouCanUseDOL_DATA_ROOT=You can use DOL_DATA_ROOT/dolibarr.log for a log file in Dolibarr "documents" directory. You can set a different path to store this file. +ErrorUnknownSyslogConstant=Constant %s is not a known Syslog constant +OnlyWindowsLOG_USER=Windows only supports LOG_USER +##### Donations ##### +DonationsSetup=Donation module setup +DonationsReceiptModel=Template of donation receipt +##### Barcode ##### +BarcodeSetup=Barcode setup +PaperFormatModule=Print format module +BarcodeEncodeModule=Barcode encoding type +UseBarcodeInProductModule=Use bar codes for products +CodeBarGenerator=Barcode generator +ChooseABarCode=No generator defined +FormatNotSupportedByGenerator=Format not supported by this generator +BarcodeDescEAN8=Barcode of type EAN8 +BarcodeDescEAN13=Barcode of type EAN13 +BarcodeDescUPC=Barcode of type UPC +BarcodeDescISBN=Barcode of type ISBN +BarcodeDescC39=Barcode of type C39 +BarcodeDescC128=Barcode of type C128 +GenbarcodeLocation=Bar code generation command line tool (used by internal engine for some bar code types) +BarcodeInternalEngine=Internal engine +BarCodeNumberManager=Manager to auto define barcode numbers +##### Prelevements ##### +WithdrawalsSetup=Withdrawal module setup +##### ExternalRSS ##### +ExternalRSSSetup=External RSS imports setup +NewRSS=New RSS Feed +RSSUrl=RSS URL +RSSUrlExample=An interesting RSS feed +##### Mailing ##### +MailingSetup=EMailing module setup +MailingEMailFrom=Sender EMail (From) for emails sent by emailing module +MailingEMailError=Return EMail (Errors-to) for emails with errors +MailingDelay=Seconds to wait after sending next message +##### Notification ##### +NotificationSetup=EMail notification module setup +NotificationEMailFrom=Sender EMail (From) for emails sent for notifications +ListOfAvailableNotifications=List of events you can set notification on, for each thirdparty (go into thirdparty card to setup) or by setting a fixed email (List depends on activated modules) +FixedEmailTarget=Fixed email target +##### Sendings ##### +SendingsSetup=Sending module setup +SendingsReceiptModel=Sending receipt model +SendingsNumberingModules=Sendings numbering modules +SendingsAbility=Support shipment sheets for customer deliveries +NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. +FreeLegalTextOnShippings=Free text on shipments +##### Deliveries ##### +DeliveryOrderNumberingModules=Products deliveries receipt numbering module +DeliveryOrderModel=Products deliveries receipt model +DeliveriesOrderAbility=Support products deliveries receipts +FreeLegalTextOnDeliveryReceipts=Free text on delivery receipts +##### FCKeditor ##### +AdvancedEditor=Advanced editor +ActivateFCKeditor=Activate advanced editor for: +FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) +FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. +FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) +FCKeditorForUserSignature=WYSIWIG creation/edition of user signature +FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) +##### OSCommerce 1 ##### +OSCommerceErrorConnectOkButWrongDatabase=Connection succeeded but database doesn't look to be an OSCommerce database (Key %s not found in table %s). +OSCommerceTestOk=Connection to server '%s' on database '%s' with user '%s' successfull. +OSCommerceTestKo1=Connection to server '%s' succeed but database '%s' could not be reached. +OSCommerceTestKo2=Connection to server '%s' with user '%s' failed. +##### Stock ##### +StockSetup=Warehouse module setup +UserWarehouse=Use user personal warehouses +IfYouUsePointOfSaleCheckModule=If you use a Point of Sale module (POS module provided by default or another external module), this setup may be ignored by your Point Of Sale module. Most point of sales modules are designed to create immediatly an invoice and decrease stock by default whatever are options here. So, if you need or not to have a stock decrease when registering a sell from your Point Of Sale, check also your POS module set up. +##### Menu ##### +MenuDeleted=Menu deleted +TreeMenu=Tree menus +Menus=Menus +TreeMenuPersonalized=Personalized menus +NewMenu=New menu +MenuConf=Menus setup +Menu=Selection of menu +MenuHandler=Menu handler +MenuModule=Source module +HideUnauthorizedMenu= Hide unauthorized menus (gray) +DetailId=Id menu +DetailMenuHandler=Menu handler where to show new menu +DetailMenuModule=Module name if menu entry come from a module +DetailType=Type of menu (top or left) +DetailTitre=Menu label or label code for translation +DetailMainmenu=Group for which it belongs (obsolete) +DetailUrl=URL where menu send you (Absolute URL link or external link with http://) +DetailLeftmenu=Display condition or not (obsolete) +DetailEnabled=Condition to show or not entry +DetailRight=Condition to display unauthorized grey menus +DetailLangs=Lang file name for label code translation +DetailUser=Intern / Extern / All +Target=Target +DetailTarget=Target for links (_blank top open a new window) +DetailLevel=Level (-1:top menu, 0:header menu, >0 menu and sub menu) +ModifMenu=Menu change +DeleteMenu=Delete menu entry +ConfirmDeleteMenu=Are you sure you want to delete menu entry %s ? +DeleteLine=Delete line +ConfirmDeleteLine=Are you sure you want to delete this line ? +##### Tax ##### +TaxSetup=Taxes, social contributions and dividends module setup +OptionVatMode=VAT due +OptionVATDefault=Cash basis +OptionVATDebitOption=Accrual basis +OptionVatDefaultDesc=VAT is due:
- on delivery for goods (we use invoice date)
- on payments for services +OptionVatDebitOptionDesc=VAT is due:
- on delivery for goods (we use invoice date)
- on invoice (debit) for services +SummaryOfVatExigibilityUsedByDefault=Time of VAT exigibility by default according to chosen option: +OnDelivery=On delivery +OnPayment=On payment +OnInvoice=On invoice +SupposedToBePaymentDate=Payment date used +SupposedToBeInvoiceDate=Invoice date used +Buy=Buy +Sell=Sell +InvoiceDateUsed=Invoice date used +YourCompanyDoesNotUseVAT=Your company has been defined to not use VAT (Home - Setup - Company/Foundation), so there is no VAT options to setup. +AccountancyCode=Accountancy Code +AccountancyCodeSell=Sale account. code +AccountancyCodeBuy=Purchase account. code +##### Agenda ##### +AgendaSetup=Events and agenda module setup +PasswordTogetVCalExport=Key to authorize export link +PastDelayVCalExport=Do not export event older than +AGENDA_USE_EVENT_TYPE=Use events types (managed into menu Setup -> Dictionary -> Type of agenda events) +AGENDA_DEFAULT_FILTER_TYPE=Set automatically this type of event into search filter of agenda view +AGENDA_DEFAULT_FILTER_STATUS=Set automatically this status for events into search filter of agenda view +AGENDA_DEFAULT_VIEW=Which tab do you want to open by default when selecting menu Agenda +##### ClickToDial ##### +ClickToDialDesc=This module allows to add an icon after phone numbers. A click on this icon will call a server with a particular URL you define below. This can be used to call a call center system from Dolibarr that can call the phone number on a SIP system for example. +##### Point Of Sales (CashDesk) ##### +CashDesk=Point of sales +CashDeskSetup=Point of sales module setup +CashDeskThirdPartyForSell=Default generic third party to use for sells +CashDeskBankAccountForSell=Default account to use to receive cash payments +CashDeskBankAccountForCheque= Default account to use to receive payments by cheque +CashDeskBankAccountForCB= Default account to use to receive payments by credit cards +CashDeskDoNotDecreaseStock=Disable stock decrease when a sell is done from Point of Sale +CashDeskIdWareHouse=Force and restrict warehouse to use for stock decrease +StockDecreaseForPointOfSaleDisabled=Stock decrease from Point Of Sale disabled +CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. +##### Bookmark ##### +BookmarkSetup=Bookmark module setup +BookmarkDesc=This module allows you to manage bookmarks. You can also add shortcuts to any Dolibarr pages or externale web sites on your left menu. +NbOfBoomarkToShow=Maximum number of bookmarks to show in left menu +##### WebServices ##### +WebServicesSetup=Webservices module setup +WebServicesDesc=By enabling this module, Dolibarr become a web service server to provide miscellaneous web services. +WSDLCanBeDownloadedHere=WSDL descriptor files of provided services can be download here +EndPointIs=SOAP clients must send their requests to the Dolibarr endpoint available at Url +##### Bank ##### +BankSetupModule=Bank module setup +FreeLegalTextOnChequeReceipts=Free text on cheque receipts +BankOrderShow=Display order of bank accounts for countries using "detailed bank number" +BankOrderGlobal=General +BankOrderGlobalDesc=General display order +BankOrderES=Spanish +BankOrderESDesc=Spanish display order +##### Multicompany ##### +MultiCompanySetup=Multi-company module setup +##### Suppliers ##### +SuppliersSetup=Supplier module setup +SuppliersCommandModel=Complete template of supplier order (logo...) +SuppliersInvoiceModel=Complete template of supplier invoice (logo...) +SuppliersInvoiceNumberingModel=Supplier invoices numbering models +##### GeoIPMaxmind ##### +GeoIPMaxmindSetup=GeoIP Maxmind module setup +PathToGeoIPMaxmindCountryDataFile=Path to file containing Maxmind ip to country translation.
Examples:
/usr/local/share/GeoIP/GeoIP.dat
/usr/share/GeoIP/GeoIP.dat +NoteOnPathLocation=Note that your ip to country data file must be inside a directory your PHP can read (Check your PHP open_basedir setup and filesystem permissions). +YouCanDownloadFreeDatFileTo=You can download a free demo version of the Maxmind GeoIP country file at %s. +YouCanDownloadAdvancedDatFileTo=You can also download a more complete version, with updates, of the Maxmind GeoIP country file at %s. +TestGeoIPResult=Test of a conversion IP -> country +##### Projects ##### +ProjectsNumberingModules=Projects numbering module +ProjectsSetup=Project module setup +ProjectsModelModule=Project reports document model +TasksNumberingModules=Tasks numbering module +TaskModelModule=Tasks reports document model +##### ECM (GED) ##### +ECMSetup = GED Setup +ECMAutoTree = Automatic tree folder and document +##### Fiscal Year ##### +FiscalYears=Fiscal years +FiscalYear=Fiscal year +FiscalYearCard=Fiscal year card +NewFiscalYear=New fiscal year +EditFiscalYear=Edit fiscal year +OpenFiscalYear=Open fiscal year +CloseFiscalYear=Close fiscal year +DeleteFiscalYear=Delete fiscal year +ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? +Opened=Opened +Closed=Closed +AlwaysEditable=Can always be edited +MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) +NbMajMin=Minimum number of uppercase characters +NbNumMin=Minimum number of numeric characters +NbSpeMin=Minimum number of special characters +NbIteConsecutive=Maximum number of repeating same characters +NoAmbiCaracAutoGeneration=Do not use ambiguous characters ("1","l","i","|","0","O") for automatic generation +SalariesSetup=Setup of module salaries +SortOrder=Sort order +Format=Format +TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/ka_GE/agenda.lang b/htdocs/langs/ka_GE/agenda.lang new file mode 100644 index 00000000000..04e2ae30de8 --- /dev/null +++ b/htdocs/langs/ka_GE/agenda.lang @@ -0,0 +1,93 @@ +# Dolibarr language file - Source file is en_US - agenda +IdAgenda=ID event +Actions=Events +ActionsArea=Events area (Actions and tasks) +Agenda=Agenda +Agendas=Agendas +Calendar=Calendar +Calendars=Calendars +LocalAgenda=Internal calendar +ActionsOwnedBy=Event owned by +AffectedTo=Assigned to +DoneBy=Done by +Event=Event +Events=Events +EventsNb=Number of events +MyEvents=My events +OtherEvents=Other events +ListOfActions=List of events +Location=Location +EventOnFullDay=Event on all day(s) +SearchAnAction= Search an event/task +MenuToDoActions=All incomplete events +MenuDoneActions=All terminated events +MenuToDoMyActions=My incomplete events +MenuDoneMyActions=My terminated events +ListOfEvents=List of events (internal calendar) +ActionsAskedBy=Events reported by +ActionsToDoBy=Events assigned to +ActionsDoneBy=Events done by +ActionsForUser=Events for user +ActionsForUsersGroup=Events for all users of group +ActionAssignedTo=Event assigned to +AllMyActions= All my events/tasks +AllActions= All events/tasks +ViewList=List view +ViewCal=Month view +ViewDay=Day view +ViewWeek=Week view +ViewPerUser=Per user view +ViewWithPredefinedFilters= View with predefined filters +AutoActions= Automatic filling +AgendaAutoActionDesc= Define here events for which you want Dolibarr to create automatically an event in agenda. If nothing is checked (by default), only manual actions will be included in agenda. +AgendaSetupOtherDesc= This page provides options to allow export of your Dolibarr events into an external calendar (thunderbird, google calendar, ...) +AgendaExtSitesDesc=This page allows to declare external sources of calendars to see their events into Dolibarr agenda. +ActionsEvents=Events for which Dolibarr will create an action in agenda automatically +PropalValidatedInDolibarr=Proposal %s validated +InvoiceValidatedInDolibarr=Invoice %s validated +InvoiceValidatedInDolibarrFromPos=Invoice %s validated from POS +InvoiceBackToDraftInDolibarr=Invoice %s go back to draft status +InvoiceDeleteDolibarr=Invoice %s deleted +OrderValidatedInDolibarr= Order %s validated +OrderApprovedInDolibarr=Order %s approved +OrderRefusedInDolibarr=Order %s refused +OrderBackToDraftInDolibarr=Order %s go back to draft status +OrderCanceledInDolibarr=Order %s canceled +ProposalSentByEMail=Commercial proposal %s sent by EMail +OrderSentByEMail=Customer order %s sent by EMail +InvoiceSentByEMail=Customer invoice %s sent by EMail +SupplierOrderSentByEMail=Supplier order %s sent by EMail +SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail +NewCompanyToDolibarr= Third party created +DateActionPlannedStart= Planned start date +DateActionPlannedEnd= Planned end date +DateActionDoneStart= Real start date +DateActionDoneEnd= Real end date +DateActionStart= Start date +DateActionEnd= End date +AgendaUrlOptions1=You can also add following parameters to filter output: +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. +AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. +AgendaUrlOptions4=logint=%s to restrict output to actions assigned to user %s. +AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. +AgendaShowBirthdayEvents=Show birthday's contacts +AgendaHideBirthdayEvents=Hide birthday's contacts +Busy=Busy +ExportDataset_event1=List of agenda events +DefaultWorkingDays=Default working days range in week (Example: 1-5, 1-6) +DefaultWorkingHours=Default working hours in day (Example: 9-18) +# External Sites ical +ExportCal=Export calendar +ExtSites=Import external calendars +ExtSitesEnableThisTool=Show external calendars (defined into global setup) into agenda. Does not affect external calendars defined by users. +ExtSitesNbOfAgenda=Number of calendars +AgendaExtNb=Calendar nb %s +ExtSiteUrlAgenda=URL to access .ical file +ExtSiteNoLabel=No Description +WorkingTimeRange=Working time range +WorkingDaysRange=Working days range +AddEvent=Create event +MyAvailability=My availability diff --git a/htdocs/langs/ka_GE/banks.lang b/htdocs/langs/ka_GE/banks.lang new file mode 100644 index 00000000000..10a5f5b3c14 --- /dev/null +++ b/htdocs/langs/ka_GE/banks.lang @@ -0,0 +1,161 @@ +# Dolibarr language file - Source file is en_US - banks +Bank=Bank +Banks=Banks +MenuBankCash=Bank/Cash +MenuSetupBank=Bank/Cash setup +BankName=Bank name +FinancialAccount=Account +FinancialAccounts=Accounts +BankAccount=Bank account +BankAccounts=Bank accounts +ShowAccount=Show Account +AccountRef=Financial account ref +AccountLabel=Financial account label +CashAccount=Cash account +CashAccounts=Cash accounts +MainAccount=Main account +CurrentAccount=Current account +CurrentAccounts=Current accounts +SavingAccount=Savings account +SavingAccounts=Savings accounts +ErrorBankLabelAlreadyExists=Financial account label already exists +BankBalance=Balance +BankBalanceBefore=Balance before +BankBalanceAfter=Balance after +BalanceMinimalAllowed=Minimum allowed balance +BalanceMinimalDesired=Minimum desired balance +InitialBankBalance=Initial balance +EndBankBalance=End balance +CurrentBalance=Current balance +FutureBalance=Future balance +ShowAllTimeBalance=Show balance from start +AllTime=From start +Reconciliation=Reconciliation +RIB=Bank Account Number +IBAN=IBAN number +BIC=BIC/SWIFT number +StandingOrders=Standing orders +StandingOrder=Standing order +Withdrawals=Withdrawals +Withdrawal=Withdrawal +AccountStatement=Account statement +AccountStatementShort=Statement +AccountStatements=Account statements +LastAccountStatements=Last account statements +Rapprochement=Reconciliate +IOMonthlyReporting=Monthly reporting +BankAccountDomiciliation=Account address +BankAccountCountry=Account country +BankAccountOwner=Account owner name +BankAccountOwnerAddress=Account owner address +RIBControlError=Integrity check of values fails. This means information for this account number are not complete or wrong (check country, numbers and IBAN). +CreateAccount=Create account +NewAccount=New account +NewBankAccount=New bank account +NewFinancialAccount=New financial account +MenuNewFinancialAccount=New financial account +NewCurrentAccount=New current account +NewSavingAccount=New savings account +NewCashAccount=New cash account +EditFinancialAccount=Edit account +AccountSetup=Financial accounts setup +SearchBankMovement=Search bank movement +Debts=Debts +LabelBankCashAccount=Bank or cash label +AccountType=Account type +BankType0=Savings account +BankType1=Current or credit card account +BankType2=Cash account +IfBankAccount=If bank account +AccountsArea=Accounts area +AccountCard=Account card +DeleteAccount=Delete account +ConfirmDeleteAccount=Are you sure you want to delete this account ? +Account=Account +ByCategories=By categories +ByRubriques=By categories +BankTransactionByCategories=Bank transactions by categories +BankTransactionForCategory=Bank transactions for category %s +RemoveFromRubrique=Remove link with category +RemoveFromRubriqueConfirm=Are you sure you want to remove link between the transaction and the category ? +ListBankTransactions=List of bank transactions +IdTransaction=Transaction ID +BankTransactions=Bank transactions +SearchTransaction=Search transaction +ListTransactions=List transactions +ListTransactionsByCategory=List transaction/category +TransactionsToConciliate=Transactions to reconcile +Conciliable=Can be reconciled +Conciliate=Reconcile +Conciliation=Reconciliation +ConciliationForAccount=Reconcile this account +IncludeClosedAccount=Include closed accounts +OnlyOpenedAccount=Only opened accounts +AccountToCredit=Account to credit +AccountToDebit=Account to debit +DisableConciliation=Disable reconciliation feature for this account +ConciliationDisabled=Reconciliation feature disabled +StatusAccountOpened=Opened +StatusAccountClosed=Closed +AccountIdShort=Number +EditBankRecord=Edit record +LineRecord=Transaction +AddBankRecord=Add transaction +AddBankRecordLong=Add transaction manually +ConciliatedBy=Reconciled by +DateConciliating=Reconcile date +BankLineConciliated=Transaction reconciled +CustomerInvoicePayment=Customer payment +CustomerInvoicePaymentBack=Customer payment back +SupplierInvoicePayment=Supplier payment +WithdrawalPayment=Withdrawal payment +SocialContributionPayment=Social contribution payment +FinancialAccountJournal=Financial account journal +BankTransfer=Bank transfer +BankTransfers=Bank transfers +TransferDesc=Transfer from one account to another one, Dolibarr will write two records (a debit in source account and a credit in target account, of the same amount. The same label and date will be used for this transaction) +TransferFrom=From +TransferTo=To +TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. +CheckTransmitter=Transmitter +ValidateCheckReceipt=Validate this check receipt ? +ConfirmValidateCheckReceipt=Are you sure you want to validate this check receipt, no change will be possible once this is done ? +DeleteCheckReceipt=Delete this check receipt ? +ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt ? +BankChecks=Bank checks +BankChecksToReceipt=Checks waiting for deposit +ShowCheckReceipt=Show check deposit receipt +NumberOfCheques=Nb of check +DeleteTransaction=Delete transaction +ConfirmDeleteTransaction=Are you sure you want to delete this transaction ? +ThisWillAlsoDeleteBankRecord=This will also delete generated bank transactions +BankMovements=Movements +CashBudget=Cash budget +PlannedTransactions=Planned transactions +Graph=Graphics +ExportDataset_banque_1=Bank transactions and account statement +ExportDataset_banque_2=Deposit slip +TransactionOnTheOtherAccount=Transaction on the other account +TransactionWithOtherAccount=Account transfer +PaymentNumberUpdateSucceeded=Payment number updated succesfully +PaymentNumberUpdateFailed=Payment number could not be updated +PaymentDateUpdateSucceeded=Payment date update succesfully +PaymentDateUpdateFailed=Payment date could not be updated +Transactions=Transactions +BankTransactionLine=Bank transaction +AllAccounts=All bank/cash accounts +BackToAccount=Back to account +ShowAllAccounts=Show for all accounts +FutureTransaction=Transaction in futur. No way to conciliate. +SelectChequeTransactionAndGenerate=Select/filter checks to include into the check deposit receipt and click on "Create". +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value (such as, YYYYMM) +EventualyAddCategory=Eventually, specify a category in which to classify the records +ToConciliate=To conciliate? +ThenCheckLinesAndConciliate=Then, check the lines present in the bank statement and click +BankDashboard=Bank accounts summary +DefaultRIB=Default BAN +AllRIB=All BAN +LabelRIB=BAN Label +NoBANRecord=No BAN record +DeleteARib=Delete BAN record +ConfirmDeleteRib=Are you sure you want to delete this BAN record ? diff --git a/htdocs/langs/ka_GE/bills.lang b/htdocs/langs/ka_GE/bills.lang new file mode 100644 index 00000000000..7232f00e91c --- /dev/null +++ b/htdocs/langs/ka_GE/bills.lang @@ -0,0 +1,430 @@ +# Dolibarr language file - Source file is en_US - bills +Bill=Invoice +Bills=Invoices +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices +BillsCustomersUnpaidForCompany=Unpaid customer's invoices for %s +BillsSuppliersUnpaid=Unpaid supplier's invoices +BillsSuppliersUnpaidForCompany=Unpaid supplier's invoices for %s +BillsLate=Late payments +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics +DisabledBecauseNotErasable=Disabled because can not be erased +InvoiceStandard=Standard invoice +InvoiceStandardAsk=Standard invoice +InvoiceStandardDesc=This kind of invoice is the common invoice. +InvoiceDeposit=Deposit invoice +InvoiceDepositAsk=Deposit invoice +InvoiceDepositDesc=This kind of invoice is done when a deposit has been received. +InvoiceProForma=Proforma invoice +InvoiceProFormaAsk=Proforma invoice +InvoiceProFormaDesc=Proforma invoice is an image of a true invoice but has no accountancy value. +InvoiceReplacement=Replacement invoice +InvoiceReplacementAsk=Replacement invoice for invoice +InvoiceReplacementDesc=Replacement invoice is used to cancel and replace completely an invoice with no payment already received.

Note: Only invoices with no payment on it can be replaced. If the invoice you replace is not yet closed, it will be automatically closed to 'abandoned'. +InvoiceAvoir=Credit note +InvoiceAvoirAsk=Credit note to correct invoice +InvoiceAvoirDesc=The credit note is a negative invoice used to solve fact that an invoice has an amount that differs than amount really paid (because customer paid too much by error, or will not paid completely since he returned some products for example). +invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice +invoiceAvoirWithPaymentRestAmount=Create Credit Note with remaining unpaid of origin invoice +invoiceAvoirLineWithPaymentRestAmount=Credit Note for remaining unpaid amount +ReplaceInvoice=Replace invoice %s +ReplacementInvoice=Replacement invoice +ReplacedByInvoice=Replaced by invoice %s +ReplacementByInvoice=Replaced by invoice +CorrectInvoice=Correct invoice %s +CorrectionInvoice=Correction invoice +UsedByInvoice=Used to pay invoice %s +ConsumedBy=Consumed by +NotConsumed=Not consumed +NoReplacableInvoice=No replacable invoices +NoInvoiceToCorrect=No invoice to correct +InvoiceHasAvoir=Corrected by one or several invoices +CardBill=Invoice card +PredefinedInvoices=Predefined Invoices +Invoice=Invoice +Invoices=Invoices +InvoiceLine=Invoice line +InvoiceCustomer=Customer invoice +CustomerInvoice=Customer invoice +CustomersInvoices=Customers invoices +SupplierInvoice=Supplier invoice +SuppliersInvoices=Suppliers invoices +SupplierBill=Supplier invoice +SupplierBills=suppliers invoices +Payment=Payment +PaymentBack=Payment back +Payments=Payments +PaymentsBack=Payments back +PaidBack=Paid back +DatePayment=Payment date +DeletePayment=Delete payment +ConfirmDeletePayment=Are you sure you want to delete this payment ? +ConfirmConvertToReduc=Do you want to convert this credit note or deposit into an absolute discount ?
The amount will so be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. +SupplierPayments=Suppliers payments +ReceivedPayments=Received payments +ReceivedCustomersPayments=Payments received from customers +PayedSuppliersPayments=Payments payed to suppliers +ReceivedCustomersPaymentsToValid=Received customers payments to validate +PaymentsReportsForYear=Payments reports for %s +PaymentsReports=Payments reports +PaymentsAlreadyDone=Payments already done +PaymentsBackAlreadyDone=Payments back already done +PaymentRule=Payment rule +PaymentMode=Payment type +PaymentConditions=Payment term +PaymentConditionsShort=Payment term +PaymentAmount=Payment amount +ValidatePayment=Validate payment +PaymentHigherThanReminderToPay=Payment higher than reminder to pay +HelpPaymentHigherThanReminderToPay=Attention, the payment amount of one or more bills is higher than the rest to pay.
Edit your entry, otherwise confirm and think about creating a credit note of the excess received for each overpaid invoices. +HelpPaymentHigherThanReminderToPaySupplier=Attention, the payment amount of one or more bills is higher than the rest to pay.
Edit your entry, otherwise confirm. +ClassifyPaid=Classify 'Paid' +ClassifyPaidPartially=Classify 'Paid partially' +ClassifyCanceled=Classify 'Abandoned' +ClassifyClosed=Classify 'Closed' +ClassifyUnBilled=Classify 'Unbilled' +CreateBill=Create Invoice +AddBill=Create invoice or credit note +AddToDraftInvoices=Add to draft invoice +DeleteBill=Delete invoice +SearchACustomerInvoice=Search for a customer invoice +SearchASupplierInvoice=Search for a supplier invoice +CancelBill=Cancel an invoice +SendRemindByMail=Send reminder by EMail +DoPayment=Do payment +DoPaymentBack=Do payment back +ConvertToReduc=Convert into future discount +EnterPaymentReceivedFromCustomer=Enter payment received from customer +EnterPaymentDueToCustomer=Make payment due to customer +DisabledBecauseRemainderToPayIsZero=Disabled because remaining unpaid is zero +Amount=Amount +PriceBase=Price base +BillStatus=Invoice status +BillStatusDraft=Draft (needs to be validated) +BillStatusPaid=Paid +BillStatusPaidBackOrConverted=Paid or converted into discount +BillStatusConverted=Paid (ready for final invoice) +BillStatusCanceled=Abandoned +BillStatusValidated=Validated (needs to be paid) +BillStatusStarted=Started +BillStatusNotPaid=Not paid +BillStatusClosedUnpaid=Closed (unpaid) +BillStatusClosedPaidPartially=Paid (partially) +BillShortStatusDraft=Draft +BillShortStatusPaid=Paid +BillShortStatusPaidBackOrConverted=Processed +BillShortStatusConverted=Processed +BillShortStatusCanceled=Abandoned +BillShortStatusValidated=Validated +BillShortStatusStarted=Started +BillShortStatusNotPaid=Not paid +BillShortStatusClosedUnpaid=Closed +BillShortStatusClosedPaidPartially=Paid (partially) +PaymentStatusToValidShort=To validate +ErrorVATIntraNotConfigured=Intracommunautary VAT number not yet defined +ErrorNoPaiementModeConfigured=No default payment mode defined. Go to Invoice module setup to fix this. +ErrorCreateBankAccount=Create a bank account, then go to Setup panel of Invoice module to define payment modes +ErrorBillNotFound=Invoice %s does not exist +ErrorInvoiceAlreadyReplaced=Error, you try to validate an invoice to replace invoice %s. But this one has already been replaced by invoice %s. +ErrorDiscountAlreadyUsed=Error, discount already used +ErrorInvoiceAvoirMustBeNegative=Error, correct invoice must have a negative amount +ErrorInvoiceOfThisTypeMustBePositive=Error, this type of invoice must have a positive amount +ErrorCantCancelIfReplacementInvoiceNotValidated=Error, can't cancel an invoice that has been replaced by another invoice that is still in draft status +BillFrom=From +BillTo=To +ActionsOnBill=Actions on invoice +NewBill=New invoice +LastBills=Last %s invoices +LastCustomersBills=Last %s customers invoices +LastSuppliersBills=Last %s suppliers invoices +AllBills=All invoices +OtherBills=Other invoices +DraftBills=Draft invoices +CustomersDraftInvoices=Customers draft invoices +SuppliersDraftInvoices=Suppliers draft invoices +Unpaid=Unpaid +ConfirmDeleteBill=Are you sure you want to delete this invoice ? +ConfirmValidateBill=Are you sure you want to validate this invoice with reference %s ? +ConfirmUnvalidateBill=Are you sure you want to change invoice %s to draft status ? +ConfirmClassifyPaidBill=Are you sure you want to change invoice %s to status paid ? +ConfirmCancelBill=Are you sure you want to cancel invoice %s ? +ConfirmCancelBillQuestion=Why do you want to classify this invoice 'abandoned' ? +ConfirmClassifyPaidPartially=Are you sure you want to change invoice %s to status paid ? +ConfirmClassifyPaidPartiallyQuestion=This invoice has not been paid completely. What are reasons for you to close this invoice ? +ConfirmClassifyPaidPartiallyReasonAvoir=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I regularise the VAT with a credit note. +ConfirmClassifyPaidPartiallyReasonDiscountNoVat=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I accept to lose the VAT on this discount. +ConfirmClassifyPaidPartiallyReasonDiscountVat=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I recover the VAT on this discount without a credit note. +ConfirmClassifyPaidPartiallyReasonBadCustomer=Bad customer +ConfirmClassifyPaidPartiallyReasonProductReturned=Products partially returned +ConfirmClassifyPaidPartiallyReasonOther=Amount abandoned for other reason +ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc=This choice is possible if your invoice have been provided with suitable comment. (Example «Only the tax corresponding to the price that have been actually paid gives rights to deduction») +ConfirmClassifyPaidPartiallyReasonDiscountVatDesc=In some countries, this choice might be possible only if your invoice contains correct note. +ConfirmClassifyPaidPartiallyReasonAvoirDesc=Use this choice if all other does not suit +ConfirmClassifyPaidPartiallyReasonBadCustomerDesc=A bad customer is a customer that refuse to pay his debt. +ConfirmClassifyPaidPartiallyReasonProductReturnedDesc=This choice is used when payment is not complete because some of products were returned +ConfirmClassifyPaidPartiallyReasonOtherDesc=Use this choice if all other does not suit, for example in following situation:
- payment not complete because some products were shipped back
- amount claimed too important because a discount was forgotten
In all cases, amount over-claimed must be corrected in accountancy system by creating a credit note. +ConfirmClassifyAbandonReasonOther=Other +ConfirmClassifyAbandonReasonOtherDesc=This choice will be used in all other cases. For example because you plan to create a replacing invoice. +ConfirmCustomerPayment=Do you confirm this payment input for %s %s ? +ConfirmSupplierPayment=Do you confirm this payment input for %s %s ? +ConfirmValidatePayment=Are you sure you want to validate this payment ? No change can be made once payment is validated. +ValidateBill=Validate invoice +UnvalidateBill=Unvalidate invoice +NumberOfBills=Nb of invoices +NumberOfBillsByMonth=Nb of invoices by month +AmountOfBills=Amount of invoices +AmountOfBillsByMonthHT=Amount of invoices by month (net of tax) +ShowSocialContribution=Show social contribution +ShowBill=Show invoice +ShowInvoice=Show invoice +ShowInvoiceReplace=Show replacing invoice +ShowInvoiceAvoir=Show credit note +ShowInvoiceDeposit=Show deposit invoice +ShowPayment=Show payment +File=File +AlreadyPaid=Already paid +AlreadyPaidBack=Already paid back +AlreadyPaidNoCreditNotesNoDeposits=Already paid (without credit notes and deposits) +Abandoned=Abandoned +RemainderToPay=Remaining unpaid +RemainderToTake=Remaining amount to take +RemainderToPayBack=Remaining amount to pay back +Rest=Pending +AmountExpected=Amount claimed +ExcessReceived=Excess received +EscompteOffered=Discount offered (payment before term) +SendBillRef=Submission of invoice %s +SendReminderBillRef=Submission of invoice %s (reminder) +StandingOrders=Standing orders +StandingOrder=Standing order +NoDraftBills=No draft invoices +NoOtherDraftBills=No other draft invoices +NoDraftInvoices=No draft invoices +RefBill=Invoice ref +ToBill=To bill +RemainderToBill=Remainder to bill +SendBillByMail=Send invoice by email +SendReminderBillByMail=Send reminder by email +RelatedCommercialProposals=Related commercial proposals +MenuToValid=To valid +DateMaxPayment=Payment due before +DateEcheance=Due date limit +DateInvoice=Invoice date +NoInvoice=No invoice +ClassifyBill=Classify invoice +SupplierBillsToPay=Suppliers invoices to pay +CustomerBillsUnpaid=Unpaid customers invoices +DispenseMontantLettres=The written invoices through mecanographic procedures are dispensed by the order in letters +NonPercuRecuperable=Non-recoverable +SetConditions=Set payment terms +SetMode=Set payment mode +Billed=Billed +RepeatableInvoice=Template invoice +RepeatableInvoices=Template invoices +Repeatable=Template +Repeatables=Templates +ChangeIntoRepeatableInvoice=Convert into template invoice +CreateRepeatableInvoice=Create template invoice +CreateFromRepeatableInvoice=Create from template invoice +CustomersInvoicesAndInvoiceLines=Customer invoices and invoice's lines +CustomersInvoicesAndPayments=Customer invoices and payments +ExportDataset_invoice_1=Customer invoices list and invoice's lines +ExportDataset_invoice_2=Customer invoices and payments +ProformaBill=Proforma Bill: +Reduction=Reduction +ReductionShort=Reduc. +Reductions=Reductions +ReductionsShort=Reduc. +Discount=Discount +Discounts=Discounts +AddDiscount=Create discount +AddRelativeDiscount=Create relative discount +EditRelativeDiscount=Edit relative discount +AddGlobalDiscount=Create absolute discount +EditGlobalDiscounts=Edit absolute discounts +AddCreditNote=Create credit note +ShowDiscount=Show discount +ShowReduc=Show the deduction +RelativeDiscount=Relative discount +GlobalDiscount=Global discount +CreditNote=Credit note +CreditNotes=Credit notes +Deposit=Deposit +Deposits=Deposits +DiscountFromCreditNote=Discount from credit note %s +DiscountFromDeposit=Payments from deposit invoice %s +AbsoluteDiscountUse=This kind of credit can be used on invoice before its validation +CreditNoteDepositUse=Invoice must be validated to use this king of credits +NewGlobalDiscount=New absolute discount +NewRelativeDiscount=New relative discount +NoteReason=Note/Reason +ReasonDiscount=Reason +DiscountOfferedBy=Granted by +DiscountStillRemaining=Discounts still remaining +DiscountAlreadyCounted=Discounts already counted +BillAddress=Bill address +HelpEscompte=This discount is a discount granted to customer because its payment was made before term. +HelpAbandonBadCustomer=This amount has been abandoned (customer said to be a bad customer) and is considered as an exceptional loose. +HelpAbandonOther=This amount has been abandoned since it was an error (wrong customer or invoice replaced by an other for example) +IdSocialContribution=Social contribution id +PaymentId=Payment id +InvoiceId=Invoice id +InvoiceRef=Invoice ref. +InvoiceDateCreation=Invoice creation date +InvoiceStatus=Invoice status +InvoiceNote=Invoice note +InvoicePaid=Invoice paid +PaymentNumber=Payment number +RemoveDiscount=Remove discount +WatermarkOnDraftBill=Watermark on draft invoices (nothing if empty) +InvoiceNotChecked=No invoice selected +CloneInvoice=Clone invoice +ConfirmCloneInvoice=Are you sure you want to clone this invoice %s ? +DisabledBecauseReplacedInvoice=Action disabled because invoice has been replaced +DescTaxAndDividendsArea=This area presents a summary of all payments made for special expenses. Only records with payment during the fixed year are included here. +NbOfPayments=Nb of payments +SplitDiscount=Split discount in two +ConfirmSplitDiscount=Are you sure you want to split this discount of %s %s into 2 lower discounts ? +TypeAmountOfEachNewDiscount=Input amount for each of two parts : +TotalOfTwoDiscountMustEqualsOriginal=Total of two new discount must be equal to original discount amount. +ConfirmRemoveDiscount=Are you sure you want to remove this discount ? +RelatedBill=Related invoice +RelatedBills=Related invoices +LatestRelatedBill=Latest related invoice +WarningBillExist=Warning, one or more invoice already exist + +# PaymentConditions +PaymentConditionShortRECEP=Immediate +PaymentConditionRECEP=Immediate +PaymentConditionShort30D=30 days +PaymentCondition30D=30 days +PaymentConditionShort30DENDMONTH=30 days end of month +PaymentCondition30DENDMONTH=30 days end of month +PaymentConditionShort60D=60 days +PaymentCondition60D=60 days +PaymentConditionShort60DENDMONTH=60 days end of month +PaymentCondition60DENDMONTH=60 days end of month +PaymentConditionShortPT_DELIVERY=Delivery +PaymentConditionPT_DELIVERY=On delivery +PaymentConditionShortPT_ORDER=On order +PaymentConditionPT_ORDER=On order +PaymentConditionShortPT_5050=50-50 +PaymentConditionPT_5050=50%% in advance, 50%% on delivery +FixAmount=Fix amount +VarAmount=Variable amount (%% tot.) +# PaymentType +PaymentTypeVIR=Bank deposit +PaymentTypeShortVIR=Bank deposit +PaymentTypePRE=Bank's order +PaymentTypeShortPRE=Bank's order +PaymentTypeLIQ=Cash +PaymentTypeShortLIQ=Cash +PaymentTypeCB=Credit card +PaymentTypeShortCB=Credit card +PaymentTypeCHQ=Check +PaymentTypeShortCHQ=Check +PaymentTypeTIP=TIP +PaymentTypeShortTIP=TIP +PaymentTypeVAD=On line payment +PaymentTypeShortVAD=On line payment +PaymentTypeTRA=Bill payment +PaymentTypeShortTRA=Bill +BankDetails=Bank details +BankCode=Bank code +DeskCode=Desk code +BankAccountNumber=Account number +BankAccountNumberKey=Key +Residence=Domiciliation +IBANNumber=IBAN number +IBAN=IBAN +BIC=BIC/SWIFT +BICNumber=BIC/SWIFT number +ExtraInfos=Extra infos +RegulatedOn=Regulated on +ChequeNumber=Check N° +ChequeOrTransferNumber=Check/Transfer N° +ChequeMaker=Check transmitter +ChequeBank=Bank of Check +CheckBank=Check +NetToBePaid=Net to be paid +PhoneNumber=Tel +FullPhoneNumber=Telephone +TeleFax=Fax +PrettyLittleSentence=Accept the amount of payments due by checks issued in my name as a Member of an accounting association approved by the Fiscal Administration. +IntracommunityVATNumber=Intracommunity number of VAT +PaymentByChequeOrderedTo=Check payment (including tax) are payable to %s send to +PaymentByChequeOrderedToShort=Check payment (including tax) are payable to +SendTo=sent to +PaymentByTransferOnThisBankAccount=Payment by transfer on the following bank account +VATIsNotUsedForInvoice=* Non applicable VAT art-293B of CGI +LawApplicationPart1=By application of the law 80.335 of 12/05/80 +LawApplicationPart2=the goods remain the property of +LawApplicationPart3=the seller until the complete cashing of +LawApplicationPart4=their price. +LimitedLiabilityCompanyCapital=SARL with Capital of +UseLine=Apply +UseDiscount=Use discount +UseCredit=Use credit +UseCreditNoteInInvoicePayment=Reduce amount to pay with this credit +MenuChequeDeposits=Checks deposits +MenuCheques=Checks +MenuChequesReceipts=Checks receipts +NewChequeDeposit=New deposit +ChequesReceipts=Checks receipts +ChequesArea=Checks deposits area +ChequeDeposits=Checks deposits +Cheques=Checks +CreditNoteConvertedIntoDiscount=This credit note or deposit invoice has been converted into %s +UsBillingContactAsIncoiveRecipientIfExist=Use customer billing contact address instead of third party address as recipient for invoices +ShowUnpaidAll=Show all unpaid invoices +ShowUnpaidLateOnly=Show late unpaid invoices only +PaymentInvoiceRef=Payment invoice %s +ValidateInvoice=Validate invoice +Cash=Cash +Reported=Delayed +DisabledBecausePayments=Not possible since there are some payments +CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified paid +ExpectedToPay=Expected payment +PayedByThisPayment=Paid by this payment +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. +ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. +AllCompletelyPayedInvoiceWillBeClosed=All invoice with no remain to pay will be automatically closed to status "Paid". +ToMakePayment=Pay +ToMakePaymentBack=Pay back +ListOfYourUnpaidInvoices=List of unpaid invoices +NoteListOfYourUnpaidInvoices=Note: This list contains only invoices for third parties you are linked to as a sale representative. +RevenueStamp=Revenue stamp +YouMustCreateInvoiceFromThird=This option is only available when creating invoice from tab "customer" of thirdparty +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (recommended Template) +TerreNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0 +MarsNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for credit notes and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0 +TerreNumRefModelError=A bill starting with $syymm already exists and is not compatible with this model of sequence. Remove it or rename it to activate this module. +##### Types de contacts ##### +TypeContact_facture_internal_SALESREPFOLL=Representative following-up customer invoice +TypeContact_facture_external_BILLING=Customer invoice contact +TypeContact_facture_external_SHIPPING=Customer shipping contact +TypeContact_facture_external_SERVICE=Customer service contact +TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up supplier invoice +TypeContact_invoice_supplier_external_BILLING=Supplier invoice contact +TypeContact_invoice_supplier_external_SHIPPING=Supplier shipping contact +TypeContact_invoice_supplier_external_SERVICE=Supplier service contact +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/ka_GE/bookmarks.lang b/htdocs/langs/ka_GE/bookmarks.lang new file mode 100644 index 00000000000..7acb946bb62 --- /dev/null +++ b/htdocs/langs/ka_GE/bookmarks.lang @@ -0,0 +1,19 @@ +# Dolibarr language file - Source file is en_US - marque pages +AddThisPageToBookmarks=Add this page to bookmarks +Bookmark=Bookmark +Bookmarks=Bookmarks +NewBookmark=New bookmark +ShowBookmark=Show bookmark +OpenANewWindow=Open a new window +ReplaceWindow=Replace current window +BookmarkTargetNewWindowShort=New window +BookmarkTargetReplaceWindowShort=Current window +BookmarkTitle=Bookmark title +UrlOrLink=URL +BehaviourOnClick=Behaviour when a URL is clicked +CreateBookmark=Create bookmark +SetHereATitleForLink=Set a title for the bookmark +UseAnExternalHttpLinkOrRelativeDolibarrLink=Use an external http URL or a relative Dolibarr URL +ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Choose if a page opened by link must appear on current or new window +BookmarksManagement=Bookmarks management +ListOfBookmarks=List of bookmarks diff --git a/htdocs/langs/ka_GE/boxes.lang b/htdocs/langs/ka_GE/boxes.lang new file mode 100644 index 00000000000..bf118b9b88e --- /dev/null +++ b/htdocs/langs/ka_GE/boxes.lang @@ -0,0 +1,96 @@ +# Dolibarr language file - Source file is en_US - boxes +BoxLastRssInfos=Rss information +BoxLastProducts=Last %s products/services +BoxProductsAlertStock=Products in stock alert +BoxLastProductsInContract=Last %s contracted products/services +BoxLastSupplierBills=Last supplier's invoices +BoxLastCustomerBills=Last customer's invoices +BoxOldestUnpaidCustomerBills=Oldest unpaid customer's invoices +BoxOldestUnpaidSupplierBills=Oldest unpaid supplier's invoices +BoxLastProposals=Last commercial proposals +BoxLastProspects=Last modified prospects +BoxLastCustomers=Last modified customers +BoxLastSuppliers=Last modified suppliers +BoxLastCustomerOrders=Last customer orders +BoxLastValidatedCustomerOrders=Last validated customer orders +BoxLastBooks=Last books +BoxLastActions=Last actions +BoxLastContracts=Last contracts +BoxLastContacts=Last contacts/addresses +BoxLastMembers=Last members +BoxFicheInter=Last interventions +BoxCurrentAccounts=Opened accounts balance +BoxSalesTurnover=Sales turnover +BoxTotalUnpaidCustomerBills=Total unpaid customer's invoices +BoxTotalUnpaidSuppliersBills=Total unpaid supplier's invoices +BoxTitleLastBooks=Last %s recorded books +BoxTitleNbOfCustomers=Number of clients +BoxTitleLastRssInfos=Last %s news from %s +BoxTitleLastProducts=Last %s modified products/services +BoxTitleProductsAlertStock=Products in stock alert +BoxTitleLastCustomerOrders=Last %s customer orders +BoxTitleLastModifiedCustomerOrders=Last %s modified customer orders +BoxTitleLastSuppliers=Last %s recorded suppliers +BoxTitleLastCustomers=Last %s recorded customers +BoxTitleLastModifiedSuppliers=Last %s modified suppliers +BoxTitleLastModifiedCustomers=Last %s modified customers +BoxTitleLastCustomersOrProspects=Last %s customers or prospects +BoxTitleLastPropals=Last %s proposals +BoxTitleLastModifiedPropals=Last %s modified proposals +BoxTitleLastCustomerBills=Last %s customer's invoices +BoxTitleLastModifiedCustomerBills=Last %s modified customer invoices +BoxTitleLastSupplierBills=Last %s supplier's invoices +BoxTitleLastModifiedSupplierBills=Last %s modified supplier invoices +BoxTitleLastModifiedProspects=Last %s modified prospects +BoxTitleLastProductsInContract=Last %s products/services in a contract +BoxTitleLastModifiedMembers=Last %s members +BoxTitleLastFicheInter=Last %s modified intervention +BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices +BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices +BoxTitleCurrentAccounts=Opened account's balances +BoxTitleSalesTurnover=Sales turnover +BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices +BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices +BoxTitleLastModifiedContacts=Last %s modified contacts/addresses +BoxMyLastBookmarks=My last %s bookmarks +BoxOldestExpiredServices=Oldest active expired services +BoxLastExpiredServices=Last %s oldest contacts with active expired services +BoxTitleLastActionsToDo=Last %s actions to do +BoxTitleLastContracts=Last %s contracts +BoxTitleLastModifiedDonations=Last %s modified donations +BoxTitleLastModifiedExpenses=Last %s modified expenses +BoxGlobalActivity=Global activity (invoices, proposals, orders) +FailedToRefreshDataInfoNotUpToDate=Failed to refresh RSS flux. Last successfull refresh date: %s +LastRefreshDate=Last refresh date +NoRecordedBookmarks=No bookmarks defined. +ClickToAdd=Click here to add. +NoRecordedCustomers=No recorded customers +NoRecordedContacts=No recorded contacts +NoActionsToDo=No actions to do +NoRecordedOrders=No recorded customer's orders +NoRecordedProposals=No recorded proposals +NoRecordedInvoices=No recorded customer's invoices +NoUnpaidCustomerBills=No unpaid customer's invoices +NoRecordedSupplierInvoices=No recorded supplier's invoices +NoUnpaidSupplierBills=No unpaid supplier's invoices +NoModifiedSupplierBills=No recorded supplier's invoices +NoRecordedProducts=No recorded products/services +NoRecordedProspects=No recorded prospects +NoContractedProducts=No products/services contracted +NoRecordedContracts=No recorded contracts +NoRecordedInterventions=No recorded interventions +BoxLatestSupplierOrders=Latest supplier orders +BoxTitleLatestSupplierOrders=Last %s supplier orders +BoxTitleLatestModifiedSupplierOrders=Last %s modified supplier orders +NoSupplierOrder=No recorded supplier order +BoxCustomersInvoicesPerMonth=Customer invoices per month +BoxSuppliersInvoicesPerMonth=Supplier invoices per month +BoxCustomersOrdersPerMonth=Customer orders per month +BoxSuppliersOrdersPerMonth=Supplier orders per month +BoxProposalsPerMonth=Proposals per month +NoTooLowStockProducts=No product under the low stock limit +BoxProductDistribution=Products/Services distribution +BoxProductDistributionFor=Distribution of %s for %s +ForCustomersInvoices=Customers invoices +ForCustomersOrders=Customers orders +ForProposals=Proposals diff --git a/htdocs/langs/ka_GE/cashdesk.lang b/htdocs/langs/ka_GE/cashdesk.lang new file mode 100644 index 00000000000..d3dcfb68e64 --- /dev/null +++ b/htdocs/langs/ka_GE/cashdesk.lang @@ -0,0 +1,40 @@ +# Language file - Source file is en_US - cashdesk +CashDeskMenu=Point of sale +CashDesk=Point of sale +CashDesks=Point of sales +CashDeskBank=Bank account +CashDeskBankCash=Bank account (cash) +CashDeskBankCB=Bank account (card) +CashDeskBankCheque=Bank account (cheque) +CashDeskWarehouse=Warehouse +CashdeskShowServices=Selling services +CashDeskProducts=Products +CashDeskStock=Stock +CashDeskOn=on +CashDeskThirdParty=Third party +CashdeskDashboard=Point of sale access +ShoppingCart=Shopping cart +NewSell=New sell +BackOffice=Back office +AddThisArticle=Add this article +RestartSelling=Go back on sell +SellFinished=Sell finished +PrintTicket=Print ticket +NoProductFound=No article found +ProductFound=product found +ProductsFound=products found +NoArticle=No article +Identification=Identification +Article=Article +Difference=Difference +TotalTicket=Total ticket +NoVAT=No VAT for this sale +Change=Excess received +CalTip=Click to view the calendar +CashDeskSetupStock=You ask to decrease stock on invoice creation but warehouse for this is was not defined
Change stock module setup, or choose a warehouse +BankToPay=Charge Account +ShowCompany=Show company +ShowStock=Show warehouse +DeleteArticle=Click to remove this article +FilterRefOrLabelOrBC=Search (Ref/Label) +UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/ka_GE/categories.lang b/htdocs/langs/ka_GE/categories.lang new file mode 100644 index 00000000000..22914931db1 --- /dev/null +++ b/htdocs/langs/ka_GE/categories.lang @@ -0,0 +1,112 @@ +# Dolibarr language file - Source file is en_US - categories +Category=Category +Categories=Categories +Rubrique=Category +Rubriques=Categories +categories=categories +TheCategorie=The category +NoCategoryYet=No category of this type created +In=In +AddIn=Add in +modify=modify +Classify=Classify +CategoriesArea=Categories area +ProductsCategoriesArea=Products/Services categories area +SuppliersCategoriesArea=Suppliers categories area +CustomersCategoriesArea=Customers categories area +ThirdPartyCategoriesArea=Third parties categories area +MembersCategoriesArea=Members categories area +ContactsCategoriesArea=Contacts categories area +MainCats=Main categories +SubCats=Subcategories +CatStatistics=Statistics +CatList=List of categories +AllCats=All categories +ViewCat=View category +NewCat=Add category +NewCategory=New category +ModifCat=Modify category +CatCreated=Category created +CreateCat=Create category +CreateThisCat=Create this category +ValidateFields=Validate the fields +NoSubCat=No subcategory. +SubCatOf=Subcategory +FoundCats=Found categories +FoundCatsForName=Categories found for the name : +FoundSubCatsIn=Subcategories found in the category +ErrSameCatSelected=You selected the same category several times +ErrForgotCat=You forgot to choose the category +ErrForgotField=You forgot to inform the fields +ErrCatAlreadyExists=This name is already used +AddProductToCat=Add this product to a category? +ImpossibleAddCat=Impossible to add the category +ImpossibleAssociateCategory=Impossible to associate the category to +WasAddedSuccessfully=%s was added successfully. +ObjectAlreadyLinkedToCategory=Element is already linked to this category. +CategorySuccessfullyCreated=This category %s has been added with success. +ProductIsInCategories=Product/service owns to following categories +SupplierIsInCategories=Third party owns to following suppliers categories +CompanyIsInCustomersCategories=This third party owns to following customers/prospects categories +CompanyIsInSuppliersCategories=This third party owns to following suppliers categories +MemberIsInCategories=This member owns to following members categories +ContactIsInCategories=This contact owns to following contacts categories +ProductHasNoCategory=This product/service is not in any categories +SupplierHasNoCategory=This supplier is not in any categories +CompanyHasNoCategory=This company is not in any categories +MemberHasNoCategory=This member is not in any categories +ContactHasNoCategory=This contact is not in any categories +ClassifyInCategory=Classify in category +NoneCategory=None +NotCategorized=Without category +CategoryExistsAtSameLevel=This category already exists with this ref +ReturnInProduct=Back to product/service card +ReturnInSupplier=Back to supplier card +ReturnInCompany=Back to customer/prospect card +ContentsVisibleByAll=The contents will be visible by all +ContentsVisibleByAllShort=Contents visible by all +ContentsNotVisibleByAllShort=Contents not visible by all +CategoriesTree=Categories tree +DeleteCategory=Delete category +ConfirmDeleteCategory=Are you sure you want to delete this category ? +RemoveFromCategory=Remove link with categorie +RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the category ? +NoCategoriesDefined=No category defined +SuppliersCategoryShort=Suppliers category +CustomersCategoryShort=Customers category +ProductsCategoryShort=Products category +MembersCategoryShort=Members category +SuppliersCategoriesShort=Suppliers categories +CustomersCategoriesShort=Customers categories +CustomersProspectsCategoriesShort=Custo./Prosp. categories +ProductsCategoriesShort=Products categories +MembersCategoriesShort=Members categories +ContactCategoriesShort=Contacts categories +ThisCategoryHasNoProduct=This category does not contain any product. +ThisCategoryHasNoSupplier=This category does not contain any supplier. +ThisCategoryHasNoCustomer=This category does not contain any customer. +ThisCategoryHasNoMember=This category does not contain any member. +ThisCategoryHasNoContact=This category does not contain any contact. +AssignedToCustomer=Assigned to a customer +AssignedToTheCustomer=Assigned to the customer +InternalCategory=Internal category +CategoryContents=Category contents +CategId=Category id +CatSupList=List of supplier categories +CatCusList=List of customer/prospect categories +CatProdList=List of products categories +CatMemberList=List of members categories +CatContactList=List of contact categories and contact +CatSupLinks=Links between suppliers and categories +CatCusLinks=Links between customers/prospects and categories +CatProdLinks=Links between products/services and categories +CatMemberLinks=Links between members and categories +DeleteFromCat=Remove from category +DeletePicture=Picture delete +ConfirmDeletePicture=Confirm picture deletion? +ExtraFieldsCategories=Complementary attributes +CategoriesSetup=Categories setup +CategorieRecursiv=Link with parent category automatically +CategorieRecursivHelp=If activated, product will also linked to parent category when adding into a subcategory +AddProductServiceIntoCategory=Add the following product/service +ShowCategory=Show category diff --git a/htdocs/langs/ka_GE/commercial.lang b/htdocs/langs/ka_GE/commercial.lang new file mode 100644 index 00000000000..390a7f837e8 --- /dev/null +++ b/htdocs/langs/ka_GE/commercial.lang @@ -0,0 +1,96 @@ +# Dolibarr language file - Source file is en_US - commercial +Commercial=Commercial +CommercialArea=Commercial area +CommercialCard=Commercial card +CustomerArea=Customers area +Customer=Customer +Customers=Customers +Prospect=Prospect +Prospects=Prospects +DeleteAction=Delete an event/task +NewAction=New event/task +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event +Rendez-Vous=Rendezvous +ConfirmDeleteAction=Are you sure you want to delete this event/task ? +CardAction=Event card +PercentDone=Percentage complete +ActionOnCompany=Task about company +ActionOnContact=Task about contact +TaskRDV=Meetings +TaskRDVWith=Meeting with %s +ShowTask=Show task +ShowAction=Show event +ActionsReport=Events report +ThirdPartiesOfSaleRepresentative=Thirdparties with sales representative +SalesRepresentative=Sales representative +SalesRepresentatives=Sales representatives +SalesRepresentativeFollowUp=Sales representative (follow-up) +SalesRepresentativeSignature=Sales representative (signature) +CommercialInterlocutor=Commercial interlocutor +ErrorWrongCode=Wrong code +NoSalesRepresentativeAffected=No particular sales representative assigned +ShowCustomer=Show customer +ShowProspect=Show prospect +ListOfProspects=List of prospects +ListOfCustomers=List of customers +LastDoneTasks=Last %s completed tasks +LastRecordedTasks=Last recorded tasks +LastActionsToDo=Last %s oldest actions not completed +DoneAndToDoActionsFor=Completed and To do events for %s +DoneAndToDoActions=Completed and To do events +DoneActions=Completed events +DoneActionsFor=Completed events for %s +ToDoActions=Incomplete events +ToDoActionsFor=Incomplete events for %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s +StatusNotApplicable=Not applicable +StatusActionToDo=To do +StatusActionDone=Complete +MyActionsAsked=Events I have recorded +MyActionsToDo=Events I have to do +MyActionsDone=Events assigned to me +StatusActionInProcess=In process +TasksHistoryForThisContact=Events for this contact +LastProspectDoNotContact=Do not contact +LastProspectNeverContacted=Never contacted +LastProspectToContact=To contact +LastProspectContactInProcess=Contact in process +LastProspectContactDone=Contact done +DateActionPlanned=Date event planned for +DateActionDone=Date event done +ActionAskedBy=Event reported by +ActionAffectedTo=Event owned by +ActionDoneBy=Event done by +ActionUserAsk=Reported by +ErrorStatusCantBeZeroIfStarted=If field 'Date done' is filled, action is started (or finished), so field 'Status' can't be 0%%. +ActionAC_TEL=Phone call +ActionAC_FAX=Send fax +ActionAC_PROP=Send proposal by mail +ActionAC_EMAIL=Send Email +ActionAC_RDV=Meetings +ActionAC_INT=Intervention on site +ActionAC_FAC=Send customer invoice by mail +ActionAC_REL=Send customer invoice by mail (reminder) +ActionAC_CLO=Close +ActionAC_EMAILING=Send mass email +ActionAC_COM=Send customer order by mail +ActionAC_SHIP=Send shipping by mail +ActionAC_SUP_ORD=Send supplier order by mail +ActionAC_SUP_INV=Send supplier invoice by mail +ActionAC_OTH=Other +ActionAC_OTH_AUTO=Other (automatically inserted events) +ActionAC_MANUAL=Manually inserted events +ActionAC_AUTO=Automatically inserted events +Stats=Sales statistics +CAOrder=Sales volume (validated orders) +FromTo=from %s to %s +MargeOrder=Margins (validated orders) +RecapAnnee=Summary of the year +NoData=There is no data +StatusProsp=Prospect status +DraftPropals=Draft commercial proposals +SearchPropal=Search a commercial proposal +CommercialDashboard=Commercial summary diff --git a/htdocs/langs/ka_GE/companies.lang b/htdocs/langs/ka_GE/companies.lang new file mode 100644 index 00000000000..8abf1fd1c5a --- /dev/null +++ b/htdocs/langs/ka_GE/companies.lang @@ -0,0 +1,414 @@ +# Dolibarr language file - Source file is en_US - companies +ErrorCompanyNameAlreadyExists=Company name %s already exists. Choose another one. +ErrorPrefixAlreadyExists=Prefix %s already exists. Choose another one. +ErrorSetACountryFirst=Set the country first +SelectThirdParty=Select a third party +DeleteThirdParty=Delete a third party +ConfirmDeleteCompany=Are you sure you want to delete this company and all inherited information ? +DeleteContact=Delete a contact/address +ConfirmDeleteContact=Are you sure you want to delete this contact and all inherited information ? +MenuNewThirdParty=New third party +MenuNewCompany=New company +MenuNewCustomer=New customer +MenuNewProspect=New prospect +MenuNewSupplier=New supplier +MenuNewPrivateIndividual=New private individual +MenuSocGroup=Groups +NewCompany=New company (prospect, customer, supplier) +NewThirdParty=New third party (prospect, customer, supplier) +NewSocGroup=New company group +NewPrivateIndividual=New private individual (prospect, customer, supplier) +CreateDolibarrThirdPartySupplier=Create a third party (supplier) +ProspectionArea=Prospection area +SocGroup=Group of companies +IdThirdParty=Id third party +IdCompany=Company Id +IdContact=Contact Id +Contacts=Contacts/Addresses +ThirdPartyContacts=Third party contacts +ThirdPartyContact=Third party contact/address +StatusContactValidated=Status of contact/address +Company=Company +CompanyName=Company name +Companies=Companies +CountryIsInEEC=Country is inside European Economic Community +ThirdPartyName=Third party name +ThirdParty=Third party +ThirdParties=Third parties +ThirdPartyAll=Third parties (all) +ThirdPartyProspects=Prospects +ThirdPartyProspectsStats=Prospects +ThirdPartyCustomers=Customers +ThirdPartyCustomersStats=Customers +ThirdPartyCustomersWithIdProf12=Customers with %s or %s +ThirdPartySuppliers=Suppliers +ThirdPartyType=Third party type +Company/Fundation=Company/Foundation +Individual=Private individual +ToCreateContactWithSameName=Will create automatically a physical contact with same informations +ParentCompany=Parent company +Subsidiary=Subsidiary +Subsidiaries=Subsidiaries +NoSubsidiary=No subsidiary +ReportByCustomers=Report by customers +ReportByQuarter=Report by rate +CivilityCode=Civility code +RegisteredOffice=Registered office +Name=Name +Lastname=Last name +Firstname=First name +PostOrFunction=Post/Function +UserTitle=Title +Surname=Surname/Pseudo +Address=Address +State=State/Province +Region=Region +Country=Country +CountryCode=Country code +CountryId=Country id +Phone=Phone +Skype=Skype +Call=Call +Chat=Chat +PhonePro=Prof. phone +PhonePerso=Pers. phone +PhoneMobile=Mobile +No_Email=Don't send mass e-mailings +Fax=Fax +Zip=Zip Code +Town=City +Web=Web +Poste= Position +DefaultLang=Language by default +VATIsUsed=VAT is used +VATIsNotUsed=VAT is not used +CopyAddressFromSoc=Fill address with thirdparty address +NoEmailDefined=There is no email defined +##### Local Taxes ##### +LocalTax1IsUsedES= RE is used +LocalTax1IsNotUsedES= RE is not used +LocalTax2IsUsedES= IRPF is used +LocalTax2IsNotUsedES= IRPF is not used +LocalTax1ES=RE +LocalTax2ES=IRPF +TypeLocaltax1ES=RE Type +TypeLocaltax2ES=IRPF Type +TypeES=Type +ThirdPartyEMail=%s +WrongCustomerCode=Customer code invalid +WrongSupplierCode=Supplier code invalid +CustomerCodeModel=Customer code model +SupplierCodeModel=Supplier code model +Gencod=Bar code +##### Professional ID ##### +ProfId1Short=Prof. id 1 +ProfId2Short=Prof. id 2 +ProfId3Short=Prof. id 3 +ProfId4Short=Prof. id 4 +ProfId5Short=Prof. id 5 +ProfId6Short=Prof. id 5 +ProfId1=Professional ID 1 +ProfId2=Professional ID 2 +ProfId3=Professional ID 3 +ProfId4=Professional ID 4 +ProfId5=Professional ID 5 +ProfId6=Professional ID 6 +ProfId1AR=Prof Id 1 (CUIT/CUIL) +ProfId2AR=Prof Id 2 (Revenu brutes) +ProfId3AR=- +ProfId4AR=- +ProfId5AR=- +ProfId6AR=- +ProfId1AU=Prof Id 1 (ABN) +ProfId2AU=- +ProfId3AU=- +ProfId4AU=- +ProfId5AU=- +ProfId6AU=- +ProfId1BE=Prof Id 1 (Professional number) +ProfId2BE=- +ProfId3BE=- +ProfId4BE=- +ProfId5BE=- +ProfId6BE=- +ProfId1BR=- +ProfId2BR=IE (Inscricao Estadual) +ProfId3BR=IM (Inscricao Municipal) +ProfId4BR=CPF +#ProfId5BR=CNAE +#ProfId6BR=INSS +ProfId1CH=- +ProfId2CH=- +ProfId3CH=Prof Id 1 (Federal number) +ProfId4CH=Prof Id 2 (Commercial Record number) +ProfId5CH=- +ProfId6CH=- +ProfId1CL=Prof Id 1 (R.U.T.) +ProfId2CL=- +ProfId3CL=- +ProfId4CL=- +ProfId5CL=- +ProfId6CL=- +ProfId1CO=Prof Id 1 (R.U.T.) +ProfId2CO=- +ProfId3CO=- +ProfId4CO=- +ProfId5CO=- +ProfId6CO=- +ProfId1DE=Prof Id 1 (USt.-IdNr) +ProfId2DE=Prof Id 2 (USt.-Nr) +ProfId3DE=Prof Id 3 (Handelsregister-Nr.) +ProfId4DE=- +ProfId5DE=- +ProfId6DE=- +ProfId1ES=Prof Id 1 (CIF/NIF) +ProfId2ES=Prof Id 2 (Social security number) +ProfId3ES=Prof Id 3 (CNAE) +ProfId4ES=Prof Id 4 (Collegiate number) +ProfId5ES=- +ProfId6ES=- +ProfId1FR=Prof Id 1 (SIREN) +ProfId2FR=Prof Id 2 (SIRET) +ProfId3FR=Prof Id 3 (NAF, old APE) +ProfId4FR=Prof Id 4 (RCS/RM) +ProfId5FR=- +ProfId6FR=- +ProfId1GB=Registration Number +ProfId2GB=- +ProfId3GB=SIC +ProfId4GB=- +ProfId5GB=- +ProfId6GB=- +ProfId1HN=Id prof. 1 (RTN) +ProfId2HN=- +ProfId3HN=- +ProfId4HN=- +ProfId5HN=- +ProfId6HN=- +ProfId1IN=Prof Id 1 (TIN) +ProfId2IN=Prof Id 2 (PAN) +ProfId3IN=Prof Id 3 (SRVC TAX) +ProfId4IN=Prof Id 4 +ProfId5IN=Prof Id 5 +ProfId6IN=- +ProfId1MA=Id prof. 1 (R.C.) +ProfId2MA=Id prof. 2 (Patente) +ProfId3MA=Id prof. 3 (I.F.) +ProfId4MA=Id prof. 4 (C.N.S.S.) +ProfId5MA=- +ProfId6MA=- +ProfId1MX=Prof Id 1 (R.F.C). +ProfId2MX=Prof Id 2 (R..P. IMSS) +ProfId3MX=Prof Id 3 (Profesional Charter) +ProfId4MX=- +ProfId5MX=- +ProfId6MX=- +ProfId1NL=KVK nummer +ProfId2NL=- +ProfId3NL=- +ProfId4NL=Burgerservicenummer (BSN) +ProfId5NL=- +ProfId6NL=- +ProfId1PT=Prof Id 1 (NIPC) +ProfId2PT=Prof Id 2 (Social security number) +ProfId3PT=Prof Id 3 (Commercial Record number) +ProfId4PT=Prof Id 4 (Conservatory) +ProfId5PT=- +ProfId6PT=- +ProfId1SN=RC +ProfId2SN=NINEA +ProfId3SN=- +ProfId4SN=- +ProfId5SN=- +ProfId6SN=- +ProfId1TN=Prof Id 1 (RC) +ProfId2TN=Prof Id 2 (Fiscal matricule) +ProfId3TN=Prof Id 3 (Douane code) +ProfId4TN=Prof Id 4 (BAN) +ProfId5TN=- +ProfId6TN=- +ProfId1RU=Prof Id 1 (OGRN) +ProfId2RU=Prof Id 2 (INN) +ProfId3RU=Prof Id 3 (KPP) +ProfId4RU=Prof Id 4 (OKPO) +ProfId5RU=- +ProfId6RU=- +VATIntra=VAT number +VATIntraShort=VAT number +VATIntraVeryShort=VAT +VATIntraSyntaxIsValid=Syntax is valid +VATIntraValueIsValid=Value is valid +ProspectCustomer=Prospect / Customer +Prospect=Prospect +CustomerCard=Customer Card +Customer=Customer +CustomerDiscount=Customer Discount +CustomerRelativeDiscount=Relative customer discount +CustomerAbsoluteDiscount=Absolute customer discount +CustomerRelativeDiscountShort=Relative discount +CustomerAbsoluteDiscountShort=Absolute discount +CompanyHasRelativeDiscount=This customer has a default discount of %s%% +CompanyHasNoRelativeDiscount=This customer has no relative discount by default +CompanyHasAbsoluteDiscount=This customer still has discount credits or deposits for %s %s +CompanyHasCreditNote=This customer still has credit notes for %s %s +CompanyHasNoAbsoluteDiscount=This customer has no discount credit available +CustomerAbsoluteDiscountAllUsers=Absolute discounts (granted by all users) +CustomerAbsoluteDiscountMy=Absolute discounts (granted by yourself) +DefaultDiscount=Default discount +AvailableGlobalDiscounts=Absolute discounts available +DiscountNone=None +Supplier=Supplier +CompanyList=Company's list +AddContact=Create contact +AddContactAddress=Create contact/address +EditContact=Edit contact +EditContactAddress=Edit contact/address +Contact=Contact +ContactsAddresses=Contacts/Addresses +NoContactDefinedForThirdParty=No contact defined for this third party +NoContactDefined=No contact defined +DefaultContact=Default contact/address +AddCompany=Create company +AddThirdParty=Create third party +DeleteACompany=Delete a company +PersonalInformations=Personal data +AccountancyCode=Accountancy code +CustomerCode=Customer code +SupplierCode=Supplier code +CustomerAccount=Customer account +SupplierAccount=Supplier account +CustomerCodeDesc=Customer code, unique for all customers +SupplierCodeDesc=Supplier code, unique for all suppliers +RequiredIfCustomer=Required if third party is a customer or prospect +RequiredIfSupplier=Required if third party is a supplier +ValidityControledByModule=Validity controled by module +ThisIsModuleRules=This is rules for this module +LastProspect=Last +ProspectToContact=Prospect to contact +CompanyDeleted=Company "%s" deleted from database. +ListOfContacts=List of contacts/addresses +ListOfContactsAddresses=List of contacts/adresses +ListOfProspectsContacts=List of prospect contacts +ListOfCustomersContacts=List of customer contacts +ListOfSuppliersContacts=List of supplier contacts +ListOfCompanies=List of companies +ListOfThirdParties=List of third parties +ShowCompany=Show company +ShowContact=Show contact +ContactsAllShort=All (No filter) +ContactType=Contact type +ContactForOrders=Order's contact +ContactForProposals=Proposal's contact +ContactForContracts=Contract's contact +ContactForInvoices=Invoice's contact +NoContactForAnyOrder=This contact is not a contact for any order +NoContactForAnyProposal=This contact is not a contact for any commercial proposal +NoContactForAnyContract=This contact is not a contact for any contract +NoContactForAnyInvoice=This contact is not a contact for any invoice +NewContact=New contact +NewContactAddress=New contact/address +LastContacts=Last contacts +MyContacts=My contacts +Phones=Phones +Capital=Capital +CapitalOf=Capital of %s +EditCompany=Edit company +EditDeliveryAddress=Edit delivery address +ThisUserIsNot=This user is not a prospect, customer nor supplier +VATIntraCheck=Check +VATIntraCheckDesc=The link %s allows to ask the european VAT checker service. An external internet access from server is required for this service to work. +VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do +VATIntraCheckableOnEUSite=Check Intracomunnautary VAT on European commision site +VATIntraManualCheck=You can also check manually from european web site %s +ErrorVATCheckMS_UNAVAILABLE=Check not possible. Check service is not provided by the member state (%s). +NorProspectNorCustomer=Nor prospect, nor customer +JuridicalStatus=Juridical status +Staff=Staff +ProspectLevelShort=Potential +ProspectLevel=Prospect potential +ContactPrivate=Private +ContactPublic=Shared +ContactVisibility=Visibility +OthersNotLinkedToThirdParty=Others, not linked to a third party +ProspectStatus=Prospect status +PL_NONE=None +PL_UNKNOWN=Unknown +PL_LOW=Low +PL_MEDIUM=Medium +PL_HIGH=High +TE_UNKNOWN=- +TE_STARTUP=Startup +TE_GROUP=Large company +TE_MEDIUM=Medium company +TE_ADMIN=Governmental +TE_SMALL=Small company +TE_RETAIL=Retailer +TE_WHOLE=Wholetailer +TE_PRIVATE=Private individual +TE_OTHER=Other +StatusProspect-1=Do not contact +StatusProspect0=Never contacted +StatusProspect1=To contact +StatusProspect2=Contact in process +StatusProspect3=Contact done +ChangeDoNotContact=Change status to 'Do not contact' +ChangeNeverContacted=Change status to 'Never contacted' +ChangeToContact=Change status to 'To contact' +ChangeContactInProcess=Change status to 'Contact in process' +ChangeContactDone=Change status to 'Contact done' +ProspectsByStatus=Prospects by status +BillingContact=Billing contact +NbOfAttachedFiles=Number of attached files +AttachANewFile=Attach a new file +NoRIB=No BAN defined +NoParentCompany=None +ExportImport=Import-Export +ExportCardToFormat=Export card to format +ContactNotLinkedToCompany=Contact not linked to any third party +DolibarrLogin=Dolibarr login +NoDolibarrAccess=No Dolibarr access +ExportDataset_company_1=Third parties (Companies/foundations/physical people) and properties +ExportDataset_company_2=Contacts and properties +ImportDataset_company_1=Third parties (Companies/foundations/physical people) and properties +ImportDataset_company_2=Contacts/Addresses (of thirdparties or not) and attributes +ImportDataset_company_3=Bank details +PriceLevel=Price level +DeliveriesAddress=Delivery addresses +DeliveryAddress=Delivery address +DeliveryAddressLabel=Delivery address label +DeleteDeliveryAddress=Delete a delivery address +ConfirmDeleteDeliveryAddress=Are you sure you want to delete this delivery address? +NewDeliveryAddress=New delivery address +AddDeliveryAddress=Create address +AddAddress=Create address +NoOtherDeliveryAddress=No alternative delivery address defined +SupplierCategory=Supplier category +JuridicalStatus200=Independant +DeleteFile=Delete file +ConfirmDeleteFile=Are you sure you want to delete this file? +AllocateCommercial=Assigned to sale representative +SelectCountry=Select a country +SelectCompany=Select a third party +Organization=Organization +AutomaticallyGenerated=Automatically generated +FiscalYearInformation=Information on the fiscal year +FiscalMonthStart=Starting month of the fiscal year +YouMustCreateContactFirst=You must create emails contacts for third party first to be able to add emails notifications. +ListSuppliersShort=List of suppliers +ListProspectsShort=List of prospects +ListCustomersShort=List of customers +ThirdPartiesArea=Third parties and contact area +LastModifiedThirdParties=Last %s modified third parties +UniqueThirdParties=Total of unique third parties +InActivity=Open +ActivityCeased=Closed +ActivityStateFilter=Activity status +ProductsIntoElements=List of products into %s +CurrentOutstandingBill=Current outstanding bill +OutstandingBill=Max. for outstanding bill +OutstandingBillReached=Reached max. for outstanding bill +MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. +LeopardNumRefModelDesc=The code is free. This code can be modified at any time. +ManagingDirectors=Manager(s) name (CEO, director, president...) +SearchThirdparty=Search thirdparty +SearchContact=Search contact diff --git a/htdocs/langs/ka_GE/compta.lang b/htdocs/langs/ka_GE/compta.lang new file mode 100644 index 00000000000..0d579a06ff1 --- /dev/null +++ b/htdocs/langs/ka_GE/compta.lang @@ -0,0 +1,207 @@ +# Dolibarr language file - Source file is en_US - compta +Accountancy=Accountancy +AccountancyCard=Accountancy card +Treasury=Treasury +MenuFinancial=Financial +TaxModuleSetupToModifyRules=Go to Taxes module setup to modify rules for calculation +TaxModuleSetupToModifyRulesLT=Go to Company setup to modify rules for calculation +OptionMode=Option for accountancy +OptionModeTrue=Option Incomes-Expenses +OptionModeVirtual=Option Claims-Debts +OptionModeTrueDesc=In this context, the turnover is calculated over payments (date of payments). The validity of the figures is assured only if the book-keeping is scrutinized through the input/output on the accounts via invoices. +OptionModeVirtualDesc=In this context, the turnover is calculated over invoices (date of validation). When these invoices are due, whether they have been paid or not, they are listed in the turnover output. +FeatureIsSupportedInInOutModeOnly=Feature only available in CREDITS-DEBTS accountancy mode (See Accountancy module configuration) +VATReportBuildWithOptionDefinedInModule=Amounts shown here are calculated using rules defined by Tax module setup. +LTReportBuildWithOptionDefinedInModule=Amounts shown here are calculated using rules defined by Company setup. +Param=Setup +RemainingAmountPayment=Amount payment remaining : +AmountToBeCharged=Total amount to pay : +AccountsGeneral=Accounts +Account=Account +Accounts=Accounts +Accountparent=Account parent +Accountsparent=Accounts parent +BillsForSuppliers=Bills for suppliers +Income=Income +Outcome=Expense +ReportInOut=Income / Expense +ReportTurnover=Turnover +PaymentsNotLinkedToInvoice=Payments not linked to any invoice, so not linked to any third party +PaymentsNotLinkedToUser=Payments not linked to any user +Profit=Profit +AccountingResult=Accounting result +Balance=Balance +Debit=Debit +Credit=Credit +Piece=Accounting Doc. +Withdrawal=Withdrawal +Withdrawals=Withdrawals +AmountHTVATRealReceived=Net collected +AmountHTVATRealPaid=Net paid +VATToPay=VAT sells +VATReceived=VAT received +VATToCollect=VAT purchases +VATSummary=VAT Balance +LT2SummaryES=IRPF Balance +LT1SummaryES=RE Balance +VATPaid=VAT paid +SalaryPaid=Salary paid +LT2PaidES=IRPF Paid +LT1PaidES=RE Paid +LT2CustomerES=IRPF sales +LT2SupplierES=IRPF purchases +LT1CustomerES=RE sales +LT1SupplierES=RE purchases +VATCollected=VAT collected +ToPay=To pay +ToGet=To get back +SpecialExpensesArea=Area for all special payments +TaxAndDividendsArea=Tax, social contributions and dividends area +SocialContribution=Social contribution +SocialContributions=Social contributions +MenuSpecialExpenses=Special expenses +MenuTaxAndDividends=Taxes and dividends +MenuSalaries=Salaries +MenuSocialContributions=Social contributions +MenuNewSocialContribution=New contribution +NewSocialContribution=New social contribution +ContributionsToPay=Contributions to pay +AccountancyTreasuryArea=Accountancy/Treasury area +AccountancySetup=Accountancy setup +NewPayment=New payment +Payments=Payments +PaymentCustomerInvoice=Customer invoice payment +PaymentSupplierInvoice=Supplier invoice payment +PaymentSocialContribution=Social contribution payment +PaymentVat=VAT payment +PaymentSalary=Salary payment +ListPayment=List of payments +ListOfPayments=List of payments +ListOfCustomerPayments=List of customer payments +ListOfSupplierPayments=List of supplier payments +DatePayment=Payment date +DateStartPeriod=Date start period +DateEndPeriod=Date end period +NewVATPayment=New VAT payment +newLT2PaymentES=New IRPF payment +newLT1PaymentES=New RE payment +LT2PaymentES=IRPF Payment +LT2PaymentsES=IRPF Payments +LT1PaymentES=RE Payment +LT1PaymentsES=RE Payments +VATPayment=VAT Payment +VATPayments=VAT Payments +SocialContributionsPayments=Social contributions payments +ShowVatPayment=Show VAT payment +TotalToPay=Total to pay +TotalVATReceived=Total VAT received +CustomerAccountancyCode=Customer accountancy code +SupplierAccountancyCode=Supplier accountancy code +AccountNumberShort=Account number +AccountNumber=Account number +NewAccount=New account +SalesTurnover=Sales turnover +SalesTurnoverMinimum=Minimum sales turnover +ByThirdParties=By third parties +ByUserAuthorOfInvoice=By invoice author +AccountancyExport=Accountancy export +ErrorWrongAccountancyCodeForCompany=Bad customer accountancy code for %s +SuppliersProductsSellSalesTurnover=The generated turnover by the sales of supplier's products. +CheckReceipt=Check deposit +CheckReceiptShort=Check deposit +LastCheckReceiptShort=Last %s check receipts +NewCheckReceipt=New discount +NewCheckDeposit=New check deposit +NewCheckDepositOn=Create receipt for deposit on account: %s +NoWaitingChecks=No checks waiting for deposit. +DateChequeReceived=Check reception date +NbOfCheques=Nb of checks +PaySocialContribution=Pay a social contribution +ConfirmPaySocialContribution=Are you sure you want to classify this social contribution as paid? +DeleteSocialContribution=Delete a social contribution +ConfirmDeleteSocialContribution=Are you sure you want to delete this social contribution? +ExportDataset_tax_1=Social contributions and payments +CalcModeVATDebt=Mode %sVAT on commitment accounting%s. +CalcModeVATEngagement=Mode %sVAT on incomes-expenses%s. +CalcModeDebt=Mode %sClaims-Debts%s said Commitment accounting. +CalcModeEngagement=Mode %sIncomes-Expenses%s said cash accounting +CalcModeLT1= Mode %sRE on customer invoices - suppliers invoices%s +CalcModeLT1Debt=Mode %sRE on customer invoices%s +CalcModeLT1Rec= Mode %sRE on suppliers invoices%s +CalcModeLT2= Mode %sIRPF on customer invoices - suppliers invoices%s +CalcModeLT2Debt=Mode %sIRPF on customer invoices%s +CalcModeLT2Rec= Mode %sIRPF on suppliers invoices%s +AnnualSummaryDueDebtMode=Balance of income and expenses, annual summary +AnnualSummaryInputOutputMode=Balance of income and expenses, annual summary +AnnualByCompaniesDueDebtMode=Balance of income and expenses, detail by third parties, mode %sClaims-Debts%s said Commitment accounting. +AnnualByCompaniesInputOutputMode=Balance of income and expenses, detail by third parties, mode %sIncomes-Expenses%s said cash accounting. +SeeReportInInputOutputMode=See report %sIncomes-Expenses%s said cash accounting for a calculation on actual payments made +SeeReportInDueDebtMode=See report %sClaims-Debts%s said commitment accounting for a calculation on issued invoices +RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included +RulesResultDue=- It includes outstanding invoices, expenses and VAT whether they are paid or not.
- It is based on the validation date of invoices and VAT and on the due date for expenses. +RulesResultInOut=- It includes the real payments made on invoices, expenses and VAT.
- It is based on the payment dates of the invoices, expenses and VAT. +RulesCADue=- It includes the client's due invoices whether they are paid or not.
- It is based on the validation date of these invoices.
+RulesCAIn=- It includes all the effective payments of invoices received from clients.
- It is based on the payment date of these invoices
+DepositsAreNotIncluded=- Deposit invoices are nor included +DepositsAreIncluded=- Deposit invoices are included +LT2ReportByCustomersInInputOutputModeES=Report by third party IRPF +LT1ReportByCustomersInInputOutputModeES=Report by third party RE +VATReportByCustomersInInputOutputMode=Report by the customer VAT collected and paid +VATReportByCustomersInDueDebtMode=Report by the customer VAT collected and paid +VATReportByQuartersInInputOutputMode=Report by rate of the VAT collected and paid +LT1ReportByQuartersInInputOutputMode=Report by RE rate +LT2ReportByQuartersInInputOutputMode=Report by IRPF rate +VATReportByQuartersInDueDebtMode=Report by rate of the VAT collected and paid +LT1ReportByQuartersInDueDebtMode=Report by RE rate +LT2ReportByQuartersInDueDebtMode=Report by IRPF rate +SeeVATReportInInputOutputMode=See report %sVAT encasement%s for a standard calculation +SeeVATReportInDueDebtMode=See report %sVAT on flow%s for a calculation with an option on the flow +RulesVATInServices=- For services, the report includes the VAT regulations actually received or issued on the basis of the date of payment. +RulesVATInProducts=- For material assets, it includes the VAT invoices on the basis of the invoice date. +RulesVATDueServices=- For services, the report includes VAT invoices due, paid or not, based on the invoice date. +RulesVATDueProducts=- For material assets, it includes the VAT invoices, based on the invoice date. +OptionVatInfoModuleComptabilite=Note: For material assets, it should use the date of delivery to be more fair. +PercentOfInvoice=%%/invoice +NotUsedForGoods=Not used on goods +ProposalStats=Statistics on proposals +OrderStats=Statistics on orders +InvoiceStats=Statistics on bills +Dispatch=Dispatching +Dispatched=Dispatched +ToDispatch=To dispatch +ThirdPartyMustBeEditAsCustomer=Third party must be defined as a customer +SellsJournal=Sales Journal +PurchasesJournal=Purchases Journal +DescSellsJournal=Sales Journal +DescPurchasesJournal=Purchases Journal +InvoiceRef=Invoice ref. +CodeNotDef=Not defined +AddRemind=Dispatch available amount +RemainToDivide= Remain to dispatch : +WarningDepositsNotIncluded=Deposits invoices are not included in this version with this accountancy module. +DatePaymentTermCantBeLowerThanObjectDate=Payment term date can't be lower than object date. +Pcg_version=Pcg version +Pcg_type=Pcg type +Pcg_subtype=Pcg subtype +InvoiceLinesToDispatch=Invoice lines to dispatch +InvoiceDispatched=Dispatched invoices +AccountancyDashboard=Accountancy summary +ByProductsAndServices=By products and services +RefExt=External ref +ToCreateAPredefinedInvoice=To create a predefined invoice, create a standard invoice then, without validating it, click onto button "Convert to predefined invoice". +LinkedOrder=Link to order +ReCalculate=Recalculate +Mode1=Method 1 +Mode2=Method 2 +CalculationRuleDesc=To calculate total VAT, there is two methods:
Method 1 is rounding vat on each line, then summing them.
Method 2 is summing all vat on each line, then rounding result.
Final result may differs from few cents. Default mode is mode %s. +CalculationRuleDescSupplier=according to supplier, choose appropriate method to apply same calculation rule and get same result expected by your supplier. +TurnoverPerProductInCommitmentAccountingNotRelevant=Turnover report per product, when using a cash accountancy mode is not relevant. This report is only available when using engagement accountancy mode (see setup of accountancy module). +CalculationMode=Calculation mode +AccountancyJournal=Accountancy code journal +ACCOUNTING_VAT_ACCOUNT=Default accountancy code for collecting VAT +ACCOUNTING_VAT_BUY_ACCOUNT=Default accountancy code for paying VAT +ACCOUNTING_ACCOUNT_CUSTOMER=Accountancy code by default for customer thirdparties +ACCOUNTING_ACCOUNT_SUPPLIER=Accountancy code by default for supplier thirdparties +CloneTax=Clone a social contribution +ConfirmCloneTax=Confirm the clone of a social contribution +CloneTaxForNextMonth=Clone it for next month diff --git a/htdocs/langs/ka_GE/contracts.lang b/htdocs/langs/ka_GE/contracts.lang new file mode 100644 index 00000000000..57ba3bb15d8 --- /dev/null +++ b/htdocs/langs/ka_GE/contracts.lang @@ -0,0 +1,102 @@ +# Dolibarr language file - Source file is en_US - contracts +ContractsArea=Contracts area +ListOfContracts=List of contracts +LastModifiedContracts=Last %s modified contracts +AllContracts=All contracts +ContractCard=Contract card +ContractStatus=Contract status +ContractStatusNotRunning=Not running +ContractStatusRunning=Running +ContractStatusDraft=Draft +ContractStatusValidated=Validated +ContractStatusClosed=Closed +ServiceStatusInitial=Not running +ServiceStatusRunning=Running +ServiceStatusNotLate=Running, not expired +ServiceStatusNotLateShort=Not expired +ServiceStatusLate=Running, expired +ServiceStatusLateShort=Expired +ServiceStatusClosed=Closed +ServicesLegend=Services legend +Contracts=Contracts +Contract=Contract +NoContracts=No contracts +MenuServices=Services +MenuInactiveServices=Services not active +MenuRunningServices=Running services +MenuExpiredServices=Expired services +MenuClosedServices=Closed services +NewContract=New contract +AddContract=Create contract +SearchAContract=Search a contract +DeleteAContract=Delete a contract +CloseAContract=Close a contract +ConfirmDeleteAContract=Are you sure you want to delete this contract and all its services ? +ConfirmValidateContract=Are you sure you want to validate this contract under name %s ? +ConfirmCloseContract=This will close all services (active or not). Are you sure you want to close this contract ? +ConfirmCloseService=Are you sure you want to close this service with date %s ? +ValidateAContract=Validate a contract +ActivateService=Activate service +ConfirmActivateService=Are you sure you want to activate this service with date %s ? +RefContract=Contract reference +DateContract=Contract date +DateServiceActivate=Service activation date +DateServiceUnactivate=Service deactivation date +DateServiceStart=Date for beginning of service +DateServiceEnd=Date for end of service +ShowContract=Show contract +ListOfServices=List of services +ListOfInactiveServices=List of not active services +ListOfExpiredServices=List of expired active services +ListOfClosedServices=List of closed services +ListOfRunningContractsLines=List of running contract lines +ListOfRunningServices=List of running services +NotActivatedServices=Inactive services (among validated contracts) +BoardNotActivatedServices=Services to activate among validated contracts +LastContracts=Last %s contracts +LastActivatedServices=Last %s activated services +LastModifiedServices=Last %s modified services +EditServiceLine=Edit service line +ContractStartDate=Start date +ContractEndDate=End date +DateStartPlanned=Planned start date +DateStartPlannedShort=Planned start date +DateEndPlanned=Planned end date +DateEndPlannedShort=Planned end date +DateStartReal=Real start date +DateStartRealShort=Real start date +DateEndReal=Real end date +DateEndRealShort=Real end date +NbOfServices=Nb of services +CloseService=Close service +ServicesNomberShort=%s service(s) +RunningServices=Running services +BoardRunningServices=Expired running services +ServiceStatus=Status of service +DraftContracts=Drafts contracts +CloseRefusedBecauseOneServiceActive=Contract can't be closed as ther is at least one open service on it +CloseAllContracts=Close all contract lines +DeleteContractLine=Delete a contract line +ConfirmDeleteContractLine=Are you sure you want to delete this contract line ? +MoveToAnotherContract=Move service into another contract. +ConfirmMoveToAnotherContract=I choosed new target contract and confirm I want to move this service into this contract. +ConfirmMoveToAnotherContractQuestion=Choose in which existing contract (of same third party), you want to move this service to ? +PaymentRenewContractId=Renew contract line (number %s) +ExpiredSince=Expiration date +RelatedContracts=Related contracts +NoExpiredServices=No expired active services +ListOfServicesToExpireWithDuration=List of Services to expire in %s days +ListOfServicesToExpireWithDurationNeg=List of Services expired from more than %s days +ListOfServicesToExpire=List of Services to expire +NoteListOfYourExpiredServices=This list contains only services of contracts for third parties you are linked to as a sale representative. +StandardContractsTemplate=Standard contracts template +ContactNameAndSignature=For %s, name and signature: +OnlyLinesWithTypeServiceAreUsed=Only lines with type "Service" will be cloned. + +##### Types de contacts ##### +TypeContact_contrat_internal_SALESREPSIGN=Sales representative signing contract +TypeContact_contrat_internal_SALESREPFOLL=Sales representative following-up contract +TypeContact_contrat_external_BILLING=Billing customer contact +TypeContact_contrat_external_CUSTOMER=Follow-up customer contact +TypeContact_contrat_external_SALESREPSIGN=Signing contract customer contact +Error_CONTRACT_ADDON_NotDefined=Constant CONTRACT_ADDON not defined diff --git a/htdocs/langs/ka_GE/cron.lang b/htdocs/langs/ka_GE/cron.lang new file mode 100644 index 00000000000..82f4574b223 --- /dev/null +++ b/htdocs/langs/ka_GE/cron.lang @@ -0,0 +1,86 @@ +# Dolibarr language file - Source file is en_US - cron +# About page +About = About +CronAbout = About Cron +CronAboutPage = Cron about page +# Right +Permission23101 = Read Scheduled task +Permission23102 = Create/update Scheduled task +Permission23103 = Delete Scheduled task +Permission23104 = Execute Scheduled task +# Admin +CronSetup= Scheduled job management setup +URLToLaunchCronJobs=URL to check and launch cron jobs if required +OrToLaunchASpecificJob=Or to check and launch a specific job +KeyForCronAccess=Security key for URL to launch cron jobs +FileToLaunchCronJobs=Command line to launch cron jobs +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes +# Menu +CronJobs=Scheduled jobs +CronListActive=List of active/scheduled jobs +CronListInactive=List of disabled jobs +# Page list +CronDateLastRun=Last run +CronLastOutput=Last run output +CronLastResult=Last result code +CronListOfCronJobs=List of scheduled jobs +CronCommand=Command +CronList=Jobs list +CronDelete= Delete cron jobs +CronConfirmDelete= Are you sure you want to delete this cron job ? +CronExecute=Launch job +CronConfirmExecute= Are you sure to execute this job now +CronInfo= Jobs allow to execute task that have been planned +CronWaitingJobs=Wainting jobs +CronTask=Job +CronNone= None +CronDtStart=Start date +CronDtEnd=End date +CronDtNextLaunch=Next execution +CronDtLastLaunch=Last execution +CronFrequency=Frequancy +CronClass=Classe +CronMethod=Method +CronModule=Module +CronAction=Action +CronStatus=Status +CronStatusActive=Enabled +CronStatusInactive=Disabled +CronNoJobs=No jobs registered +CronPriority=Priority +CronLabel=Description +CronNbRun=Nb. launch +CronEach=Every +JobFinished=Job launched and finished +#Page card +CronAdd= Add jobs +CronHourStart= Start Hour and date of task +CronEvery= And execute task each +CronObject= Instance/Object to create +CronArgs=Parameters +CronSaveSucess=Save succesfully +CronNote=Comment +CronFieldMandatory=Fields %s is mandatory +CronErrEndDateStartDt=End date cannot be before start date +CronStatusActiveBtn=Enable +CronStatusInactiveBtn=Disable +CronTaskInactive=This job is disabled +CronDtLastResult=Last result date +CronId=Id +CronClassFile=Classes (filename.class.php) +CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of module is product +CronClassFileHelp=The file name to load.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of class file name is product.class.php +CronObjectHelp=The object name to load.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of class file name is Product +CronMethodHelp=The object method to launch.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of method is is fecth +CronArgsHelp=The method arguments.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of paramters can be 0, ProductRef +CronCommandHelp=The system command line to execute. +# Info +CronInfoPage=Information +# Common +CronType=Task type +CronType_method=Call method of a Dolibarr Class +CronType_command=Shell command +CronMenu=Cron +CronCannotLoadClass=Cannot load class %s or object %s +UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. diff --git a/htdocs/langs/ka_GE/deliveries.lang b/htdocs/langs/ka_GE/deliveries.lang new file mode 100644 index 00000000000..d711c3704b4 --- /dev/null +++ b/htdocs/langs/ka_GE/deliveries.lang @@ -0,0 +1,28 @@ +# Dolibarr language file - Source file is en_US - deliveries +Delivery=Delivery +Deliveries=Deliveries +DeliveryCard=Delivery card +DeliveryOrder=Delivery order +DeliveryOrders=Delivery orders +DeliveryDate=Delivery date +DeliveryDateShort=Deliv. date +CreateDeliveryOrder=Generate delivery order +QtyDelivered=Qty delivered +SetDeliveryDate=Set shipping date +ValidateDeliveryReceipt=Validate delivery receipt +ValidateDeliveryReceiptConfirm=Are you sure you want to validate this delivery receipt ? +DeleteDeliveryReceipt=Delete delivery receipt +DeleteDeliveryReceiptConfirm=Are you sure you want to delete delivery receipt %s ? +DeliveryMethod=Delivery method +TrackingNumber=Tracking number +DeliveryNotValidated=Delivery not validated +# merou PDF model +NameAndSignature=Name and Signature : +ToAndDate=To___________________________________ on ____/_____/__________ +GoodStatusDeclaration=Have received the goods above in good condition, +Deliverer=Deliverer : +Sender=Sender +Recipient=Recipient +ErrorStockIsNotEnough=There's not enough stock +Shippable=Shippable +NonShippable=Not Shippable diff --git a/htdocs/langs/ka_GE/dict.lang b/htdocs/langs/ka_GE/dict.lang new file mode 100644 index 00000000000..bef1f4821b4 --- /dev/null +++ b/htdocs/langs/ka_GE/dict.lang @@ -0,0 +1,327 @@ +# Dolibarr language file - Source file is en_US - dict +CountryFR=France +CountryBE=Belgium +CountryIT=Italy +CountryES=Spain +CountryDE=Germany +CountryCH=Switzerland +CountryGB=Great Britain +CountryUK=United Kingdom +CountryIE=Ireland +CountryCN=China +CountryTN=Tunisia +CountryUS=United States +CountryMA=Morocco +CountryDZ=Algeria +CountryCA=Canada +CountryTG=Togo +CountryGA=Gabon +CountryNL=Netherlands +CountryHU=Hungary +CountryRU=Russia +CountrySE=Sweden +CountryCI=Ivoiry Coast +CountrySN=Senegal +CountryAR=Argentina +CountryCM=Cameroon +CountryPT=Portugal +CountrySA=Saudi Arabia +CountryMC=Monaco +CountryAU=Australia +CountrySG=Singapore +CountryAF=Afghanistan +CountryAX=Åland Islands +CountryAL=Albania +CountryAS=American Samoa +CountryAD=Andorra +CountryAO=Angola +CountryAI=Anguilla +CountryAQ=Antarctica +CountryAG=Antigua and Barbuda +CountryAM=Armenia +CountryAW=Aruba +CountryAT=Austria +CountryAZ=Azerbaijan +CountryBS=Bahamas +CountryBH=Bahrain +CountryBD=Bangladesh +CountryBB=Barbados +CountryBY=Belarus +CountryBZ=Belize +CountryBJ=Benin +CountryBM=Bermuda +CountryBT=Bhutan +CountryBO=Bolivia +CountryBA=Bosnia and Herzegovina +CountryBW=Botswana +CountryBV=Bouvet Island +CountryBR=Brazil +CountryIO=British Indian Ocean Territory +CountryBN=Brunei Darussalam +CountryBG=Bulgaria +CountryBF=Burkina Faso +CountryBI=Burundi +CountryKH=Cambodia +CountryCV=Cape Verde +CountryKY=Cayman Islands +CountryCF=Central African Republic +CountryTD=Chad +CountryCL=Chile +CountryCX=Christmas Island +CountryCC=Cocos (Keeling) Islands +CountryCO=Colombia +CountryKM=Comoros +CountryCG=Congo +CountryCD=Congo, The Democratic Republic of the +CountryCK=Cook Islands +CountryCR=Costa Rica +CountryHR=Croatia +CountryCU=Cuba +CountryCY=Cyprus +CountryCZ=Czech Republic +CountryDK=Denmark +CountryDJ=Djibouti +CountryDM=Dominica +CountryDO=Dominican Republic +CountryEC=Ecuador +CountryEG=Egypt +CountrySV=El Salvador +CountryGQ=Equatorial Guinea +CountryER=Eritrea +CountryEE=Estonia +CountryET=Ethiopia +CountryFK=Falkland Islands +CountryFO=Faroe Islands +CountryFJ=Fiji Islands +CountryFI=Finland +CountryGF=French Guiana +CountryPF=French Polynesia +CountryTF=French Southern Territories +CountryGM=Gambia +CountryGE=Georgia +CountryGH=Ghana +CountryGI=Gibraltar +CountryGR=Greece +CountryGL=Greenland +CountryGD=Grenada +CountryGP=Guadeloupe +CountryGU=Guam +CountryGT=Guatemala +CountryGN=Guinea +CountryGW=Guinea-Bissau +CountryGY=Guyana +CountryHT=Haïti +CountryHM=Heard Island and McDonald +CountryVA=Holy See (Vatican City State) +CountryHN=Honduras +CountryHK=Hong Kong +CountryIS=Icelande +CountryIN=India +CountryID=Indonesia +CountryIR=Iran +CountryIQ=Iraq +CountryIL=Israel +CountryJM=Jamaica +CountryJP=Japan +CountryJO=Jordan +CountryKZ=Kazakhstan +CountryKE=Kenya +CountryKI=Kiribati +CountryKP=North Korea +CountryKR=South Korea +CountryKW=Kuwait +CountryKG=Kyrghyztan +CountryLA=Lao +CountryLV=Latvia +CountryLB=Lebanon +CountryLS=Lesotho +CountryLR=Liberia +CountryLY=Libyan +CountryLI=Liechtenstein +CountryLT=Lituania +CountryLU=Luxembourg +CountryMO=Macao +CountryMK=Macedonia, the former Yugoslav of +CountryMG=Madagascar +CountryMW=Malawi +CountryMY=Malaysia +CountryMV=Maldives +CountryML=Mali +CountryMT=Malta +CountryMH=Marshall Islands +CountryMQ=Martinique +CountryMR=Mauritania +CountryMU=Mauritius +CountryYT=Mayotte +CountryMX=Mexico +CountryFM=Micronesia +CountryMD=Moldova +CountryMN=Mongolia +CountryMS=Monserrat +CountryMZ=Mozambique +CountryMM=Birmania (Myanmar) +CountryNA=Namibia +CountryNR=Nauru +CountryNP=Nepal +CountryAN=Netherlands Antilles +CountryNC=New Caledonia +CountryNZ=New Zealand +CountryNI=Nicaragua +CountryNE=Niger +CountryNG=Nigeria +CountryNU=Niue +CountryNF=Norfolk Island +CountryMP=Northern Mariana Islands +CountryNO=Norway +CountryOM=Oman +CountryPK=Pakistan +CountryPW=Palau +CountryPS=Palestinian Territory, Occupied +CountryPA=Panama +CountryPG=Papua New Guinea +CountryPY=Paraguay +CountryPE=Peru +CountryPH=Philippines +CountryPN=Pitcairn Islands +CountryPL=Poland +CountryPR=Puerto Rico +CountryQA=Qatar +CountryRE=Reunion +CountryRO=Romania +CountryRW=Rwanda +CountrySH=Saint Helena +CountryKN=Saint Kitts and Nevis +CountryLC=Saint Lucia +CountryPM=Saint Pierre and Miquelon +CountryVC=Saint Vincent and Grenadines +CountryWS=Samoa +CountrySM=San Marino +CountryST=Sao Tome and Principe +CountryRS=Serbia +CountrySC=Seychelles +CountrySL=Sierra Leone +CountrySK=Slovakia +CountrySI=Slovenia +CountrySB=Solomon Islands +CountrySO=Somalia +CountryZA=South Africa +CountryGS=South Georgia and the South Sandwich Islands +CountryLK=Sri Lanka +CountrySD=Sudan +CountrySR=Suriname +CountrySJ=Svalbard and Jan Mayen +CountrySZ=Swaziland +CountrySY=Syrian +CountryTW=Taiwan +CountryTJ=Tajikistan +CountryTZ=Tanzania +CountryTH=Thailand +CountryTL=Timor-Leste +CountryTK=Tokelau +CountryTO=Tonga +CountryTT=Trinidad and Tobago +CountryTR=Turkey +CountryTM=Turkmenistan +CountryTC=Turks and Cailos Islands +CountryTV=Tuvalu +CountryUG=Uganda +CountryUA=Ukraine +CountryAE=United Arab Emirates +CountryUM=United States Minor Outlying Islands +CountryUY=Uruguay +CountryUZ=Uzbekistan +CountryVU=Vanuatu +CountryVE=Venezuela +CountryVN=Viet Nam +CountryVG=Virgin Islands, British +CountryVI=Virgin Islands, U.S. +CountryWF=Wallis and Futuna +CountryEH=Western Sahara +CountryYE=Yemen +CountryZM=Zambia +CountryZW=Zimbabwe +CountryGG=Guernsey +CountryIM=Isle of Man +CountryJE=Jersey +CountryME=Montenegro +CountryBL=Saint Barthelemy +CountryMF=Saint Martin + +##### Civilities ##### +CivilityMME=Mrs. +CivilityMR=Mr. +CivilityMLE=Ms. +CivilityMTRE=Master +CivilityDR=Doctor +##### Currencies ##### +Currencyeuros=Euros +CurrencyAUD=AU Dollars +CurrencySingAUD=AU Dollar +CurrencyCAD=CAN Dollars +CurrencySingCAD=CAN Dollar +CurrencyCHF=Swiss Francs +CurrencySingCHF=Swiss Franc +CurrencyEUR=Euros +CurrencySingEUR=Euro +CurrencyFRF=French Francs +CurrencySingFRF=French Franc +CurrencyGBP=GB Pounds +CurrencySingGBP=GB Pound +CurrencyINR=Indian rupees +CurrencySingINR=Indian rupee +CurrencyMAD=Dirham +CurrencySingMAD=Dirham +CurrencyMGA=Ariary +CurrencySingMGA=Ariary +CurrencyMUR=Mauritius rupees +CurrencySingMUR=Mauritius rupee +CurrencyNOK=Norwegian krones +CurrencySingNOK=Norwegian krone +CurrencyTND=Tunisian dinars +CurrencySingTND=Tunisian dinar +CurrencyUSD=US Dollars +CurrencySingUSD=US Dollar +CurrencyUAH=Hryvnia +CurrencySingUAH=Hryvnia +CurrencyXAF=CFA Francs BEAC +CurrencySingXAF=CFA Franc BEAC +CurrencyXOF=CFA Francs BCEAO +CurrencySingXOF=CFA Franc BCEAO +CurrencyXPF=CFP Francs +CurrencySingXPF=CFP Franc +CurrencyCentSingEUR=cent +CurrencyCentINR=paisa +CurrencyCentSingINR=paise +CurrencyThousandthSingTND=thousandth +#### Input reasons ##### +DemandReasonTypeSRC_INTE=Internet +DemandReasonTypeSRC_CAMP_MAIL=Mailing campaign +DemandReasonTypeSRC_CAMP_EMAIL=EMailing campaign +DemandReasonTypeSRC_CAMP_PHO=Phone campaign +DemandReasonTypeSRC_CAMP_FAX=Fax campaign +DemandReasonTypeSRC_COMM=Commercial contact +DemandReasonTypeSRC_SHOP=Shop contact +DemandReasonTypeSRC_WOM=Word of mouth +DemandReasonTypeSRC_PARTNER=Partner +DemandReasonTypeSRC_EMPLOYEE=Employee +DemandReasonTypeSRC_SPONSORING=Sponsorship +#### Paper formats #### +PaperFormatEU4A0=Format 4A0 +PaperFormatEU2A0=Format 2A0 +PaperFormatEUA0=Format A0 +PaperFormatEUA1=Format A1 +PaperFormatEUA2=Format A2 +PaperFormatEUA3=Format A3 +PaperFormatEUA4=Format A4 +PaperFormatEUA5=Format A5 +PaperFormatEUA6=Format A6 +PaperFormatUSLETTER=Format Letter US +PaperFormatUSLEGAL=Format Legal US +PaperFormatUSEXECUTIVE=Format Executive US +PaperFormatUSLEDGER=Format Ledger/Tabloid +PaperFormatCAP1=Format P1 Canada +PaperFormatCAP2=Format P2 Canada +PaperFormatCAP3=Format P3 Canada +PaperFormatCAP4=Format P4 Canada +PaperFormatCAP5=Format P5 Canada +PaperFormatCAP6=Format P6 Canada diff --git a/htdocs/langs/ka_GE/donations.lang b/htdocs/langs/ka_GE/donations.lang new file mode 100644 index 00000000000..f7aed91cf81 --- /dev/null +++ b/htdocs/langs/ka_GE/donations.lang @@ -0,0 +1,38 @@ +# Dolibarr language file - Source file is en_US - donations +Donation=Donation +Donations=Donations +DonationRef=Donation ref. +Donor=Donor +Donors=Donors +AddDonation=Create a donation +NewDonation=New donation +ShowDonation=Show donation +DonationPromise=Gift promise +PromisesNotValid=Not validated promises +PromisesValid=Validated promises +DonationsPaid=Donations paid +DonationsReceived=Donations received +PublicDonation=Public donation +DonationsNumber=Donation number +DonationsArea=Donations area +DonationStatusPromiseNotValidated=Draft promise +DonationStatusPromiseValidated=Validated promise +DonationStatusPaid=Donation received +DonationStatusPromiseNotValidatedShort=Draft +DonationStatusPromiseValidatedShort=Validated +DonationStatusPaidShort=Received +ValidPromess=Validate promise +DonationReceipt=Donation receipt +BuildDonationReceipt=Build receipt +DonationsModels=Documents models for donation receipts +LastModifiedDonations=Last %s modified donations +SearchADonation=Search a donation +DonationRecipient=Donation recipient +ThankYou=Thank You +IConfirmDonationReception=The recipient declare reception, as a donation, of the following amount +MinimumAmount=Minimum amount is %s +FreeTextOnDonations=Free text to show in footer +FrenchOptions=Options for France +DONATION_ART200=Show article 200 from CGI if you are concerned +DONATION_ART238=Show article 238 from CGI if you are concerned +DONATION_ART885=Show article 885 from CGI if you are concerned diff --git a/htdocs/langs/ka_GE/ecm.lang b/htdocs/langs/ka_GE/ecm.lang new file mode 100644 index 00000000000..4a1931a3217 --- /dev/null +++ b/htdocs/langs/ka_GE/ecm.lang @@ -0,0 +1,57 @@ +# Dolibarr language file - Source file is en_US - ecm +MenuECM=Documents +DocsMine=My documents +DocsGenerated=Generated documents +DocsElements=Elements documents +DocsThirdParties=Documents third parties +DocsContracts=Documents contracts +DocsProposals=Documents proposals +DocsOrders=Documents orders +DocsInvoices=Documents invoices +ECMNbOfDocs=Nb of documents in directory +ECMNbOfDocsSmall=Nb of doc. +ECMSection=Directory +ECMSectionManual=Manual directory +ECMSectionAuto=Automatic directory +ECMSectionsManual=Manual tree +ECMSectionsAuto=Automatic tree +ECMSections=Directories +ECMRoot=Root +ECMNewSection=New directory +ECMAddSection=Add directory +ECMNewDocument=New document +ECMCreationDate=Creation date +ECMNbOfFilesInDir=Number of files in directory +ECMNbOfSubDir=Number of sub-directories +ECMNbOfFilesInSubDir=Number of files in sub-directories +ECMCreationUser=Creator +ECMArea=EDM area +ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. +ECMAreaDesc2=* Automatic directories are filled automatically when adding documents from card of an element.
* Manual directories can be used to save documents not linked to a particular element. +ECMSectionWasRemoved=Directory %s has been deleted. +ECMDocumentsSection=Document of directory +ECMSearchByKeywords=Search by keywords +ECMSearchByEntity=Search by object +ECMSectionOfDocuments=Directories of documents +ECMTypeManual=Manual +ECMTypeAuto=Automatic +ECMDocsBySocialContributions=Documents linked to social contributions +ECMDocsByThirdParties=Documents linked to third parties +ECMDocsByProposals=Documents linked to proposals +ECMDocsByOrders=Documents linked to customers orders +ECMDocsByContracts=Documents linked to contracts +ECMDocsByInvoices=Documents linked to customers invoices +ECMDocsByProducts=Documents linked to products +ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions +ECMNoDirectoryYet=No directory created +ShowECMSection=Show directory +DeleteSection=Remove directory +ConfirmDeleteSection=Can you confirm you want to delete the directory %s ? +ECMDirectoryForFiles=Relative directory for files +CannotRemoveDirectoryContainsFiles=Removed not possible because it contains some files +ECMFileManager=File manager +ECMSelectASection=Select a directory on left tree... +DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. + diff --git a/htdocs/langs/ka_GE/errors.lang b/htdocs/langs/ka_GE/errors.lang new file mode 100644 index 00000000000..497ddd814e4 --- /dev/null +++ b/htdocs/langs/ka_GE/errors.lang @@ -0,0 +1,182 @@ +# Dolibarr language file - Source file is en_US - errors + +# No errors +NoErrorCommitIsDone=No error, we commit +# Errors +Error=Error +Errors=Errors +ErrorButCommitIsDone=Errors found but we validate despite this +ErrorBadEMail=EMail %s is wrong +ErrorBadUrl=Url %s is wrong +ErrorLoginAlreadyExists=Login %s already exists. +ErrorGroupAlreadyExists=Group %s already exists. +ErrorRecordNotFound=Record not found. +ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. +ErrorFailToRenameFile=Failed to rename file '%s' into '%s'. +ErrorFailToDeleteFile=Failed to remove file '%s'. +ErrorFailToCreateFile=Failed to create file '%s'. +ErrorFailToRenameDir=Failed to rename directory '%s' into '%s'. +ErrorFailToCreateDir=Failed to create directory '%s'. +ErrorFailToDeleteDir=Failed to delete directory '%s'. +ErrorFailedToDeleteJoinedFiles=Can not delete environment because there is some joined files. Remove join files first. +ErrorThisContactIsAlreadyDefinedAsThisType=This contact is already defined as contact for this type. +ErrorCashAccountAcceptsOnlyCashMoney=This bank account is a cash account, so it accepts payments of type cash only. +ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be different. +ErrorBadThirdPartyName=Bad value for third party name +ErrorProdIdIsMandatory=The %s is mandatory +ErrorBadCustomerCodeSyntax=Bad syntax for customer code +ErrorBadBarCodeSyntax=Bad syntax for bar code +ErrorCustomerCodeRequired=Customer code required +ErrorBarCodeRequired=Bar code required +ErrorCustomerCodeAlreadyUsed=Customer code already used +ErrorBarCodeAlreadyUsed=Bar code already used +ErrorPrefixRequired=Prefix required +ErrorUrlNotValid=The website address is incorrect +ErrorBadSupplierCodeSyntax=Bad syntax for supplier code +ErrorSupplierCodeRequired=Supplier code required +ErrorSupplierCodeAlreadyUsed=Supplier code already used +ErrorBadParameters=Bad parameters +ErrorBadValueForParameter=Wrong value '%s' for parameter incorrect '%s' +ErrorBadImageFormat=Image file has not a supported format (Your PHP does not support functions to convert images of this format) +ErrorBadDateFormat=Value '%s' has wrong date format +ErrorWrongDate=Date is not correct! +ErrorFailedToWriteInDir=Failed to write in directory %s +ErrorFoundBadEmailInFile=Found incorrect email syntax for %s lines in file (example line %s with email=%s) +ErrorUserCannotBeDelete=User can not be deleted. May be it is associated on Dolibarr entities. +ErrorFieldsRequired=Some required fields were not filled. +ErrorFailedToCreateDir=Failed to create a directory. Check that Web server user has permissions to write into Dolibarr documents directory. If parameter safe_mode is enabled on this PHP, check that Dolibarr php files owns to web server user (or group). +ErrorNoMailDefinedForThisUser=No mail defined for this user +ErrorFeatureNeedJavascript=This feature need javascript to be activated to work. Change this in setup - display. +ErrorTopMenuMustHaveAParentWithId0=A menu of type 'Top' can't have a parent menu. Put 0 in parent menu or choose a menu of type 'Left'. +ErrorLeftMenuMustHaveAParentId=A menu of type 'Left' must have a parent id. +ErrorFileNotFound=File %s not found (Bad path, wrong permissions or access denied by PHP openbasedir or safe_mode parameter) +ErrorDirNotFound=Directory %s not found (Bad path, wrong permissions or access denied by PHP openbasedir or safe_mode parameter) +ErrorFunctionNotAvailableInPHP=Function %s is required for this feature but is not available in this version/setup of PHP. +ErrorDirAlreadyExists=A directory with this name already exists. +ErrorFileAlreadyExists=A file with this name already exists. +ErrorPartialFile=File not received completely by server. +ErrorNoTmpDir=Temporary directy %s does not exists. +ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. +ErrorFileSizeTooLarge=File size is too large. +ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) +ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) +ErrorNoValueForSelectType=Please fill value for select list +ErrorNoValueForCheckBoxType=Please fill value for checkbox list +ErrorNoValueForRadioType=Please fill value for radio list +ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores +ErrorFieldCanNotContainSpecialCharacters=Field %s must not contains special characters. +ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. +ErrorNoAccountancyModuleLoaded=No accountancy module activated +ErrorExportDuplicateProfil=This profile name already exists for this export set. +ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete. +ErrorLDAPMakeManualTest=A .ldif file has been generated in directory %s. Try to load it manually from command line to have more information on errors. +ErrorCantSaveADoneUserWithZeroPercentage=Can't save an action with "statut not started" if field "done by" is also filled. +ErrorRefAlreadyExists=Ref used for creation already exists. +ErrorPleaseTypeBankTransactionReportName=Please type bank receipt name where transaction is reported (Format YYYYMM or YYYYMMDD) +ErrorRecordHasChildren=Failed to delete records since it has some childs. +ErrorRecordIsUsedCantDelete=Can't delete record. It is already used or included into other object. +ErrorModuleRequireJavascript=Javascript must not be disabled to have this feature working. To enable/disable Javascript, go to menu Home->Setup->Display. +ErrorPasswordsMustMatch=Both typed passwords must match each other +ErrorContactEMail=A technical error occured. Please, contact administrator to following email %s en provide the error code %s in your message, or even better by adding a screen copy of this page. +ErrorWrongValueForField=Wrong value for field number %s (value '%s' does not match regex rule %s) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s) +ErrorFieldRefNotIn=Wrong value for field number %s (value '%s' is not a %s existing ref) +ErrorsOnXLines=Errors on %s source record(s) +ErrorFileIsInfectedWithAVirus=The antivirus program was not able to validate the file (file might be infected by a virus) +ErrorSpecialCharNotAllowedForField=Special characters are not allowed for field "%s" +ErrorDatabaseParameterWrong=Database setup parameter '%s' has a value not compatible to use Dolibarr (must have value '%s'). +ErrorNumRefModel=A reference exists into database (%s) and is not compatible with this numbering rule. Remove record or renamed reference to activate this module. +ErrorQtyTooLowForThisSupplier=Quantity too low for this supplier or no price defined on this product for this supplier +ErrorModuleSetupNotComplete=Setup of module looks to be uncomplete. Go on Setup - Modules to complete. +ErrorBadMask=Error on mask +ErrorBadMaskFailedToLocatePosOfSequence=Error, mask without sequence number +ErrorBadMaskBadRazMonth=Error, bad reset value +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits +ErrorSelectAtLeastOne=Error. Select at least one entry. +ErrorProductWithRefNotExist=Product with reference '%s' don't exist +ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transation that is conciliated +ErrorProdIdAlreadyExist=%s is assigned to another third +ErrorFailedToSendPassword=Failed to send password +ErrorFailedToLoadRSSFile=Fails to get RSS feed. Try to add constant MAIN_SIMPLEXMLLOAD_DEBUG if error messages does not provide enough information. +ErrorPasswordDiffers=Passwords differs, please type them again. +ErrorForbidden=Access denied.
You try to access to a page, area or feature without being in an authenticated session or that is not allowed to your user. +ErrorForbidden2=Permission for this login can be defined by your Dolibarr administrator from menu %s->%s. +ErrorForbidden3=It seems that Dolibarr is not used through an authenticated session. Take a look at Dolibarr setup documentation to know how to manage authentications (htaccess, mod_auth or other...). +ErrorNoImagickReadimage=Class Imagick is not found in this PHP. No preview can be available. Administrators can disable this tab from menu Setup - Display. +ErrorRecordAlreadyExists=Record already exists +ErrorCantReadFile=Failed to read file '%s' +ErrorCantReadDir=Failed to read directory '%s' +ErrorFailedToFindEntity=Failed to read environment '%s' +ErrorBadLoginPassword=Bad value for login or password +ErrorLoginDisabled=Your account has been disabled +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToChangePassword=Failed to change password +ErrorLoginDoesNotExists=User with login %s could not be found. +ErrorLoginHasNoEmail=This user has no email address. Process aborted. +ErrorBadValueForCode=Bad value for security code. Try again with new value... +ErrorBothFieldCantBeNegative=Fields %s and %s can't be both negative +ErrorQtyForCustomerInvoiceCantBeNegative=Quantity for line into customer invoices can't be negative +ErrorWebServerUserHasNotPermission=User account %s used to execute web server has no permission for that +ErrorNoActivatedBarcode=No barcode type activated +ErrUnzipFails=Failed to unzip %s with ZipArchive +ErrNoZipEngine=No engine to unzip %s file in this PHP +ErrorFileMustBeADolibarrPackage=The file %s must be a Dolibarr zip package +ErrorFileRequired=It takes a package Dolibarr file +ErrorPhpCurlNotInstalled=The PHP CURL is not installed, this is essential to talk with Paypal +ErrorFailedToAddToMailmanList=Failed to add record %s to Mailman list %s or SPIP base +ErrorFailedToRemoveToMailmanList=Failed to remove record %s to Mailman list %s or SPIP base +ErrorNewValueCantMatchOldValue=New value can't be equal to old one +ErrorFailedToValidatePasswordReset=Failed to reinit password. May be the reinit was already done (this link can be used only one time). If not, try to restart the reinit process. +ErrorToConnectToMysqlCheckInstance=Connect to database fails. Check Mysql server is running (in most cases, you can launch it from command line with 'sudo /etc/init.d/mysql start'). +ErrorFailedToAddContact=Failed to add contact +ErrorDateMustBeBeforeToday=The date can not be greater than today +ErrorPaymentModeDefinedToWithoutSetup=A payment mode was set to type %s but setup of module Invoice was not completed to define information to show for this payment mode. +ErrorPHPNeedModule=Error, your PHP must have module %s installed to use this feature. +ErrorOpenIDSetupNotComplete=You setup Dolibarr config file to allow OpenID authentication, but URL of OpenID service is not defined into constant %s +ErrorWarehouseMustDiffers=Source and target warehouses must differs +ErrorBadFormat=Bad format! +ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Error, this member is not yet linked to any thirdparty. Link member to an existing third party or create a new thirdparty before creating subscription with invoice. +ErrorThereIsSomeDeliveries=Error, there is some deliveries linked to this shipment. Deletion refused. +ErrorCantDeletePaymentReconciliated=Can't delete a payment that had generated a bank transaction that was conciliated +ErrorCantDeletePaymentSharedWithPayedInvoice=Can't delete a payment shared by at least one invoice with status Payed +ErrorPriceExpression1=Cannot assign to constant '%s' +ErrorPriceExpression2=Cannot redefine built-in function '%s' +ErrorPriceExpression3=Undefined variable '%s' in function definition +ErrorPriceExpression4=Illegal character '%s' +ErrorPriceExpression5=Unexpected '%s' +ErrorPriceExpression6=Wrong number of arguments (%s given, %s expected) +ErrorPriceExpression8=Unexpected operator '%s' +ErrorPriceExpression9=An unexpected error occured +ErrorPriceExpression10=Iperator '%s' lacks operand +ErrorPriceExpression11=Expecting '%s' +ErrorPriceExpression14=Division by zero +ErrorPriceExpression17=Undefined variable '%s' +ErrorPriceExpression19=Expression not found +ErrorPriceExpression20=Empty expression +ErrorPriceExpression21=Empty result '%s' +ErrorPriceExpression22=Negative result '%s' +ErrorPriceExpressionInternal=Internal error '%s' +ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information + +# Warnings +WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined +WarningSafeModeOnCheckExecDir=Warning, PHP option safe_mode is on so command must be stored inside a directory declared by php parameter safe_mode_exec_dir. +WarningAllowUrlFopenMustBeOn=Parameter allow_url_fopen must be set to on in filer php.ini for having this module working completely. You must modify this file manually. +WarningBuildScriptNotRunned=Script %s was not yet ran to build graphics, or there is no data to show. +WarningBookmarkAlreadyExists=A bookmark with this title or this target (URL) already exists. +WarningPassIsEmpty=Warning, database password is empty. This is a security hole. You should add a password to your database and change your conf.php file to reflect this. +WarningConfFileMustBeReadOnly=Warning, your config file (htdocs/conf/conf.php) can be overwritten by the web server. This is a serious security hole. Modify permissions on file to be in read only mode for operating system user used by Web server. If you use Windows and FAT format for your disk, you must know that this file system does not allow to add permissions on file, so can't be completely safe. +WarningsOnXLines=Warnings on %s source record(s) +WarningNoDocumentModelActivated=No model, for document generation, has been activated. A model will be choosed by default until you check your module setup. +WarningLockFileDoesNotExists=Warning, once setup is finished, you must disable install/migrate tools by adding a file install.lock into directory %s. Missing this file is a security hole. +WarningUntilDirRemoved=All security warnings (visible by admin users only) will remain active as long as the vulnerability is present (or that constant MAIN_REMOVE_INSTALL_WARNING is added in Setup->Other setup). +WarningCloseAlways=Warning, closing is done even if amount differs between source and target elements. Enable this feature with caution. +WarningUsingThisBoxSlowDown=Warning, using this box slow down seriously all pages showing the box. +WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your user are not complete (see tab ClickToDial onto your user card). +WarningNotRelevant=Irrelevant operation for this dataset +WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Feature disabled when display setup is optimized for blind person or text browsers. +WarningPaymentDateLowerThanInvoiceDate=Payment date (%s) is earlier than invoice date (%s) for invoice %s. +WarningTooManyDataPleaseUseMoreFilters=Too many data. Please use more filters diff --git a/htdocs/langs/ka_GE/exports.lang b/htdocs/langs/ka_GE/exports.lang new file mode 100644 index 00000000000..d79df485608 --- /dev/null +++ b/htdocs/langs/ka_GE/exports.lang @@ -0,0 +1,134 @@ +# Dolibarr language file - Source file is en_US - exports +ExportsArea=Exports area +ImportArea=Import area +NewExport=New export +NewImport=New import +ExportableDatas=Exportable dataset +ImportableDatas=Importable dataset +SelectExportDataSet=Choose dataset you want to export... +SelectImportDataSet=Choose dataset you want to import... +SelectExportFields=Choose fields you want to export, or select a predefined export profile +SelectImportFields=Choose source file fields you want to import and their target field in database by moving them up and down with anchor %s, or select a predefined import profile: +NotImportedFields=Fields of source file not imported +SaveExportModel=Save this export profile if you plan to reuse it later... +SaveImportModel=Save this import profile if you plan to reuse it later... +ExportModelName=Export profile name +ExportModelSaved=Export profile saved under name %s. +ExportableFields=Exportable fields +ExportedFields=Exported fields +ImportModelName=Import profile name +ImportModelSaved=Import profile saved under name %s. +ImportableFields=Importable fields +ImportedFields=Imported fields +DatasetToExport=Dataset to export +DatasetToImport=Import file into dataset +NoDiscardedFields=No fields in source file are discarded +Dataset=Dataset +ChooseFieldsOrdersAndTitle=Choose fields order... +FieldsOrder=Fields order +FieldsTitle=Fields title +FieldOrder=Field order +FieldTitle=Field title +ChooseExportFormat=Choose export format +NowClickToGenerateToBuildExportFile=Now, select file format in combo box and click on "Generate" to build export file... +AvailableFormats=Available formats +LibraryShort=Library +LibraryUsed=Library used +LibraryVersion=Version +Step=Step +FormatedImport=Import assistant +FormatedImportDesc1=This area allows to import personalized data, using an assistant to help you in process without technical knowledge. +FormatedImportDesc2=First step is to choose a king of data you want to load, then file to load, then to choose which fields you want to load. +FormatedExport=Export assistant +FormatedExportDesc1=This area allows to export personalized data, using an assistant to help you in process without technical knowledge. +FormatedExportDesc2=First step is to choose a predefined dataset, then to choose which fields you want in your result files, and which order. +FormatedExportDesc3=When data to export are selected, you can define output file format you want to export your data to. +Sheet=Sheet +NoImportableData=No importable data (no module with definitions to allow data imports) +FileSuccessfullyBuilt=Export file generated +SQLUsedForExport=SQL Request used to build export file +LineId=Id of line +LineDescription=Description of line +LineUnitPrice=Unit price of line +LineVATRate=VAT Rate of line +LineQty=Quantity for line +LineTotalHT=Amount net of tax for line +LineTotalTTC=Amount with tax for line +LineTotalVAT=Amount of VAT for line +TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) +FileWithDataToImport=File with data to import +FileToImport=Source file to import +FileMustHaveOneOfFollowingFormat=File to import must have one of following format +DownloadEmptyExample=Download example of empty source file +ChooseFormatOfFileToImport=Choose file format to use as import file format by clicking on picto %s to select it... +ChooseFileToImport=Upload file then click on picto %s to select file as source import file... +SourceFileFormat=Source file format +FieldsInSourceFile=Fields in source file +FieldsInTargetDatabase=Target fields in Dolibarr database (bold=mandatory) +Field=Field +NoFields=No fields +MoveField=Move field column number %s +ExampleOfImportFile=Example_of_import_file +SaveImportProfile=Save this import profile +ErrorImportDuplicateProfil=Failed to save this import profile with this name. An existing profile already exists with this name. +ImportSummary=Import setup summary +TablesTarget=Targeted tables +FieldsTarget=Targeted fields +TableTarget=Targeted table +FieldTarget=Targeted field +FieldSource=Source field +DoNotImportFirstLine=Do not import first line of source file +NbOfSourceLines=Number of lines in source file +NowClickToTestTheImport=Check import parameters you have defined. If they are correct, click on button "%s" to launch a simulation of import process (no data will be changed in your database, it's only a simulation for the moment)... +RunSimulateImportFile=Launch the import simulation +FieldNeedSource=This field requires data from the source file +SomeMandatoryFieldHaveNoSource=Some mandatory fields have no source from data file +InformationOnSourceFile=Information on source file +InformationOnTargetTables=Information on target fields +SelectAtLeastOneField=Switch at least one source field in the column of fields to export +SelectFormat=Choose this import file format +RunImportFile=Launch import file +NowClickToRunTheImport=Check result of import simulation. If everything is ok, launch the definitive import. +DataLoadedWithId=All data will be loaded with the following import id: %s +ErrorMissingMandatoryValue=Mandatory data is empty in source file for field %s. +TooMuchErrors=There is still %s other source lines with errors but output has been limited. +TooMuchWarnings=There is still %s other source lines with warnings but output has been limited. +EmptyLine=Empty line (will be discarded) +CorrectErrorBeforeRunningImport=You must first correct all errors before running definitive import. +FileWasImported=File was imported with number %s. +YouCanUseImportIdToFindRecord=You can find all imported records in your database by filtering on field import_key='%s'. +NbOfLinesOK=Number of lines with no errors and no warnings: %s. +NbOfLinesImported=Number of lines successfully imported: %s. +DataComeFromNoWhere=Value to insert comes from nowhere in source file. +DataComeFromFileFieldNb=Value to insert comes from field number %s in source file. +DataComeFromIdFoundFromRef=Value that comes from field number %s of source file will be used to find id of parent object to use (So the objet %s that has the ref. from source file must exists into Dolibarr). +DataComeFromIdFoundFromCodeId=Code that comes from field number %s of source file will be used to find id of parent object to use (So the code from source file must exists into dictionary %s). Note that if you know id, you can also use it into source file instead of code. Import should work in both cases. +DataIsInsertedInto=Data coming from source file will be inserted into the following field: +DataIDSourceIsInsertedInto=The id of parent object found using the data in source file, will be inserted into the following field: +DataCodeIDSourceIsInsertedInto=The id of parent line found from code, will be inserted into following field: +SourceRequired=Data value is mandatory +SourceExample=Example of possible data value +ExampleAnyRefFoundIntoElement=Any ref found for element %s +ExampleAnyCodeOrIdFoundIntoDictionary=Any code (or id) found into dictionary %s +CSVFormatDesc=Comma Separated Value file format (.csv).
This is a text file format where fields are separated by separator [ %s ]. If separator is found inside a field content, field is rounded by round character [ %s ]. Escape character to escape round character is [ %s ]. +Excel95FormatDesc=Excel file format (.xls)
This is native Excel 95 format (BIFF5). +Excel2007FormatDesc=Excel file format (.xlsx)
This is native Excel 2007 format (SpreadsheetML). +TsvFormatDesc=Tab Separated Value file format (.tsv)
This is a text file format where fields are separated by a tabulator [tab]. +ExportFieldAutomaticallyAdded=Field %s was automatically added. It will avoid you to have similar lines to be treated as duplicate records (with this field added, all lines will own their own id and will differ). +CsvOptions=Csv Options +Separator=Separator +Enclosure=Enclosure +SuppliersProducts=Suppliers Products +BankCode=Bank code +DeskCode=Desk code +BankAccountNumber=Account number +BankAccountNumberKey=Key +SpecialCode=Special code +ExportStringFilter=%% allows replacing one or more characters in the text +ExportDateFilter=YYYY, YYYYMM, YYYYMMDD : filters by one year/month/day
YYYY+YYYY, YYYYMM+YYYYMM, YYYYMMDD+YYYYMMDD : filters over a range of years/months/days
> YYYY, > YYYYMM, > YYYYMMDD : filters on all following years/months/days
< YYYY, < YYYYMM, < YYYYMMDD : filters on all previous years/months/days +ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values +## filters +SelectFilterFields=If you want to filter on some values, just input values here. +FilterableFields=Champs Filtrables +FilteredFields=Filtered fields +FilteredFieldsValues=Value for filter diff --git a/htdocs/langs/ka_GE/externalsite.lang b/htdocs/langs/ka_GE/externalsite.lang new file mode 100644 index 00000000000..da4853df0df --- /dev/null +++ b/htdocs/langs/ka_GE/externalsite.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - externalsite +ExternalSiteSetup=Setup link to external website +ExternalSiteURL=External Site URL +ExternalSiteModuleNotComplete=Module ExternalSite was not configured properly. +ExampleMyMenuEntry=My menu entry diff --git a/htdocs/langs/ka_GE/ftp.lang b/htdocs/langs/ka_GE/ftp.lang new file mode 100644 index 00000000000..9984ce689ee --- /dev/null +++ b/htdocs/langs/ka_GE/ftp.lang @@ -0,0 +1,12 @@ +# Dolibarr language file - Source file is en_US - ftp +FTPClientSetup=FTP Client module setup +NewFTPClient=New FTP connection setup +FTPArea=FTP Area +FTPAreaDesc=This screen show you content of a FTP server view +SetupOfFTPClientModuleNotComplete=Setup of FTP client module seems to be not complete +FTPFeatureNotSupportedByYourPHP=Your PHP does not support FTP functions +FailedToConnectToFTPServer=Failed to connect to FTP server (server %s, port %s) +FailedToConnectToFTPServerWithCredentials=Failed to login to FTP server with defined login/password +FTPFailedToRemoveFile=Failed to remove file %s. +FTPFailedToRemoveDir=Failed to remove directory %s (Check permissions and that directory is empty). +FTPPassiveMode=Passive mode diff --git a/htdocs/langs/ka_GE/help.lang b/htdocs/langs/ka_GE/help.lang new file mode 100644 index 00000000000..1bbd6e94f03 --- /dev/null +++ b/htdocs/langs/ka_GE/help.lang @@ -0,0 +1,28 @@ +# Dolibarr language file - Source file is en_US - help +CommunitySupport=Forum/Wiki support +EMailSupport=Emails support +RemoteControlSupport=Online real time / remote support +OtherSupport=Other support +ToSeeListOfAvailableRessources=To contact/see available resources: +ClickHere=Click here +HelpCenter=Help center +DolibarrHelpCenter=Dolibarr help and support center +ToGoBackToDolibarr=Otherwise, click here to use Dolibarr +TypeOfSupport=Source of support +TypeSupportCommunauty=Community (free) +TypeSupportCommercial=Commercial +TypeOfHelp=Type +NeedHelpCenter=Need help or support ? +Efficiency=Efficiency +TypeHelpOnly=Help only +TypeHelpDev=Help+Development +TypeHelpDevForm=Help+Development+Formation +ToGetHelpGoOnSparkAngels1=Some companies can provide a fast (sometime immediate) and more efficient online support by taking control of your computer. Such helpers can be found on %s web site: +ToGetHelpGoOnSparkAngels3=You can also go to the list of all available coaches for Dolibarr, for this click on button +ToGetHelpGoOnSparkAngels2=Sometimes, there is no company available at the moment you make your search, so think to change the filter to look for "all availability". You will be able to send more requests. +BackToHelpCenter=Otherwise, click here to go back to help center home page. +LinkToGoldMember=You can call one of the coach preselected by Dolibarr for your language (%s) by clicking his Widget (status and maximum price are automatically updated): +PossibleLanguages=Supported languages +MakeADonation=Help Dolibarr project, make a donation +SubscribeToFoundation=Help Dolibarr project, subscribe to the foundation +SeeOfficalSupport=For official Dolibarr support in your language:
%s diff --git a/htdocs/langs/ka_GE/holiday.lang b/htdocs/langs/ka_GE/holiday.lang new file mode 100644 index 00000000000..f5b87fefb08 --- /dev/null +++ b/htdocs/langs/ka_GE/holiday.lang @@ -0,0 +1,148 @@ +# Dolibarr language file - Source file is en_US - holiday +HRM=HRM +Holidays=Leaves +CPTitreMenu=Leaves +MenuReportMonth=Monthly statement +MenuAddCP=Make a leave request +NotActiveModCP=You must enable the module Leaves to view this page. +NotConfigModCP=You must configure the module Leaves to view this page. To do this, click here . +NoCPforUser=You don't have any available day. +AddCP=Make a leave request +Employe=Employee +DateDebCP=Start date +DateFinCP=End date +DateCreateCP=Creation date +DraftCP=Draft +ToReviewCP=Awaiting approval +ApprovedCP=Approved +CancelCP=Canceled +RefuseCP=Refused +ValidatorCP=Approbator +ListeCP=List of leaves +ReviewedByCP=Will be reviewed by +DescCP=Description +SendRequestCP=Create leave request +DelayToRequestCP=Leave requests must be made at least %s day(s) before them. +MenuConfCP=Edit balance of leaves +UpdateAllCP=Update the leaves +SoldeCPUser=Leaves balance is %s days. +ErrorEndDateCP=You must select an end date greater than the start date. +ErrorSQLCreateCP=An SQL error occurred during the creation: +ErrorIDFicheCP=An error has occurred, the leave request does not exist. +ReturnCP=Return to previous page +ErrorUserViewCP=You are not authorized to read this leave request. +InfosCP=Information of the leave request +InfosWorkflowCP=Information Workflow +RequestByCP=Requested by +TitreRequestCP=Leave request +NbUseDaysCP=Number of days of vacation consumed +EditCP=Edit +DeleteCP=Delete +ActionValidCP=Validate +ActionRefuseCP=Refuse +ActionCancelCP=Cancel +StatutCP=Status +SendToValidationCP=Send to validation +TitleDeleteCP=Delete the leave request +ConfirmDeleteCP=Confirm the deletion of this leave request? +ErrorCantDeleteCP=Error you don't have the right to delete this leave request. +CantCreateCP=You don't have the right to make leave requests. +InvalidValidatorCP=You must choose an approbator to your leave request. +CantUpdate=You cannot update this leave request. +NoDateDebut=You must select a start date. +NoDateFin=You must select an end date. +ErrorDureeCP=Your leave request does not contain working day. +TitleValidCP=Approve the leave request +ConfirmValidCP=Are you sure you want to approve the leave request? +DateValidCP=Date approved +TitleToValidCP=Send leave request +ConfirmToValidCP=Are you sure you want to send the leave request? +TitleRefuseCP=Refuse the leave request +ConfirmRefuseCP=Are you sure you want to refuse the leave request? +NoMotifRefuseCP=You must choose a reason for refusing the request. +TitleCancelCP=Cancel the leave request +ConfirmCancelCP=Are you sure you want to cancel the leave request? +DetailRefusCP=Reason for refusal +DateRefusCP=Date of refusal +DateCancelCP=Date of cancellation +DefineEventUserCP=Assign an exceptional leave for a user +addEventToUserCP=Assign leave +MotifCP=Reason +UserCP=User +ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. +AddEventToUserOkCP=The addition of the exceptional leave has been completed. +MenuLogCP=View logs of leave requests +LogCP=Log of updates of available vacation days +ActionByCP=Performed by +UserUpdateCP=For the user +PrevSoldeCP=Previous Balance +NewSoldeCP=New Balance +alreadyCPexist=A leave request has already been done on this period. +UserName=Name +Employee=Employee +FirstDayOfHoliday=First day of vacation +LastDayOfHoliday=Last day of vacation +HolidaysMonthlyUpdate=Monthly update +ManualUpdate=Manual update +HolidaysCancelation=Leave request cancelation + +## Configuration du Module ## +ConfCP=Configuration of leave request module +DescOptionCP=Description of the option +ValueOptionCP=Value +GroupToValidateCP=Group with the ability to approve leave requests +ConfirmConfigCP=Validate the configuration +LastUpdateCP=Last automatic update of leaves allocation +UpdateConfCPOK=Updated successfully. +ErrorUpdateConfCP=An error occurred during the update, please try again. +AddCPforUsers=Please add the balance of leaves allocation of users by clicking here. +DelayForSubmitCP=Deadline to make a leave requests +AlertapprobatortorDelayCP=Prevent the approbator if the leave request does not match the deadline +AlertValidatorDelayCP=Préevent the approbator if the leave request exceed delay +AlertValidorSoldeCP=Prevent the approbator if the leave request exceed the balance +nbUserCP=Number of users supported in the module Leaves +nbHolidayDeductedCP=Number of leave days to be deducted per day of vacation taken +nbHolidayEveryMonthCP=Number of leave days added every month +Module27130Name= Management of leave requests +Module27130Desc= Management of leave requests +TitleOptionMainCP=Main settings of leave request +TitleOptionEventCP=Settings of leave requets for events +ValidEventCP=Validate +UpdateEventCP=Update events +CreateEventCP=Create +NameEventCP=Event name +OkCreateEventCP=The addition of the event went well. +ErrorCreateEventCP=Error creating the event. +UpdateEventOkCP=The update of the event went well. +ErrorUpdateEventCP=Error while updating the event. +DeleteEventCP=Delete Event +DeleteEventOkCP=The event has been deleted. +ErrorDeleteEventCP=Error while deleting the event. +TitleDeleteEventCP=Delete a exceptional leave +TitleCreateEventCP=Create a exceptional leave +TitleUpdateEventCP=Edit or delete a exceptional leave +DeleteEventOptionCP=Delete +UpdateEventOptionCP=Update +ErrorMailNotSend=An error occurred while sending email: +NoCPforMonth=No leave this month. +nbJours=Number days +TitleAdminCP=Configuration of Leaves +#Messages +Hello=Hello +HolidaysToValidate=Validate leave requests +HolidaysToValidateBody=Below is a leave request to validate +HolidaysToValidateDelay=This leave request will take place within a period of less than %s days. +HolidaysToValidateAlertSolde=The user who made this leave reques do not have enough available days. +HolidaysValidated=Validated leave requests +HolidaysValidatedBody=Your leave request for %s to %s has been validated. +HolidaysRefused=Request denied +HolidaysRefusedBody=Your leave request for %s to %s has been denied for the following reason : +HolidaysCanceled=Canceled leaved request +HolidaysCanceledBody=Your leave request for %s to %s has been canceled. +Permission20000=Read you own leave requests +Permission20001=Create/modify your leave requests +Permission20002=Create/modify leave requests for everybody +Permission20003=Delete leave requests +Permission20004=Setup users available vacation days +Permission20005=Review log of modified leave requests +Permission20006=Read leaves monthly report diff --git a/htdocs/langs/ka_GE/install.lang b/htdocs/langs/ka_GE/install.lang new file mode 100644 index 00000000000..5a494156672 --- /dev/null +++ b/htdocs/langs/ka_GE/install.lang @@ -0,0 +1,213 @@ +# Dolibarr language file - Source file is en_US - install +InstallEasy=Just follow the instructions step by step. +MiscellaneousChecks=Prerequisites check +DolibarrWelcome=Welcome to Dolibarr +ConfFileExists=Configuration file %s exists. +ConfFileDoesNotExists=Configuration file %s does not exist ! +ConfFileDoesNotExistsAndCouldNotBeCreated=Configuration file %s does not exist and could not be created ! +ConfFileCouldBeCreated=Configuration file %s could be created. +ConfFileIsNotWritable=Configuration file %s is not writable. Check permissions. For first install, your web server must be granted to be able to write into this file during configuration process ("chmod 666" for example on a Unix like OS). +ConfFileIsWritable=Configuration file %s is writable. +ConfFileReload=Reload all information from configuration file. +PHPSupportSessions=This PHP supports sessions. +PHPSupportPOSTGETOk=This PHP supports variables POST and GET. +PHPSupportPOSTGETKo=It's possible your PHP setup does not support variables POST and/or GET. Check your parameter variables_order in php.ini. +PHPSupportGD=This PHP support GD graphical functions. +PHPSupportUTF8=This PHP support UTF8 functions. +PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. +PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This should be too low. Change your php.ini to set memory_limit parameter to at least %s bytes. +Recheck=Click here for a more significative test +ErrorPHPDoesNotSupportSessions=Your PHP installation does not support sessions. This feature is required to make Dolibarr working. Check your PHP setup. +ErrorPHPDoesNotSupportGD=Your PHP installation does not support graphical function GD. No graph will be available. +ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr can't work correctly. Solve this before installing Dolibarr. +ErrorDirDoesNotExists=Directory %s does not exist. +ErrorGoBackAndCorrectParameters=Go backward and correct wrong parameters. +ErrorWrongValueForParameter=You may have typed a wrong value for parameter '%s'. +ErrorFailedToCreateDatabase=Failed to create database '%s'. +ErrorFailedToConnectToDatabase=Failed to connect to database '%s'. +ErrorDatabaseVersionTooLow=Database version (%s) too old. Version %s or higher is required. +ErrorPHPVersionTooLow=PHP version too old. Version %s is required. +WarningPHPVersionTooLow=PHP version too old. Version %s or more is expected. This version should allow install but is not supported. +ErrorConnectedButDatabaseNotFound=Connection to server successfull but database '%s' not found. +ErrorDatabaseAlreadyExists=Database '%s' already exists. +IfDatabaseNotExistsGoBackAndUncheckCreate=If database does not exists, go back and check option "Create database". +IfDatabaseExistsGoBackAndCheckCreate=If database already exists, go back and uncheck "Create database" option. +WarningBrowserTooOld=Too old version of browser. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommanded. +PHPVersion=PHP Version +YouCanContinue=You can continue... +PleaseBePatient=Please be patient... +License=Using license +ConfigurationFile=Configuration file +WebPagesDirectory=Directory where web pages are stored +DocumentsDirectory=Directory to store uploaded and generated documents +URLRoot=URL Root +ForceHttps=Force secure connections (https) +CheckToForceHttps=Check this option to force secure connections (https).
This requires that the web server is configured with an SSL certificate. +DolibarrDatabase=Dolibarr Database +DatabaseChoice=Database choice +DatabaseType=Database type +DriverType=Driver type +Server=Server +ServerAddressDescription=Name or ip address for database server, usually 'localhost' when database server is hosted on same server than web server +ServerPortDescription=Database server port. Keep empty if unknown. +DatabaseServer=Database server +DatabaseName=Database name +DatabasePrefix=Database prefix table +Login=Login +AdminLogin=Login for Dolibarr database owner. +Password=Password +PasswordAgain=Retype password a second time +AdminPassword=Password for Dolibarr database owner. +CreateDatabase=Create database +CreateUser=Create owner +DatabaseSuperUserAccess=Database server - Superuser access +CheckToCreateDatabase=Check box if database does not exist and must be created.
In this case, you must fill the login/password for superuser account at the bottom of this page. +CheckToCreateUser=Check box if database owner does not exist and must be created.
In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists. +Experimental=(experimental) +DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists. +KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this) +SaveConfigurationFile=Save values +ConfigurationSaving=Saving configuration file +ServerConnection=Server connection +DatabaseConnection=Database connection +DatabaseCreation=Database creation +UserCreation=User creation +CreateDatabaseObjects=Database objects creation +ReferenceDataLoading=Reference data loading +TablesAndPrimaryKeysCreation=Tables and Primary keys creation +CreateTableAndPrimaryKey=Create table %s +CreateOtherKeysForTable=Create foreign keys and indexes for table %s +OtherKeysCreation=Foreign keys and indexes creation +FunctionsCreation=Functions creation +AdminAccountCreation=Administrator login creation +PleaseTypePassword=Please type a password, empty passwords are not allowed ! +PleaseTypeALogin=Please type a login ! +PasswordsMismatch=Passwords differs, please try again ! +SetupEnd=End of setup +SystemIsInstalled=This installation is complete. +SystemIsUpgraded=Dolibarr has been upgraded successfully. +YouNeedToPersonalizeSetup=You need to configure Dolibarr to suit your needs (appearance, features, ...). To do this, please follow the link below: +AdminLoginCreatedSuccessfuly=Dolibarr administrator login '%s' created successfuly. +GoToDolibarr=Go to Dolibarr +GoToSetupArea=Go to Dolibarr (setup area) +MigrationNotFinished=Version of your database is not completely up to date, so you'll have to run the upgrade process again. +GoToUpgradePage=Go to upgrade page again +Examples=Examples +WithNoSlashAtTheEnd=Without the slash "/" at the end +DirectoryRecommendation=It is recommanded to use a directory outside of your directory of your web pages. +LoginAlreadyExists=Already exists +DolibarrAdminLogin=Dolibarr admin login +AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back, if you want to create another one. +WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called install.lock into Dolibarr document directory, in order to avoid malicious use of it. +ThisPHPDoesNotSupportTypeBase=This PHP system does not support any interface to access database type %s +FunctionNotAvailableInThisPHP=Not available on this PHP +MigrateScript=Migration script +ChoosedMigrateScript=Choose migration script +DataMigration=Data migration +DatabaseMigration=Structure database migration +ProcessMigrateScript=Script processing +ChooseYourSetupMode=Choose your setup mode and click "Start"... +FreshInstall=Fresh install +FreshInstallDesc=Use this mode if this is your first install. If not, this mode can repair a incomplete previous install, but if you want to upgrade your version, choose "Upgrade" mode. +Upgrade=Upgrade +UpgradeDesc=Use this mode if you have replaced old Dolibarr files with files from a newer version. This will upgrade your database and data. +Start=Start +InstallNotAllowed=Setup not allowed by conf.php permissions +NotAvailable=Not available +YouMustCreateWithPermission=You must create file %s and set write permissions on it for the web server during install process. +CorrectProblemAndReloadPage=Please fix the problem and press F5 to reload page. +AlreadyDone=Already migrated +DatabaseVersion=Database version +ServerVersion=Database server version +YouMustCreateItAndAllowServerToWrite=You must create this directory and allow for the web server to write into it. +CharsetChoice=Character set choice +CharacterSetClient=Character set used for generated HTML web pages +CharacterSetClientComment=Choose character set for web display.
Default proposed character set is the one of your database. +DBSortingCollation=Character sorting order +DBSortingCollationComment=Choose page code that defines character's sorting order used by database. This parameter is also called 'collation' by some databases.
This parameter can't be defined if database already exists. +CharacterSetDatabase=Character set for database +CharacterSetDatabaseComment=Choose character set wanted for database creation.
This parameter can't be defined if database already exists. +YouAskDatabaseCreationSoDolibarrNeedToConnect=You ask to create database %s, but for this, Dolibarr need to connect to server %s with super user %s permissions. +YouAskLoginCreationSoDolibarrNeedToConnect=You ask to create database login %s, but for this, Dolibarr need to connect to server %s with super user %s permissions. +BecauseConnectionFailedParametersMayBeWrong=As connection failed, host or super user parameters must be wrong. +OrphelinsPaymentsDetectedByMethod=Orphans payment detected by method %s +RemoveItManuallyAndPressF5ToContinue=Remove it manually and press F5 to continue. +KeepDefaultValuesWamp=You use the Dolibarr setup wizard from DoliWamp, so values proposed here are already optimized. Change them only if you know what you do. +KeepDefaultValuesDeb=You use the Dolibarr setup wizard from a Linux package (Ubuntu, Debian, Fedora...), so values proposed here are already optimized. Only the password of the database owner to create must be completed. Change other parameters only if you know what you do. +KeepDefaultValuesMamp=You use the Dolibarr setup wizard from DoliMamp, so values proposed here are already optimized. Change them only if you know what you do. +KeepDefaultValuesProxmox=You use the Dolibarr setup wizard from a Proxmox virtual appliance, so values proposed here are already optimized. Change them only if you know what you do. +FieldRenamed=Field renamed +IfLoginDoesNotExistsCheckCreateUser=If login does not exists yet, you must check option "Create user" +ErrorConnection=Server "%s", database name "%s", login "%s", or database password may be wrong or PHP client version may be too old compared to database version. +InstallChoiceRecommanded=Recommended choice to install version %s from your current version %s +InstallChoiceSuggested=Install choice suggested by installer. +MigrateIsDoneStepByStep=The targeted version (%s) has a gap of several versions, so install wizard will come back to suggest next migration once this one will be finished. +CheckThatDatabasenameIsCorrect=Check that database name "%s" is correct. +IfAlreadyExistsCheckOption=If this name is correct and that database does not exist yet, you must check option "Create database". +OpenBaseDir=PHP openbasedir parameter +YouAskToCreateDatabaseSoRootRequired=You checked the box "Create database". For this, you need to provide login/password of superuser (bottom of form). +YouAskToCreateDatabaseUserSoRootRequired=You checked the box "Create database owner". For this, you need to provide login/password of superuser (bottom of form). +NextStepMightLastALongTime=Current step may last several minutes. Please wait until the next screen is shown completely before continuing. +MigrationCustomerOrderShipping=Migrate shipping for customer orders storage +MigrationShippingDelivery=Upgrade storage of shipping +MigrationShippingDelivery2=Upgrade storage of shipping 2 +MigrationFinished=Migration finished +LastStepDesc=Last step: Define here login and password you plan to use to connect to software. Do not loose this as it is the account to administer all others. +ActivateModule=Activate module %s +ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... + +######### +# upgrade +MigrationFixData=Fix for denormalized data +MigrationOrder=Data migration for customer's orders +MigrationSupplierOrder=Data migration for supplier's orders +MigrationProposal=Data migration for commercial proposals +MigrationInvoice=Data migration for customer's invoices +MigrationContract=Data migration for contracts +MigrationSuccessfullUpdate=Upgrade successful +MigrationUpdateFailed=Failed upgrade process +MigrationRelationshipTables=Data migration for relationship tables (%s) +MigrationPaymentsUpdate=Payment data correction +MigrationPaymentsNumberToUpdate=%s payment(s) to update +MigrationProcessPaymentUpdate=Update payment(s) %s +MigrationPaymentsNothingToUpdate=No more things to do +MigrationPaymentsNothingUpdatable=No more payments that can be corrected +MigrationContractsUpdate=Contract data correction +MigrationContractsNumberToUpdate=%s contract(s) to update +MigrationContractsLineCreation=Create contract line for contract ref %s +MigrationContractsNothingToUpdate=No more things to do +MigrationContractsFieldDontExist=Field fk_facture does not exists anymore. Nothing to do. +MigrationContractsEmptyDatesUpdate=Contract empty date correction +MigrationContractsEmptyDatesUpdateSuccess=Contract emtpy date correction done successfuly +MigrationContractsEmptyDatesNothingToUpdate=No contract empty date to correct +MigrationContractsEmptyCreationDatesNothingToUpdate=No contract creation date to correct +MigrationContractsInvalidDatesUpdate=Bad value date contract correction +MigrationContractsInvalidDateFix=Correct contract %s (Contract date=%s, Starting service date min=%s) +MigrationContractsInvalidDatesNumber=%s contracts modified +MigrationContractsInvalidDatesNothingToUpdate=No date with bad value to correct +MigrationContractsIncoherentCreationDateUpdate=Bad value contract creation date correction +MigrationContractsIncoherentCreationDateUpdateSuccess=Bad value contract creation date correction done succesfuly +MigrationContractsIncoherentCreationDateNothingToUpdate=No bad value for contract creation date to correct +MigrationReopeningContracts=Open contract closed by error +MigrationReopenThisContract=Reopen contract %s +MigrationReopenedContractsNumber=%s contracts modified +MigrationReopeningContractsNothingToUpdate=No closed contract to open +MigrationBankTransfertsUpdate=Update links between bank transaction and a bank transfer +MigrationBankTransfertsNothingToUpdate=All links are up to date +MigrationShipmentOrderMatching=Sendings receipt update +MigrationDeliveryOrderMatching=Delivery receipt update +MigrationDeliveryDetail=Delivery update +MigrationStockDetail=Update stock value of products +MigrationMenusDetail=Update dynamic menus tables +MigrationDeliveryAddress=Update delivery address in shipments +MigrationProjectTaskActors=Data migration for llx_projet_task_actors table +MigrationProjectUserResp=Data migration field fk_user_resp of llx_projet to llx_element_contact +MigrationProjectTaskTime=Update time spent in seconds +MigrationActioncommElement=Update data on actions +MigrationPaymentMode=Data migration for payment mode +MigrationCategorieAssociation=Migration of categories +MigrationEvents=Migration of events to add event owner into assignement table + +ShowNotAvailableOptions=Show not available options +HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/ka_GE/interventions.lang b/htdocs/langs/ka_GE/interventions.lang new file mode 100644 index 00000000000..c79da05364e --- /dev/null +++ b/htdocs/langs/ka_GE/interventions.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - interventions +Intervention=Intervention +Interventions=Interventions +InterventionCard=Intervention card +NewIntervention=New intervention +AddIntervention=Create intervention +ListOfInterventions=List of interventions +EditIntervention=Edit intervention +ActionsOnFicheInter=Actions on intervention +LastInterventions=Last %s interventions +AllInterventions=All interventions +CreateDraftIntervention=Create draft +CustomerDoesNotHavePrefix=Customer does not have a prefix +InterventionContact=Intervention contact +DeleteIntervention=Delete intervention +ValidateIntervention=Validate intervention +ModifyIntervention=Modify intervention +DeleteInterventionLine=Delete intervention line +ConfirmDeleteIntervention=Are you sure you want to delete this intervention ? +ConfirmValidateIntervention=Are you sure you want to validate this intervention under name %s ? +ConfirmModifyIntervention=Are you sure you want to modify this intervention ? +ConfirmDeleteInterventionLine=Are you sure you want to delete this intervention line ? +NameAndSignatureOfInternalContact=Name and signature of intervening : +NameAndSignatureOfExternalContact=Name and signature of customer : +DocumentModelStandard=Standard document model for interventions +InterventionCardsAndInterventionLines=Interventions and lines of interventions +InterventionClassifyBilled=Classify "Billed" +InterventionClassifyUnBilled=Classify "Unbilled" +StatusInterInvoiced=Billed +RelatedInterventions=Related interventions +ShowIntervention=Show intervention +SendInterventionRef=Submission of intervention %s +SendInterventionByMail=Send intervention by Email +InterventionCreatedInDolibarr=Intervention %s created +InterventionValidatedInDolibarr=Intervention %s validated +InterventionModifiedInDolibarr=Intervention %s modified +InterventionClassifiedBilledInDolibarr=Intervention %s set as billed +InterventionClassifiedUnbilledInDolibarr=Intervention %s set as unbilled +InterventionSentByEMail=Intervention %s sent by EMail +InterventionDeletedInDolibarr=Intervention %s deleted +SearchAnIntervention=Search an intervention +##### Types de contacts ##### +TypeContact_fichinter_internal_INTERREPFOLL=Representative following-up intervention +TypeContact_fichinter_internal_INTERVENING=Intervening +TypeContact_fichinter_external_BILLING=Billing customer contact +TypeContact_fichinter_external_CUSTOMER=Following-up customer contact +# Modele numérotation +ArcticNumRefModelDesc1=Generic number model +ArcticNumRefModelError=Failed to activate +PacificNumRefModelDesc1=Return numero with format %syymm-nnnn where yy is year, mm is month and nnnn is a sequence with no break and no return to 0 +PacificNumRefModelError=An intervention card starting with $syymm already exists and is not compatible with this model of sequence. Remove it or rename it to activate this module. +PrintProductsOnFichinter=Print products on intervention card +PrintProductsOnFichinterDetails=forinterventions generated from orders diff --git a/htdocs/langs/ka_GE/languages.lang b/htdocs/langs/ka_GE/languages.lang new file mode 100644 index 00000000000..d20aab00146 --- /dev/null +++ b/htdocs/langs/ka_GE/languages.lang @@ -0,0 +1,72 @@ +# Dolibarr language file - Source file is en_US - languages + +Language_ar_AR=Arabic +Language_ar_SA=Arabic +Language_bg_BG=Bulgarian +Language_bs_BA=Bosnian +Language_ca_ES=Catalan +Language_cs_CZ=Czech +Language_da_DA=Danish +Language_da_DK=Danish +Language_de_DE=German +Language_de_AT=German (Austria) +Language_de_CH=German (Switzerland) +Language_el_GR=Greek +Language_en_AU=English (Australia) +Language_en_CA=English (Canada) +Language_en_GB=English (United Kingdom) +Language_en_IN=English (India) +Language_en_NZ=English (New Zealand) +Language_en_SA=English (Saudi Arabia) +Language_en_US=English (United States) +Language_en_ZA=English (South Africa) +Language_es_ES=Spanish +Language_es_DO=Spanish (Dominican Republic) +Language_es_AR=Spanish (Argentina) +Language_es_CL=Spanish (Chile) +Language_es_HN=Spanish (Honduras) +Language_es_MX=Spanish (Mexico) +Language_es_PY=Spanish (Paraguay) +Language_es_PE=Spanish (Peru) +Language_es_PR=Spanish (Puerto Rico) +Language_et_EE=Estonian +Language_eu_ES=Basque +Language_fa_IR=Persian +Language_fi_FI=Fins +Language_fr_BE=French (Belgium) +Language_fr_CA=French (Canada) +Language_fr_CH=French (Switzerland) +Language_fr_FR=French +Language_fr_NC=French (New Caledonia) +Language_he_IL=Hebrew +Language_hr_HR=Croatian +Language_hu_HU=Hungarian +Language_id_ID=Indonesian +Language_is_IS=Icelandic +Language_it_IT=Italian +Language_ja_JP=Japanese +Language_ko_KR=Korean +Language_lt_LT=Lithuanian +Language_lv_LV=Latvian +Language_mk_MK=Macedonian +Language_nb_NO=Norwegian (Bokmål) +Language_nl_BE=Dutch (Belgium) +Language_nl_NL=Dutch (Netherlands) +Language_pl_PL=Polish +Language_pt_BR=Portuguese (Brazil) +Language_pt_PT=Portuguese +Language_ro_RO=Romanian +Language_ru_RU=Russian +Language_ru_UA=Russian (Ukraine) +Language_tr_TR=Turkish +Language_sl_SI=Slovenian +Language_sv_SV=Swedish +Language_sv_SE=Swedish +Language_sq_AL=Albanian +Language_sk_SK=Slovakian +Language_th_TH=Thai +Language_uk_UA=Ukrainian +Language_uz_UZ=Uzbek +Language_vi_VN=Vietnamese +Language_zh_CN=Chinese +Language_zh_TW=Chinese (Traditional) diff --git a/htdocs/langs/ka_GE/ldap.lang b/htdocs/langs/ka_GE/ldap.lang new file mode 100644 index 00000000000..02e457446a6 --- /dev/null +++ b/htdocs/langs/ka_GE/ldap.lang @@ -0,0 +1,29 @@ +# Dolibarr language file - Source file is en_US - ldap +DomainPassword=Password for domain +YouMustChangePassNextLogon=Password for user %s on the domain %s must be changed. +UserMustChangePassNextLogon=User must change password on the domain %s +LdapUacf_NORMAL_ACCOUNT=User account +LdapUacf_DONT_EXPIRE_PASSWORD=Password never expires +LdapUacf_ACCOUNTDISABLE=Account is disabled in the domain %s +LDAPInformationsForThisContact=Information in LDAP database for this contact +LDAPInformationsForThisUser=Information in LDAP database for this user +LDAPInformationsForThisGroup=Information in LDAP database for this group +LDAPInformationsForThisMember=Information in LDAP database for this member +LDAPAttribute=LDAP attribute +LDAPAttributes=LDAP attributes +LDAPCard=LDAP card +LDAPRecordNotFound=Record not found in LDAP database +LDAPUsers=Users in LDAP database +LDAPGroups=Groups in LDAP database +LDAPFieldStatus=Status +LDAPFieldFirstSubscriptionDate=First subscription date +LDAPFieldFirstSubscriptionAmount=First subscription amount +LDAPFieldLastSubscriptionDate=Last subscription date +LDAPFieldLastSubscriptionAmount=Last subscription amount +SynchronizeDolibarr2Ldap=Synchronize user (Dolibarr -> LDAP) +UserSynchronized=User synchronized +GroupSynchronized=Group synchronized +MemberSynchronized=Member synchronized +ContactSynchronized=Contact synchronized +ForceSynchronize=Force synchronizing Dolibarr -> LDAP +ErrorFailedToReadLDAP=Failed to read LDAP database. Check LDAP module setup and database accessibility. diff --git a/htdocs/langs/ka_GE/link.lang b/htdocs/langs/ka_GE/link.lang new file mode 100644 index 00000000000..8b1efb75ef3 --- /dev/null +++ b/htdocs/langs/ka_GE/link.lang @@ -0,0 +1,8 @@ +LinkANewFile=Link a new file/document +LinkedFiles=Linked files and documents +NoLinkFound=No registered links +LinkComplete=The file has been linked successfully +ErrorFileNotLinked=The file could not be linked +LinkRemoved=The link %s has been removed +ErrorFailedToDeleteLink= Failed to remove link '%s' +ErrorFailedToUpdateLink= Failed to update link '%s' diff --git a/htdocs/langs/ka_GE/mailmanspip.lang b/htdocs/langs/ka_GE/mailmanspip.lang new file mode 100644 index 00000000000..c85b3d60db2 --- /dev/null +++ b/htdocs/langs/ka_GE/mailmanspip.lang @@ -0,0 +1,27 @@ +# Dolibarr language file - Source file is en_US - mailmanspip +MailmanSpipSetup=Mailman and SPIP module Setup +MailmanTitle=Mailman mailing list system +TestSubscribe=To test subscription to Mailman lists +TestUnSubscribe=To test unsubscribe from Mailman lists +MailmanCreationSuccess=Subscription test was executed succesfully +MailmanDeletionSuccess=Unsubscription test was executed succesfully +SynchroMailManEnabled=A Mailman update will be performed +SynchroSpipEnabled=A Spip update will be performed +DescADHERENT_MAILMAN_ADMINPW=Mailman administrator password +DescADHERENT_MAILMAN_URL=URL for Mailman subscriptions +DescADHERENT_MAILMAN_UNSUB_URL=URL for Mailman unsubscriptions +DescADHERENT_MAILMAN_LISTS=List(s) for automatic inscription of new members (separated by a comma) +SPIPTitle=SPIP Content Management System +DescADHERENT_SPIP_SERVEUR=SPIP Server +DescADHERENT_SPIP_DB=SPIP database name +DescADHERENT_SPIP_USER=SPIP database login +DescADHERENT_SPIP_PASS=SPIP database password +AddIntoSpip=Add into SPIP +AddIntoSpipConfirmation=Are you sure you want to add this member into SPIP? +AddIntoSpipError=Failed to add the user in SPIP +DeleteIntoSpip=Remove from SPIP +DeleteIntoSpipConfirmation=Are you sure you want to remove this member from SPIP? +DeleteIntoSpipError=Failed to suppress the user from SPIP +SPIPConnectionFailed=Failed to connect to SPIP +SuccessToAddToMailmanList=Add of %s to mailman list %s or SPIP database done +SuccessToRemoveToMailmanList=Removal of %s from mailman list %s or SPIP database done diff --git a/htdocs/langs/ka_GE/mails.lang b/htdocs/langs/ka_GE/mails.lang new file mode 100644 index 00000000000..7a211198822 --- /dev/null +++ b/htdocs/langs/ka_GE/mails.lang @@ -0,0 +1,141 @@ +# Dolibarr language file - Source file is en_US - mails +Mailing=EMailing +EMailing=EMailing +Mailings=EMailings +EMailings=EMailings +AllEMailings=All eMailings +MailCard=EMailing card +MailTargets=Targets +MailRecipients=Recipients +MailRecipient=Recipient +MailTitle=Description +MailFrom=Sender +MailErrorsTo=Errors to +MailReply=Reply to +MailTo=Receiver(s) +MailCC=Copy to +MailCCC=Cached copy to +MailTopic=EMail topic +MailText=Message +MailFile=Attached files +MailMessage=EMail body +ShowEMailing=Show emailing +ListOfEMailings=List of emailings +NewMailing=New emailing +EditMailing=Edit emailing +ResetMailing=Resend emailing +DeleteMailing=Delete emailing +DeleteAMailing=Delete an emailing +PreviewMailing=Preview emailing +PrepareMailing=Prepare emailing +CreateMailing=Create emailing +MailingDesc=This page allows you to send emailings to a group of people. +MailingResult=Sending emails result +TestMailing=Test email +ValidMailing=Valid emailing +ApproveMailing=Approve emailing +MailingStatusDraft=Draft +MailingStatusValidated=Validated +MailingStatusApproved=Approved +MailingStatusSent=Sent +MailingStatusSentPartialy=Sent partialy +MailingStatusSentCompletely=Sent completely +MailingStatusError=Error +MailingStatusNotSent=Not sent +MailSuccessfulySent=Email successfully sent (from %s to %s) +MailingSuccessfullyValidated=EMailing successfully validated +MailUnsubcribe=Unsubscribe +Unsuscribe=Unsubscribe +MailingStatusNotContact=Don't contact anymore +ErrorMailRecipientIsEmpty=Email recipient is empty +WarningNoEMailsAdded=No new Email to add to recipient's list. +ConfirmValidMailing=Are you sure you want to validate this emailing ? +ConfirmResetMailing=Warning, by reinitializing emailing %s, you allow to make a mass sending of this email another time. Are you sure you this is what you want to do ? +ConfirmDeleteMailing=Are you sure you want to delete this emailling ? +NbOfRecipients=Number of recipients +NbOfUniqueEMails=Nb of unique emails +NbOfEMails=Nb of EMails +TotalNbOfDistinctRecipients=Number of distinct recipients +NoTargetYet=No recipients defined yet (Go on tab 'Recipients') +AddRecipients=Add recipients +RemoveRecipient=Remove recipient +CommonSubstitutions=Common substitutions +YouCanAddYourOwnPredefindedListHere=To create your email selector module, see htdocs/core/modules/mailings/README. +EMailTestSubstitutionReplacedByGenericValues=When using test mode, substitutions variables are replaced by generic values +MailingAddFile=Attach this file +NoAttachedFiles=No attached files +BadEMail=Bad value for EMail +CloneEMailing=Clone Emailing +ConfirmCloneEMailing=Are you sure you want to clone this emailing ? +CloneContent=Clone message +CloneReceivers=Cloner recipients +DateLastSend=Date of last sending +DateSending=Date sending +SentTo=Sent to %s +MailingStatusRead=Read +CheckRead=Read Receipt +YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list +MailtoEMail=Hyper link to email +ActivateCheckRead=Allow to use the "Unsubcribe" link +ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +EMailSentToNRecipients=EMail sent to %s recipients. +XTargetsAdded=%s recipients added into target list +EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +MailTopicSendRemindUnpaidInvoices=Reminder of invoice %s (%s) +SendRemind=Send reminder by EMails +RemindSent=%s reminder(s) sent +AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +NoRemindSent=No EMail reminder sent +ResultOfMassSending=Result of mass EMail reminders sending + +# Libelle des modules de liste de destinataires mailing +MailingModuleDescContactCompanies=Contacts/addresses of all third parties (customer, prospect, supplier, ...) +MailingModuleDescDolibarrUsers=Dolibarr users +MailingModuleDescFundationMembers=Foundation members with emails +MailingModuleDescEmailsFromFile=EMails from a text file (email;lastname;firstname;other) +MailingModuleDescEmailsFromUser=EMails from user input (email;lastname;firstname;other) +MailingModuleDescContactsCategories=Third parties (by category) +MailingModuleDescDolibarrContractsLinesExpired=Third parties with expired contract's lines +MailingModuleDescContactsByCompanyCategory=Contacts/addresses of third parties (by third parties category) +MailingModuleDescContactsByCategory=Contacts/addresses of third parties by category +MailingModuleDescMembersCategories=Foundation members (by categories) +MailingModuleDescContactsByFunction=Contacts/addresses of third parties (by position/function) +LineInFile=Line %s in file +RecipientSelectionModules=Defined requests for recipient's selection +MailSelectedRecipients=Selected recipients +MailingArea=EMailings area +LastMailings=Last %s emailings +TargetsStatistics=Targets statistics +NbOfCompaniesContacts=Unique contacts/addresses +MailNoChangePossible=Recipients for validated emailing can't be changed +SearchAMailing=Search mailing +SendMailing=Send emailing +SendMail=Send email +SentBy=Sent by +MailingNeedCommand=For security reason, sending an emailing is better when performed from command line. If you have one, ask your server administrator to launch the following command to send the emailing to all recipients: +MailingNeedCommand2=You can however send them online by adding parameter MAILING_LIMIT_SENDBYWEB with value of max number of emails you want to send by session. For this, go on Home - Setup - Other. +ConfirmSendingEmailing=If you can't or prefer sending them with your www browser, please confirm you are sure you want to send emailing now from your browser ? +LimitSendingEmailing=Note: Sending of emailings from web interface is done in several times for security and timeout reasons, %s recipients at a time for each sending session. +TargetsReset=Clear list +ToClearAllRecipientsClickHere=Click here to clear the recipient list for this emailing +ToAddRecipientsChooseHere=Add recipients by choosing from the lists +NbOfEMailingsReceived=Mass emailings received +NbOfEMailingsSend=Mass emailings sent +IdRecord=ID record +DeliveryReceipt=Delivery Receipt +YouCanUseCommaSeparatorForSeveralRecipients=You can use the comma separator to specify several recipients. +TagCheckMail=Track mail opening +TagUnsubscribe=Unsubscribe link +TagSignature=Signature sending user +TagMailtoEmail=Recipient EMail +# Module Notifications +Notifications=Notifications +NoNotificationsWillBeSent=No email notifications are planned for this event and company +ANotificationsWillBeSent=1 notification will be sent by email +SomeNotificationsWillBeSent=%s notifications will be sent by email +AddNewNotification=Activate a new email notification target +ListOfActiveNotifications=List all active email notification targets +ListOfNotificationsDone=List all email notifications sent +MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. +MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. +MailSendSetupIs3=If you have any questions on how to setup your SMTP server, you can ask to %s. diff --git a/htdocs/langs/ka_GE/main.lang b/htdocs/langs/ka_GE/main.lang new file mode 100644 index 00000000000..8996c1f6d83 --- /dev/null +++ b/htdocs/langs/ka_GE/main.lang @@ -0,0 +1,719 @@ +# Dolibarr language file - Source file is en_US - main +DIRECTION=ltr +# Note for Chinese: +# msungstdlight or cid0ct are for traditional Chinese (traditional does not render with Ubuntu pdf reader) +# stsongstdlight or cid0cs are for simplified Chinese +# To read Chinese pdf with Linux: sudo apt-get install poppler-data +FONTFORPDF=helvetica +FONTSIZEFORPDF=10 +SeparatorDecimal=. +SeparatorThousand=, +FormatDateShort=%m/%d/%Y +FormatDateShortInput=%m/%d/%Y +FormatDateShortJava=MM/dd/yyyy +FormatDateShortJavaInput=MM/dd/yyyy +FormatDateShortJQuery=mm/dd/yy +FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI +FormatHourShort=%I:%M %p +FormatHourShortDuration=%H:%M +FormatDateTextShort=%b %d, %Y +FormatDateText=%B %d, %Y +FormatDateHourShort=%m/%d/%Y %I:%M %p +FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p +FormatDateHourTextShort=%b %d, %Y, %I:%M %p +FormatDateHourText=%B %d, %Y, %I:%M %p +DatabaseConnection=Database connection +NoTranslation=No translation +NoRecordFound=No record found +NoError=No error +Error=Error +ErrorFieldRequired=Field '%s' is required +ErrorFieldFormat=Field '%s' has a bad value +ErrorFileDoesNotExists=File %s does not exist +ErrorFailedToOpenFile=Failed to open file %s +ErrorCanNotCreateDir=Can not create dir %s +ErrorCanNotReadDir=Can not read dir %s +ErrorConstantNotDefined=Parameter %s not defined +ErrorUnknown=Unknown error +ErrorSQL=SQL Error +ErrorLogoFileNotFound=Logo file '%s' was not found +ErrorGoToGlobalSetup=Go to 'Company/Foundation' setup to fix this +ErrorGoToModuleSetup=Go to Module setup to fix this +ErrorFailedToSendMail=Failed to send mail (sender=%s, receiver=%s) +ErrorAttachedFilesDisabled=File attaching is disabled on this server +ErrorFileNotUploaded=File was not uploaded. Check that size does not exceed maximum allowed, that free space is available on disk and that there is not already a file with same name in this directory. +ErrorInternalErrorDetected=Error detected +ErrorNoRequestRan=No request ran +ErrorWrongHostParameter=Wrong host parameter +ErrorYourCountryIsNotDefined=Your country is not defined. Go to Home-Setup-Edit and post again the form. +ErrorRecordIsUsedByChild=Failed to delete this record. This record is used by at least one child records. +ErrorWrongValue=Wrong value +ErrorWrongValueForParameterX=Wrong value for parameter %s +ErrorNoRequestInError=No request in error +ErrorServiceUnavailableTryLater=Service not available for the moment. Try again later. +ErrorDuplicateField=Duplicate value in a unique field +ErrorSomeErrorWereFoundRollbackIsDone=Some errors were found. We rollback changes. +ErrorConfigParameterNotDefined=Parameter %s is not defined inside Dolibarr config file conf.php. +ErrorCantLoadUserFromDolibarrDatabase=Failed to find user %s in Dolibarr database. +ErrorNoVATRateDefinedForSellerCountry=Error, no vat rates defined for country '%s'. +ErrorNoSocialContributionForSellerCountry=Error, no social contribution type defined for country '%s'. +ErrorFailedToSaveFile=Error, failed to save file. +SetDate=Set date +SelectDate=Select a date +SeeAlso=See also %s +SeeHere=See here +BackgroundColorByDefault=Default background color +FileNotUploaded=The file was not uploaded +FileUploaded=The file was successfully uploaded +FileWasNotUploaded=A file is selected for attachment but was not yet uploaded. Click on "Attach file" for this. +NbOfEntries=Nb of entries +GoToWikiHelpPage=Read online help (need Internet access) +GoToHelpPage=Read help +RecordSaved=Record saved +RecordDeleted=Record deleted +LevelOfFeature=Level of features +NotDefined=Not defined +DefinedAndHasThisValue=Defined and value to +IsNotDefined=undefined +DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr authentication mode is setup to %s in configuration file conf.php.
This means that password database is extern to Dolibarr, so changing this field may have no effects. +Administrator=Administrator +Undefined=Undefined +PasswordForgotten=Password forgotten ? +SeeAbove=See above +HomeArea=Home area +LastConnexion=Last connection +PreviousConnexion=Previous connection +ConnectedOnMultiCompany=Connected on environment +ConnectedSince=Connected since +AuthenticationMode=Authentification mode +RequestedUrl=Requested Url +DatabaseTypeManager=Database type manager +RequestLastAccess=Request for last database access +RequestLastAccessInError=Request for last database access in error +ReturnCodeLastAccessInError=Return code for last database access in error +InformationLastAccessInError=Information for last database access in error +DolibarrHasDetectedError=Dolibarr has detected a technical error +InformationToHelpDiagnose=This is information that can help diagnostic +MoreInformation=More information +TechnicalInformation=Technical information +NotePublic=Note (public) +NotePrivate=Note (private) +PrecisionUnitIsLimitedToXDecimals=Dolibarr was setup to limit precision of unit prices to %s decimals. +DoTest=Test +ToFilter=Filter +WarningYouHaveAtLeastOneTaskLate=Warning, you have at least one element that has exceeded the tolerance delay. +yes=yes +Yes=Yes +no=no +No=No +All=All +Home=Home +Help=Help +OnlineHelp=Online help +PageWiki=Wiki page +Always=Always +Never=Never +Under=under +Period=Period +PeriodEndDate=End date for period +Activate=Activate +Activated=Activated +Closed=Closed +Closed2=Closed +Enabled=Enabled +Deprecated=Deprecated +Disable=Disable +Disabled=Disabled +Add=Add +AddLink=Add link +Update=Update +AddActionToDo=Add event to do +AddActionDone=Add event done +Close=Close +Close2=Close +Confirm=Confirm +ConfirmSendCardByMail=Do you really want to send content of this card by mail to %s ? +Delete=Delete +Remove=Remove +Resiliate=Resiliate +Cancel=Cancel +Modify=Modify +Edit=Edit +Validate=Validate +ToValidate=To validate +Save=Save +SaveAs=Save As +TestConnection=Test connection +ToClone=Clone +ConfirmClone=Choose data you want to clone : +NoCloneOptionsSpecified=No data to clone defined. +Of=of +Go=Go +Run=Run +CopyOf=Copy of +Show=Show +ShowCardHere=Show card +Search=Search +SearchOf=Search +Valid=Valid +Approve=Approve +ReOpen=Re-Open +Upload=Send file +ToLink=Link +Select=Select +Choose=Choose +ChooseLangage=Please choose your language +Resize=Resize +Recenter=Recenter +Author=Author +User=User +Users=Users +Group=Group +Groups=Groups +NoUserGroupDefined=No user group defined +Password=Password +PasswordRetype=Retype your password +NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. +Name=Name +Person=Person +Parameter=Parameter +Parameters=Parameters +Value=Value +GlobalValue=Global value +PersonalValue=Personal value +NewValue=New value +CurrentValue=Current value +Code=Code +Type=Type +Language=Language +MultiLanguage=Multi-language +Note=Note +CurrentNote=Current note +Title=Title +Label=Label +RefOrLabel=Ref. or label +Info=Log +Family=Family +Description=Description +Designation=Description +Model=Model +DefaultModel=Default model +Action=Event +About=About +Number=Number +NumberByMonth=Number by month +AmountByMonth=Amount by month +Numero=Number +Limit=Limit +Limits=Limits +DevelopmentTeam=Development Team +Logout=Logout +NoLogoutProcessWithAuthMode=No applicative disconnect feature with authentication mode %s +Connection=Connection +Setup=Setup +Alert=Alert +Previous=Previous +Next=Next +Cards=Cards +Card=Card +Now=Now +Date=Date +DateStart=Date start +DateEnd=Date end +DateCreation=Creation date +DateModification=Modification date +DateModificationShort=Modif. date +DateLastModification=Last modification date +DateValidation=Validation date +DateClosing=Closing date +DateDue=Due date +DateValue=Value date +DateValueShort=Value date +DateOperation=Operation date +DateOperationShort=Oper. Date +DateLimit=Limit date +DateRequest=Request date +DateProcess=Process date +DatePlanShort=Date planed +DateRealShort=Date real. +DateBuild=Report build date +DatePayment=Date of payment +DurationYear=year +DurationMonth=month +DurationWeek=week +DurationDay=day +DurationYears=years +DurationMonths=months +DurationWeeks=weeks +DurationDays=days +Year=Year +Month=Month +Week=Week +Day=Day +Hour=Hour +Minute=Minute +Second=Second +Years=Years +Months=Months +Days=Days +days=days +Hours=Hours +Minutes=Minutes +Seconds=Seconds +Weeks=Weeks +Today=Today +Yesterday=Yesterday +Tomorrow=Tomorrow +Morning=Morning +Afternoon=Afternoon +Quadri=Quadri +MonthOfDay=Month of the day +HourShort=H +MinuteShort=mn +Rate=Rate +UseLocalTax=Include tax +Bytes=Bytes +KiloBytes=Kilobytes +MegaBytes=Megabytes +GigaBytes=Gigabytes +TeraBytes=Terabytes +b=b. +Kb=Kb +Mb=Mb +Gb=Gb +Tb=Tb +Cut=Cut +Copy=Copy +Paste=Paste +Default=Default +DefaultValue=Default value +DefaultGlobalValue=Global value +Price=Price +UnitPrice=Unit price +UnitPriceHT=Unit price (net) +UnitPriceTTC=Unit price +PriceU=U.P. +PriceUHT=U.P. (net) +PriceUTTC=U.P. +Amount=Amount +AmountInvoice=Invoice amount +AmountPayment=Payment amount +AmountHTShort=Amount (net) +AmountTTCShort=Amount (inc. tax) +AmountHT=Amount (net of tax) +AmountTTC=Amount (inc. tax) +AmountVAT=Amount tax +AmountLT1=Amount tax 2 +AmountLT2=Amount tax 3 +AmountLT1ES=Amount RE +AmountLT2ES=Amount IRPF +AmountTotal=Total amount +AmountAverage=Average amount +PriceQtyHT=Price for this quantity (net of tax) +PriceQtyMinHT=Price quantity min. (net of tax) +PriceQtyTTC=Price for this quantity (inc. tax) +PriceQtyMinTTC=Price quantity min. (inc. of tax) +Percentage=Percentage +Total=Total +SubTotal=Subtotal +TotalHTShort=Total (net) +TotalTTCShort=Total (inc. tax) +TotalHT=Total (net of tax) +TotalHTforthispage=Total (net of tax) for this page +TotalTTC=Total (inc. tax) +TotalTTCToYourCredit=Total (inc. tax) to your credit +TotalVAT=Total tax +TotalLT1=Total tax 2 +TotalLT2=Total tax 3 +TotalLT1ES=Total RE +TotalLT2ES=Total IRPF +IncludedVAT=Included tax +HT=Net of tax +TTC=Inc. tax +VAT=Sales tax +LT1ES=RE +LT2ES=IRPF +VATRate=Tax Rate +Average=Average +Sum=Sum +Delta=Delta +Module=Module +Option=Option +List=List +FullList=Full list +Statistics=Statistics +OtherStatistics=Other statistics +Status=Status +Favorite=Favorite +ShortInfo=Info. +Ref=Ref. +RefSupplier=Ref. supplier +RefPayment=Ref. payment +CommercialProposalsShort=Commercial proposals +Comment=Comment +Comments=Comments +ActionsToDo=Events to do +ActionsDone=Events done +ActionsToDoShort=To do +ActionsRunningshort=Started +ActionsDoneShort=Done +ActionNotApplicable=Not applicable +ActionRunningNotStarted=To start +ActionRunningShort=Started +ActionDoneShort=Finished +ActionUncomplete=Uncomplete +CompanyFoundation=Company/Foundation +ContactsForCompany=Contacts for this third party +ContactsAddressesForCompany=Contacts/addresses for this third party +AddressesForCompany=Addresses for this third party +ActionsOnCompany=Events about this third party +ActionsOnMember=Events about this member +NActions=%s events +NActionsLate=%s late +RequestAlreadyDone=Request already recorded +Filter=Filter +RemoveFilter=Remove filter +ChartGenerated=Chart generated +ChartNotGenerated=Chart not generated +GeneratedOn=Build on %s +Generate=Generate +Duration=Duration +TotalDuration=Total duration +Summary=Summary +MyBookmarks=My bookmarks +OtherInformationsBoxes=Other information boxes +DolibarrBoard=Dolibarr board +DolibarrStateBoard=Statistics +DolibarrWorkBoard=Work tasks board +Available=Available +NotYetAvailable=Not yet available +NotAvailable=Not available +Popularity=Popularity +Categories=Categories +Category=Category +By=By +From=From +to=to +and=and +or=or +Other=Other +Others=Others +OtherInformations=Other informations +Quantity=Quantity +Qty=Qty +ChangedBy=Changed by +ReCalculate=Recalculate +ResultOk=Success +ResultKo=Failure +Reporting=Reporting +Reportings=Reporting +Draft=Draft +Drafts=Drafts +Validated=Validated +Opened=Opened +New=New +Discount=Discount +Unknown=Unknown +General=General +Size=Size +Received=Received +Paid=Paid +Topic=Sujet +ByCompanies=By third parties +ByUsers=By users +Links=Links +Link=Link +Receipts=Receipts +Rejects=Rejects +Preview=Preview +NextStep=Next step +PreviousStep=Previous step +Datas=Data +None=None +NoneF=None +Late=Late +Photo=Picture +Photos=Pictures +AddPhoto=Add picture +Login=Login +CurrentLogin=Current login +January=January +February=February +March=March +April=April +May=May +June=June +July=July +August=August +September=September +October=October +November=November +December=December +JanuaryMin=Jan +FebruaryMin=Feb +MarchMin=Mar +AprilMin=Apr +MayMin=May +JuneMin=Jun +JulyMin=Jul +AugustMin=Aug +SeptemberMin=Sep +OctoberMin=Oct +NovemberMin=Nov +DecemberMin=Dec +Month01=January +Month02=February +Month03=March +Month04=April +Month05=May +Month06=June +Month07=July +Month08=August +Month09=September +Month10=October +Month11=November +Month12=December +MonthShort01=Jan +MonthShort02=Feb +MonthShort03=Mar +MonthShort04=Apr +MonthShort05=May +MonthShort06=Jun +MonthShort07=Jul +MonthShort08=Aug +MonthShort09=Sep +MonthShort10=Oct +MonthShort11=Nov +MonthShort12=Dec +AttachedFiles=Attached files and documents +FileTransferComplete=File was uploaded successfuly +DateFormatYYYYMM=YYYY-MM +DateFormatYYYYMMDD=YYYY-MM-DD +DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH:SS +ReportName=Report name +ReportPeriod=Report period +ReportDescription=Description +Report=Report +Keyword=Mot clé +Legend=Legend +FillTownFromZip=Fill city from zip +Fill=Fill +Reset=Reset +ShowLog=Show log +File=File +Files=Files +NotAllowed=Not allowed +ReadPermissionNotAllowed=Read permission not allowed +AmountInCurrency=Amount in %s currency +Example=Example +Examples=Examples +NoExample=No example +FindBug=Report a bug +NbOfThirdParties=Number of third parties +NbOfCustomers=Number of customers +NbOfLines=Number of lines +NbOfObjects=Number of objects +NbOfReferers=Number of referrers +Referers=Refering objects +TotalQuantity=Total quantity +DateFromTo=From %s to %s +DateFrom=From %s +DateUntil=Until %s +Check=Check +Internal=Internal +External=External +Internals=Internal +Externals=External +Warning=Warning +Warnings=Warnings +BuildPDF=Build PDF +RebuildPDF=Rebuild PDF +BuildDoc=Build Doc +RebuildDoc=Rebuild Doc +Entity=Environment +Entities=Entities +EventLogs=Logs +CustomerPreview=Customer preview +SupplierPreview=Supplier preview +AccountancyPreview=Accountancy preview +ShowCustomerPreview=Show customer preview +ShowSupplierPreview=Show supplier preview +ShowAccountancyPreview=Show accountancy preview +ShowProspectPreview=Show prospect preview +RefCustomer=Ref. customer +Currency=Currency +InfoAdmin=Information for administrators +Undo=Undo +Redo=Redo +ExpandAll=Expand all +UndoExpandAll=Undo expand +Reason=Reason +FeatureNotYetSupported=Feature not yet supported +CloseWindow=Close window +Question=Question +Response=Response +Priority=Priority +SendByMail=Send by EMail +MailSentBy=Email sent by +TextUsedInTheMessageBody=Email body +SendAcknowledgementByMail=Send Ack. by email +NoEMail=No email +NoMobilePhone=No mobile phone +Owner=Owner +DetectedVersion=Detected version +FollowingConstantsWillBeSubstituted=The following constants will be replaced with the corresponding value. +Refresh=Refresh +BackToList=Back to list +GoBack=Go back +CanBeModifiedIfOk=Can be modified if valid +CanBeModifiedIfKo=Can be modified if not valid +RecordModifiedSuccessfully=Record modified successfully +RecordsModified=%s records modified +AutomaticCode=Automatic code +NotManaged=Not managed +FeatureDisabled=Feature disabled +MoveBox=Move box %s +Offered=Offered +NotEnoughPermissions=You don't have permission for this action +SessionName=Session name +Method=Method +Receive=Receive +PartialWoman=Partial +PartialMan=Partial +TotalWoman=Total +TotalMan=Total +NeverReceived=Never received +Canceled=Canceled +YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary +Color=Color +Documents=Linked files +DocumentsNb=Linked files (%s) +Documents2=Documents +BuildDocuments=Generated documents +UploadDisabled=Upload disabled +MenuECM=Documents +MenuAWStats=AWStats +MenuMembers=Members +MenuAgendaGoogle=Google agenda +ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +NoFileFound=No documents saved in this directory +CurrentUserLanguage=Current language +CurrentTheme=Current theme +CurrentMenuManager=Current menu manager +DisabledModules=Disabled modules +For=For +ForCustomer=For customer +Signature=Signature +HidePassword=Show command with password hidden +UnHidePassword=Show real command with clear password +Root=Root +Informations=Informations +Page=Page +Notes=Notes +AddNewLine=Add new line +AddFile=Add file +ListOfFiles=List of available files +FreeZone=Free entry +FreeLineOfType=Free entry of type +CloneMainAttributes=Clone object with its main attributes +PDFMerge=PDF Merge +Merge=Merge +PrintContentArea=Show page to print main content area +MenuManager=Menu manager +NoMenu=No sub-menu +WarningYouAreInMaintenanceMode=Warning, you are in a maintenance mode, so only login %s is allowed to use application at the moment. +CoreErrorTitle=System error +CoreErrorMessage=Sorry, an error occurred. Check the logs or contact your system administrator. +CreditCard=Credit card +FieldsWithAreMandatory=Fields with %s are mandatory +FieldsWithIsForPublic=Fields with %s are shown on public list of members. If you don't want this, check off the "public" box. +AccordingToGeoIPDatabase=(according to GeoIP convertion) +Line=Line +NotSupported=Not supported +RequiredField=Required field +Result=Result +ToTest=Test +ValidateBefore=Card must be validated before using this feature +Visibility=Visibility +Private=Private +Hidden=Hidden +Resources=Resources +Source=Source +Prefix=Prefix +Before=Before +After=After +IPAddress=IP address +Frequency=Frequency +IM=Instant messaging +NewAttribute=New attribute +AttributeCode=Attribute code +OptionalFieldsSetup=Extra attributes setup +URLPhoto=URL of photo/logo +SetLinkToThirdParty=Link to another third party +CreateDraft=Create draft +SetToDraft=Back to draft +ClickToEdit=Click to edit +ObjectDeleted=Object %s deleted +ByCountry=By country +ByTown=By town +ByDate=By date +ByMonthYear=By month/year +ByYear=By year +ByMonth=By month +ByDay=By day +BySalesRepresentative=By sales representative +LinkedToSpecificUsers=Linked to a particular user contact +DeleteAFile=Delete a file +ConfirmDeleteAFile=Are you sure you want to delete file +NoResults=No results +ModulesSystemTools=Modules tools +Test=Test +Element=Element +NoPhotoYet=No pictures available yet +HomeDashboard=Home summary +Deductible=Deductible +from=from +toward=toward +Access=Access +HelpCopyToClipboard=Use Ctrl+C to copy to clipboard +SaveUploadedFileWithMask=Save file on server with name "%s" (otherwise "%s") +OriginFileName=Original filename +SetDemandReason=Set source +SetBankAccount=Define Bank Account +AccountCurrency=Account Currency +ViewPrivateNote=View notes +XMoreLines=%s line(s) hidden +PublicUrl=Public URL +AddBox=Add box +SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s +# Week day +Monday=Monday +Tuesday=Tuesday +Wednesday=Wednesday +Thursday=Thursday +Friday=Friday +Saturday=Saturday +Sunday=Sunday +MondayMin=Mo +TuesdayMin=Tu +WednesdayMin=We +ThursdayMin=Th +FridayMin=Fr +SaturdayMin=Sa +SundayMin=Su +Day1=Monday +Day2=Tuesday +Day3=Wednesday +Day4=Thursday +Day5=Friday +Day6=Saturday +Day0=Sunday +ShortMonday=M +ShortTuesday=T +ShortWednesday=W +ShortThursday=T +ShortFriday=F +ShortSaturday=S +ShortSunday=S diff --git a/htdocs/langs/ka_GE/margins.lang b/htdocs/langs/ka_GE/margins.lang new file mode 100644 index 00000000000..748b3c71f30 --- /dev/null +++ b/htdocs/langs/ka_GE/margins.lang @@ -0,0 +1,45 @@ +# Dolibarr language file - Source file is en_US - marges + +Margin=Margin +Margins=Margins +TotalMargin=Total Margin +MarginOnProducts=Margin / Products +MarginOnServices=Margin / Services +MarginRate=Margin rate +MarkRate=Mark rate +DisplayMarginRates=Display margin rates +DisplayMarkRates=Display mark rates +InputPrice=Input price +margin=Profit margins management +margesSetup=Profit margins management setup +MarginDetails=Margin details +ProductMargins=Product margins +CustomerMargins=Customer margins +SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins +ProductService=Product or Service +AllProducts=All products and services +ChooseProduct/Service=Choose product or service +StartDate=Start date +EndDate=End date +Launch=Start +ForceBuyingPriceIfNull=Force buying price if null +ForceBuyingPriceIfNullDetails=if "ON", margin will be zero on line (buying price = selling price), otherwise ("OFF"), marge will be equal to selling price (buying price = 0) +MARGIN_METHODE_FOR_DISCOUNT=Margin method for global discounts +UseDiscountAsProduct=As a product +UseDiscountAsService=As a service +UseDiscountOnTotal=On subtotal +MARGIN_METHODE_FOR_DISCOUNT_DETAILS=Defines if a global discount is treated as a product, a service, or only on subtotal for margin calculation. +MARGIN_TYPE=Margin type +MargeBrute=Raw margin +MargeNette=Net margin +MARGIN_TYPE_DETAILS=Raw margin : Selling price - Buying price
Net margin : Selling price - Cost price +CostPrice=Cost price +BuyingCost=Cost price +UnitCharges=Unit charges +Charges=Charges +AgentContactType=Commercial agent contact type +AgentContactTypeDetails=Define what contact type (linked on invoices) will be used for margin report per sale representative +rateMustBeNumeric=Rate must be a numeric value +markRateShouldBeLesserThan100=Mark rate should be lower than 100 +ShowMarginInfos=Show margin infos diff --git a/htdocs/langs/ka_GE/members.lang b/htdocs/langs/ka_GE/members.lang new file mode 100644 index 00000000000..40bca8e85fb --- /dev/null +++ b/htdocs/langs/ka_GE/members.lang @@ -0,0 +1,206 @@ +# Dolibarr language file - Source file is en_US - members +MembersArea=Members area +PublicMembersArea=Public members area +MemberCard=Member card +SubscriptionCard=Subscription card +Member=Member +Members=Members +MemberAccount=Member login +ShowMember=Show member card +UserNotLinkedToMember=User not linked to a member +ThirdpartyNotLinkedToMember=Third-party not linked to a member +MembersTickets=Members Tickets +FundationMembers=Foundation members +Attributs=Attributes +ErrorMemberTypeNotDefined=Member type not defined +ListOfPublicMembers=List of public members +ListOfValidatedPublicMembers=List of validated public members +ErrorThisMemberIsNotPublic=This member is not public +ErrorMemberIsAlreadyLinkedToThisThirdParty=Another member (name: %s, login: %s) is already linked to a third party %s. Remove this link first because a third party can't be linked to only a member (and vice versa). +ErrorUserPermissionAllowsToLinksToItselfOnly=For security reasons, you must be granted permissions to edit all users to be able to link a member to a user that is not yours. +ThisIsContentOfYourCard=This is details of your card +CardContent=Content of your member card +SetLinkToUser=Link to a Dolibarr user +SetLinkToThirdParty=Link to a Dolibarr third party +MembersCards=Members business cards +MembersList=List of members +MembersListToValid=List of draft members (to be validated) +MembersListValid=List of valid members +MembersListUpToDate=List of valid members with up to date subscription +MembersListNotUpToDate=List of valid members with subscription out of date +MembersListResiliated=List of resiliated members +MembersListQualified=List of qualified members +MenuMembersToValidate=Draft members +MenuMembersValidated=Validated members +MenuMembersUpToDate=Up to date members +MenuMembersNotUpToDate=Out of date members +MenuMembersResiliated=Resiliated members +MembersWithSubscriptionToReceive=Members with subscription to receive +DateAbonment=Subscription date +DateSubscription=Subscription date +DateNextSubscription=Next subscription +DateEndSubscription=Subscription end date +EndSubscription=End subscription +SubscriptionId=Subscription id +MemberId=Member id +NewMember=New member +NewType=New member type +MemberType=Member type +MemberTypeId=Member type id +MemberTypeLabel=Member type label +MembersTypes=Members types +MembersAttributes=Members attributes +SearchAMember=Search a member +MemberStatusDraft=Draft (needs to be validated) +MemberStatusDraftShort=Draft +MemberStatusActive=Validated (waiting subscription) +MemberStatusActiveShort=Validated +MemberStatusActiveLate=subscription expired +MemberStatusActiveLateShort=Expired +MemberStatusPaid=Subscription up to date +MemberStatusPaidShort=Up to date +MemberStatusResiliated=Resiliated member +MemberStatusResiliatedShort=Resiliated +MembersStatusToValid=Draft members +MembersStatusToValidShort=Draft members +MembersStatusValidated=Validated members +MembersStatusPaid=Subscription up to date +MembersStatusPaidShort=Up to date +MembersStatusNotPaid=Subscription out of date +MembersStatusNotPaidShort=Out of date +MembersStatusResiliated=Resiliated members +MembersStatusResiliatedShort=Resiliated members +NewCotisation=New contribution +PaymentSubscription=New contribution payment +EditMember=Edit member +SubscriptionEndDate=Subscription's end date +MembersTypeSetup=Members type setup +NewSubscription=New subscription +NewSubscriptionDesc=This form allows you to record your subscription as a new member of the foundation. If you want to renew your subscription (if already a member), please contact foundation board instead by email %s. +Subscription=Subscription +Subscriptions=Subscriptions +SubscriptionLate=Late +SubscriptionNotReceived=Subscription never received +SubscriptionLateShort=Late +SubscriptionNotReceivedShort=Never received +ListOfSubscriptions=List of subscriptions +SendCardByMail=Send card by Email +AddMember=Create member +NoTypeDefinedGoToSetup=No member types defined. Go to menu "Members types" +NewMemberType=New member type +WelcomeEMail=Welcome e-mail +SubscriptionRequired=Subscription required +EditType=Edit member type +DeleteType=Delete +VoteAllowed=Vote allowed +Physical=Physical +Moral=Moral +MorPhy=Moral/Physical +Reenable=Reenable +ResiliateMember=Resiliate a member +ConfirmResiliateMember=Are you sure you want to resiliate this member ? +DeleteMember=Delete a member +ConfirmDeleteMember=Are you sure you want to delete this member (Deleting a member will delete all his subscriptions) ? +DeleteSubscription=Delete a subscription +ConfirmDeleteSubscription=Are you sure you want to delete this subscription ? +Filehtpasswd=htpasswd file +ValidateMember=Validate a member +ConfirmValidateMember=Are you sure you want to validate this member ? +FollowingLinksArePublic=The following links are open pages not protected by any Dolibarr permission. They are not formated pages, provided as example to show how to list members database. +PublicMemberList=Public member list +BlankSubscriptionForm=Public auto-subscription form +BlankSubscriptionFormDesc=Dolibarr can provide you a public URL to allow external visitors to ask to subscribe to the foundation. If an online payment module is enabled, a payment form will also be automatically provided. +EnablePublicSubscriptionForm=Enable the public auto-subscription form +MemberPublicLinks=Public links/pages +ExportDataset_member_1=Members and subscriptions +ImportDataset_member_1=Members +LastMembers=Last %s members +LastMembersModified=Last %s modified members +LastSubscriptionsModified=Last %s modified subscriptions +AttributeName=Attribute name +String=String +Text=Text +Int=Int +Date=Date +DateAndTime=Date and time +PublicMemberCard=Member public card +MemberNotOrNoMoreExpectedToSubscribe=Member not or no more expected to subscribe +AddSubscription=Create subscription +ShowSubscription=Show subscription +MemberModifiedInDolibarr=Member modified in Dolibarr +SendAnEMailToMember=Send information email to member +DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Subject of the e-mail received in case of auto-inscription of a guest +DescADHERENT_AUTOREGISTER_NOTIF_MAIL=E-mail received in case of auto-inscription of a guest +DescADHERENT_AUTOREGISTER_MAIL_SUBJECT=EMail subject for member autosubscription +DescADHERENT_AUTOREGISTER_MAIL=EMail for member autosubscription +DescADHERENT_MAIL_VALID_SUBJECT=EMail subject for member validation +DescADHERENT_MAIL_VALID=EMail for member validation +DescADHERENT_MAIL_COTIS_SUBJECT=EMail subject for subscription +DescADHERENT_MAIL_COTIS=EMail for subscription +DescADHERENT_MAIL_RESIL_SUBJECT=EMail subject for member resiliation +DescADHERENT_MAIL_RESIL=EMail for member resiliation +DescADHERENT_MAIL_FROM=Sender EMail for automatic emails +DescADHERENT_ETIQUETTE_TYPE=Format of labels page +DescADHERENT_ETIQUETTE_TEXT=Text printed on member address sheets +DescADHERENT_CARD_TYPE=Format of cards page +DescADHERENT_CARD_HEADER_TEXT=Text printed on top of member cards +DescADHERENT_CARD_TEXT=Text printed on member cards (align on left) +DescADHERENT_CARD_TEXT_RIGHT=Text printed on member cards (align on right) +DescADHERENT_CARD_FOOTER_TEXT=Text printed on bottom of member cards +GlobalConfigUsedIfNotDefined=Text defined in Foundation module setup will be used if not defined here +MayBeOverwrited=This text can be overwrited by value defined for member's type +ShowTypeCard=Show type '%s' +HTPasswordExport=htpassword file generation +NoThirdPartyAssociatedToMember=No third party associated to this member +ThirdPartyDolibarr=Dolibarr third party +MembersAndSubscriptions= Members and Subscriptions +MoreActions=Complementary action on recording +MoreActionsOnSubscription=Complementary action, suggested by default when recording a subscription +MoreActionBankDirect=Create a direct transaction record on account +MoreActionBankViaInvoice=Create an invoice and payment on account +MoreActionInvoiceOnly=Create an invoice with no payment +LinkToGeneratedPages=Generate visit cards +LinkToGeneratedPagesDesc=This screen allows you to generate PDF files with business cards for all your members or a particular member. +DocForAllMembersCards=Generate business cards for all members +DocForOneMemberCards=Generate business cards for a particular member +DocForLabels=Generate address sheets +SubscriptionPayment=Subscription payment +LastSubscriptionDate=Last subscription date +LastSubscriptionAmount=Last subscription amount +MembersStatisticsByCountries=Members statistics by country +MembersStatisticsByState=Members statistics by state/province +MembersStatisticsByTown=Members statistics by town +MembersStatisticsByRegion=Members statistics by region +MemberByRegion=Members by region +NbOfMembers=Number of members +NoValidatedMemberYet=No validated members found +MembersByCountryDesc=This screen show you statistics on members by countries. Graphic depends however on Google online graph service and is available only if an internet connection is is working. +MembersByStateDesc=This screen show you statistics on members by state/provinces/canton. +MembersByTownDesc=This screen show you statistics on members by town. +MembersStatisticsDesc=Choose statistics you want to read... +MenuMembersStats=Statistics +LastMemberDate=Last member date +Nature=Nature +Public=Information are public +Exports=Exports +NewMemberbyWeb=New member added. Awaiting approval +NewMemberForm=New member form +SubscriptionsStatistics=Statistics on subscriptions +NbOfSubscriptions=Number of subscriptions +AmountOfSubscriptions=Amount of subscriptions +TurnoverOrBudget=Turnover (for a company) or Budget (for a foundation) +DefaultAmount=Default amount of subscription +CanEditAmount=Visitor can choose/edit amount of its subscription +MEMBER_NEWFORM_PAYONLINE=Jump on integrated online payment page +Associations=Foundations +Collectivités=Organizations +Particuliers=Personal +Entreprises=Companies +DOLIBARRFOUNDATION_PAYMENT_FORM=To make your subscription payment using a bank transfer, see page http://wiki.dolibarr.org/index.php/Subscribe.
To pay using a Credit Card or Paypal, click on button at bottom of this page.
+ByProperties=By characteristics +MembersStatisticsByProperties=Members statistics by characteristics +MembersByNature=Members by nature +VATToUseForSubscriptions=VAT rate to use for subscriptions +NoVatOnSubscription=No TVA for subscriptions +MEMBER_PAYONLINE_SENDEMAIL=Email to warn when Dolibarr receive a confirmation of a validated payment for subscription +ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Product used for subscription line into invoice: %s diff --git a/htdocs/langs/ka_GE/opensurvey.lang b/htdocs/langs/ka_GE/opensurvey.lang new file mode 100644 index 00000000000..0b191e426ec --- /dev/null +++ b/htdocs/langs/ka_GE/opensurvey.lang @@ -0,0 +1,66 @@ +# Dolibarr language file - Source file is en_US - opensurvey +Survey=Poll +Surveys=Polls +OrganizeYourMeetingEasily=Organize your meetings and polls easily. First select type of poll... +NewSurvey=New poll +NoSurveysInDatabase=%s poll(s) into database. +OpenSurveyArea=Polls area +AddACommentForPoll=You can add a comment into poll... +AddComment=Add comment +CreatePoll=Create poll +PollTitle=Poll title +ToReceiveEMailForEachVote=Receive an email for each vote +TypeDate=Type date +TypeClassic=Type standard +OpenSurveyStep2=Select your dates amoung the free days (grey). The selected days are green. You can unselect a day previously selected by clicking again on it +RemoveAllDays=Remove all days +CopyHoursOfFirstDay=Copy hours of first day +RemoveAllHours=Remove all hours +SelectedDays=Selected days +TheBestChoice=The best choice currently is +TheBestChoices=The best choices currently are +with=with +OpenSurveyHowTo=If you agree to vote in this poll, you have to give your name, choose the values that fit best for you and validate with the plus button at the end of the line. +CommentsOfVoters=Comments of voters +ConfirmRemovalOfPoll=Are you sure you want to remove this poll (and all votes) +RemovePoll=Remove poll +UrlForSurvey=URL to communicate to get a direct access to poll +PollOnChoice=You are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll: +CreateSurveyDate=Create a date poll +CreateSurveyStandard=Create a standard poll +CheckBox=Simple checkbox +YesNoList=List (empty/yes/no) +PourContreList=List (empty/for/against) +AddNewColumn=Add new column +TitleChoice=Choice label +ExportSpreadsheet=Export result spreadsheet +ExpireDate=Limit date +NbOfSurveys=Number of polls +NbOfVoters=Nb of voters +SurveyResults=Results +PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. +5MoreChoices=5 more choices +Abstention=Abstention +Against=Against +YouAreInivitedToVote=You are invited to vote for this poll +VoteNameAlreadyExists=This name was already used for this poll +ErrorPollDoesNotExists=Error, poll %s does not exists. +OpenSurveyNothingToSetup=There is no specific setup to do. +PollWillExpire=Your poll will expire automatically %s days after the last date of your poll. +AddADate=Add a date +AddStartHour=Add start hour +AddEndHour=Add end hour +votes=vote(s) +NoCommentYet=No comments have been posted for this poll yet +CanEditVotes=Can change vote of others +CanComment=Voters can comment in the poll +CanSeeOthersVote=Voters can see other people's vote +SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :
- empty,
- "8h", "8H" or "8:00" to give a meeting's start hour,
- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,
- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes. +BackToCurrentMonth=Back to current month +ErrorOpenSurveyFillFirstSection=You haven't filled the first section of the poll creation +ErrorOpenSurveyOneChoice=Enter at least one choice +ErrorOpenSurveyDateFormat=Date must have the format YYYY-MM-DD +ErrorInsertingComment=There was an error while inserting your comment +MoreChoices=Enter more choices for the voters +SurveyExpiredInfo=The voting time of this poll has expired. +EmailSomeoneVoted=%s has filled a line.\nYou can find your poll at the link: \n%s diff --git a/htdocs/langs/ka_GE/orders.lang b/htdocs/langs/ka_GE/orders.lang new file mode 100644 index 00000000000..34792ae1eb2 --- /dev/null +++ b/htdocs/langs/ka_GE/orders.lang @@ -0,0 +1,164 @@ +# Dolibarr language file - Source file is en_US - orders +OrdersArea=Customers orders area +SuppliersOrdersArea=Suppliers orders area +OrderCard=Order card +OrderId=Order Id +Order=Order +Orders=Orders +OrderLine=Order line +OrderFollow=Follow up +OrderDate=Order date +OrderToProcess=Order to process +NewOrder=New order +ToOrder=Make order +MakeOrder=Make order +SupplierOrder=Supplier order +SuppliersOrders=Suppliers orders +SuppliersOrdersRunning=Current suppliers orders +CustomerOrder=Customer order +CustomersOrders=Customers orders +CustomersOrdersRunning=Current customer's orders +CustomersOrdersAndOrdersLines=Customer orders and order's lines +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process +SuppliersOrdersToProcess=Supplier's orders to process +StatusOrderCanceledShort=Canceled +StatusOrderDraftShort=Draft +StatusOrderValidatedShort=Validated +StatusOrderSentShort=In process +StatusOrderSent=Shipment in process +StatusOrderOnProcessShort=Ordered +StatusOrderProcessedShort=Processed +StatusOrderToBillShort=Delivered +StatusOrderToBill2Short=To bill +StatusOrderApprovedShort=Approved +StatusOrderRefusedShort=Refused +StatusOrderToProcessShort=To process +StatusOrderReceivedPartiallyShort=Partially received +StatusOrderReceivedAllShort=Everything received +StatusOrderCanceled=Canceled +StatusOrderDraft=Draft (needs to be validated) +StatusOrderValidated=Validated +StatusOrderOnProcess=Ordered - Standby reception +StatusOrderProcessed=Processed +StatusOrderToBill=Delivered +StatusOrderToBill2=To bill +StatusOrderApproved=Approved +StatusOrderRefused=Refused +StatusOrderReceivedPartially=Partially received +StatusOrderReceivedAll=Everything received +ShippingExist=A shipment exists +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered +DraftOrWaitingApproved=Draft or approved not yet ordered +DraftOrWaitingShipped=Draft or validated not yet shipped +MenuOrdersToBill=Orders delivered +MenuOrdersToBill2=Billable orders +SearchOrder=Search order +SearchACustomerOrder=Search a customer order +ShipProduct=Ship product +Discount=Discount +CreateOrder=Create Order +RefuseOrder=Refuse order +ApproveOrder=Accept order +ValidateOrder=Validate order +UnvalidateOrder=Unvalidate order +DeleteOrder=Delete order +CancelOrder=Cancel order +AddOrder=Create order +AddToMyOrders=Add to my orders +AddToOtherOrders=Add to other orders +AddToDraftOrders=Add to draft order +ShowOrder=Show order +NoOpenedOrders=No opened orders +NoOtherOpenedOrders=No other opened orders +NoDraftOrders=No draft orders +OtherOrders=Other orders +LastOrders=Last %s orders +LastModifiedOrders=Last %s modified orders +LastClosedOrders=Last %s closed orders +AllOrders=All orders +NbOfOrders=Number of orders +OrdersStatistics=Order's statistics +OrdersStatisticsSuppliers=Supplier order's statistics +NumberOfOrdersByMonth=Number of orders by month +AmountOfOrdersByMonthHT=Amount of orders by month (net of tax) +ListOfOrders=List of orders +CloseOrder=Close order +ConfirmCloseOrder=Are you sure you want to set this order to deliverd ? Once an order is delivered, it can be set to billed. +ConfirmCloseOrderIfSending=Are you sure you want to close this order ? You must close an order only when all shipping are done. +ConfirmDeleteOrder=Are you sure you want to delete this order ? +ConfirmValidateOrder=Are you sure you want to validate this order under name %s ? +ConfirmUnvalidateOrder=Are you sure you want to restore order %s to draft status ? +ConfirmCancelOrder=Are you sure you want to cancel this order ? +ConfirmMakeOrder=Are you sure you want to confirm you made this order on %s ? +GenerateBill=Generate invoice +ClassifyShipped=Classify delivered +ClassifyBilled=Classify billed +ComptaCard=Accountancy card +DraftOrders=Draft orders +RelatedOrders=Related orders +OnProcessOrders=In process orders +RefOrder=Ref. order +RefCustomerOrder=Ref. customer order +RefCustomerOrderShort=Ref. cust. order +SendOrderByMail=Send order by mail +ActionsOnOrder=Events on order +NoArticleOfTypeProduct=No article of type 'product' so no shippable article for this order +OrderMode=Order method +AuthorRequest=Request author +UseCustomerContactAsOrderRecipientIfExist=Use customer contact address if defined instead of third party address as order recipient address +RunningOrders=Orders on process +UserWithApproveOrderGrant=Users granted with "approve orders" permission. +PaymentOrderRef=Payment of order %s +CloneOrder=Clone order +ConfirmCloneOrder=Are you sure you want to clone this order %s ? +DispatchSupplierOrder=Receiving supplier order %s +##### Types de contacts ##### +TypeContact_commande_internal_SALESREPFOLL=Representative following-up customer order +TypeContact_commande_internal_SHIPPING=Representative following-up shipping +TypeContact_commande_external_BILLING=Customer invoice contact +TypeContact_commande_external_SHIPPING=Customer shipping contact +TypeContact_commande_external_CUSTOMER=Customer contact following-up order +TypeContact_order_supplier_internal_SALESREPFOLL=Representative following-up supplier order +TypeContact_order_supplier_internal_SHIPPING=Representative following-up shipping +TypeContact_order_supplier_external_BILLING=Supplier invoice contact +TypeContact_order_supplier_external_SHIPPING=Supplier shipping contact +TypeContact_order_supplier_external_CUSTOMER=Supplier contact following-up order + +Error_COMMANDE_SUPPLIER_ADDON_NotDefined=Constant COMMANDE_SUPPLIER_ADDON not defined +Error_COMMANDE_ADDON_NotDefined=Constant COMMANDE_ADDON not defined +Error_FailedToLoad_COMMANDE_SUPPLIER_ADDON_File=Failed to load module file '%s' +Error_FailedToLoad_COMMANDE_ADDON_File=Failed to load module file '%s' +Error_OrderNotChecked=No orders to invoice selected +# Sources +OrderSource0=Commercial proposal +OrderSource1=Internet +OrderSource2=Mail campaign +OrderSource3=Phone compaign +OrderSource4=Fax campaign +OrderSource5=Commercial +OrderSource6=Store +QtyOrdered=Qty ordered +AddDeliveryCostLine=Add a delivery cost line indicating the weight of the order +# Documents models +PDFEinsteinDescription=A complete order model (logo...) +PDFEdisonDescription=A simple order model +PDFProformaDescription=A complete proforma invoice (logo…) +# Orders modes +OrderByMail=Mail +OrderByFax=Fax +OrderByEMail=EMail +OrderByWWW=Online +OrderByPhone=Phone +CreateInvoiceForThisCustomer=Bill orders +NoOrdersToInvoice=No orders billable +CloseProcessedOrdersAutomatically=Classify "Processed" all selected orders. +OrderCreation=Order creation +Ordered=Ordered +OrderCreated=Your orders have been created +OrderFail=An error happened during your orders creation +CreateOrders=Create orders +ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/ka_GE/other.lang b/htdocs/langs/ka_GE/other.lang new file mode 100644 index 00000000000..88991888183 --- /dev/null +++ b/htdocs/langs/ka_GE/other.lang @@ -0,0 +1,237 @@ +# Dolibarr language file - Source file is en_US - other +SecurityCode=Security code +Calendar=Calendar +Tools=Tools +ToolsDesc=This area is dedicated to group miscellaneous tools not available into other menu entries.

Those tools can be reached from menu on the side. +Birthday=Birthday +BirthdayDate=Birthday +DateToBirth=Date of birth +BirthdayAlertOn= birthday alert active +BirthdayAlertOff= birthday alert inactive +Notify_FICHINTER_VALIDATE=Intervention validated +Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail +Notify_BILL_VALIDATE=Customer invoice validated +Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_APPROVE=Supplier order approved +Notify_ORDER_SUPPLIER_REFUSE=Supplier order refused +Notify_ORDER_VALIDATE=Customer order validated +Notify_PROPAL_VALIDATE=Customer proposal validated +Notify_PROPAL_CLOSE_SIGNED=Customer propal closed signed +Notify_PROPAL_CLOSE_REFUSED=Customer propal closed refused +Notify_WITHDRAW_TRANSMIT=Transmission withdrawal +Notify_WITHDRAW_CREDIT=Credit withdrawal +Notify_WITHDRAW_EMIT=Perform withdrawal +Notify_ORDER_SENTBYMAIL=Customer order sent by mail +Notify_COMPANY_CREATE=Third party created +Notify_COMPANY_SENTBYMAIL=Mails sent from third party card +Notify_PROPAL_SENTBYMAIL=Commercial proposal sent by mail +Notify_BILL_PAYED=Customer invoice payed +Notify_BILL_CANCEL=Customer invoice canceled +Notify_BILL_SENTBYMAIL=Customer invoice sent by mail +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order validated +Notify_ORDER_SUPPLIER_SENTBYMAIL=Supplier order sent by mail +Notify_BILL_SUPPLIER_VALIDATE=Supplier invoice validated +Notify_BILL_SUPPLIER_PAYED=Supplier invoice payed +Notify_BILL_SUPPLIER_SENTBYMAIL=Supplier invoice sent by mail +Notify_BILL_SUPPLIER_CANCELED=Supplier invoice cancelled +Notify_CONTRACT_VALIDATE=Contract validated +Notify_FICHEINTER_VALIDATE=Intervention validated +Notify_SHIPPING_VALIDATE=Shipping validated +Notify_SHIPPING_SENTBYMAIL=Shipping sent by mail +Notify_MEMBER_VALIDATE=Member validated +Notify_MEMBER_MODIFY=Member modified +Notify_MEMBER_SUBSCRIPTION=Member subscribed +Notify_MEMBER_RESILIATE=Member resiliated +Notify_MEMBER_DELETE=Member deleted +Notify_PROJECT_CREATE=Project creation +Notify_TASK_CREATE=Task created +Notify_TASK_MODIFY=Task modified +Notify_TASK_DELETE=Task deleted +SeeModuleSetup=See module setup +NbOfAttachedFiles=Number of attached files/documents +TotalSizeOfAttachedFiles=Total size of attached files/documents +MaxSize=Maximum size +AttachANewFile=Attach a new file/document +LinkedObject=Linked object +Miscellaneous=Miscellaneous +NbOfActiveNotifications=Number of notifications +PredefinedMailTest=This is a test mail.\nThe two lines are separated by a carriage return.\n\n__SIGNATURE__ +PredefinedMailTestHtml=This is a test mail (the word test must be in bold).
The two lines are separated by a carriage return.

__SIGNATURE__ +PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ +DemoDesc=Dolibarr is a compact ERP/CRM composed by several functional modules. A demo that includes all modules does not mean anything as this never occurs. So, several demo profiles are available. +ChooseYourDemoProfil=Choose the demo profile that match your activity... +DemoFundation=Manage members of a foundation +DemoFundation2=Manage members and bank account of a foundation +DemoCompanyServiceOnly=Manage a freelance activity selling service only +DemoCompanyShopWithCashDesk=Manage a shop with a cash desk +DemoCompanyProductAndStocks=Manage a small or medium company selling products +DemoCompanyAll=Manage a small or medium company with multiple activities (all main modules) +GoToDemo=Go to demo +CreatedBy=Created by %s +ModifiedBy=Modified by %s +ValidatedBy=Validated by %s +CanceledBy=Canceled by %s +ClosedBy=Closed by %s +CreatedById=User id who created +ModifiedById=User id who made last change +ValidatedById=User id who validated +CanceledById=User id who canceled +ClosedById=User id who closed +CreatedByLogin=User login who created +ModifiedByLogin=User login who made last change +ValidatedByLogin=User login who validated +CanceledByLogin=User login who canceled +ClosedByLogin=User login who closed +FileWasRemoved=File %s was removed +DirWasRemoved=Directory %s was removed +FeatureNotYetAvailableShort=Available in a next version +FeatureNotYetAvailable=Feature not yet available in this version +FeatureExperimental=Experimental feature. Not stable in this version +FeatureDevelopment=Development feature. Not stable in this version +FeaturesSupported=Features supported +Width=Width +Height=Height +Depth=Depth +Top=Top +Bottom=Bottom +Left=Left +Right=Right +CalculatedWeight=Calculated weight +CalculatedVolume=Calculated volume +Weight=Weight +TotalWeight=Total weight +WeightUnitton=tonnes +WeightUnitkg=kg +WeightUnitg=g +WeightUnitmg=mg +WeightUnitpound=pound +Length=Length +LengthUnitm=m +LengthUnitdm=dm +LengthUnitcm=cm +LengthUnitmm=mm +Surface=Area +SurfaceUnitm2=m2 +SurfaceUnitdm2=dm2 +SurfaceUnitcm2=cm2 +SurfaceUnitmm2=mm2 +SurfaceUnitfoot2=ft2 +SurfaceUnitinch2=in2 +Volume=Volume +TotalVolume=Total volume +VolumeUnitm3=m3 +VolumeUnitdm3=dm3 +VolumeUnitcm3=cm3 +VolumeUnitmm3=mm3 +VolumeUnitfoot3=ft3 +VolumeUnitinch3=in3 +VolumeUnitounce=ounce +VolumeUnitlitre=litre +VolumeUnitgallon=gallon +Size=size +SizeUnitm=m +SizeUnitdm=dm +SizeUnitcm=cm +SizeUnitmm=mm +SizeUnitinch=inch +SizeUnitfoot=foot +SizeUnitpoint=point +BugTracker=Bug tracker +SendNewPasswordDesc=This form allows you to request a new password. It will be send to your email address.
Change will be effective only after clicking on confirmation link inside this email.
Check your email reader software. +BackToLoginPage=Back to login page +AuthenticationDoesNotAllowSendNewPassword=Authentication mode is %s.
In this mode, Dolibarr can't know nor change your password.
Contact your system administrator if you want to change your password. +EnableGDLibraryDesc=Install or enable GD library with your PHP for use this option. +EnablePhpAVModuleDesc=You need to install a module compatible with your anti-virus. (Clamav : php4-clamavlib ou php5-clamavlib) +ProfIdShortDesc=Prof Id %s is an information depending on third party country.
For example, for country %s, it's code %s. +DolibarrDemo=Dolibarr ERP/CRM demo +StatsByNumberOfUnits=Statistics in number of products/services units +StatsByNumberOfEntities=Statistics in number of referring entities +NumberOfProposals=Number of proposals on last 12 month +NumberOfCustomerOrders=Number of customer orders on last 12 month +NumberOfCustomerInvoices=Number of customer invoices on last 12 month +NumberOfSupplierOrders=Number of supplier orders on last 12 month +NumberOfSupplierInvoices=Number of supplier invoices on last 12 month +NumberOfUnitsProposals=Number of units on proposals on last 12 month +NumberOfUnitsCustomerOrders=Number of units on customer orders on last 12 month +NumberOfUnitsCustomerInvoices=Number of units on customer invoices on last 12 month +NumberOfUnitsSupplierOrders=Number of units on supplier orders on last 12 month +NumberOfUnitsSupplierInvoices=Number of units on supplier invoices on last 12 month +EMailTextInterventionValidated=The intervention %s has been validated. +EMailTextInvoiceValidated=The invoice %s has been validated. +EMailTextProposalValidated=The proposal %s has been validated. +EMailTextOrderValidated=The order %s has been validated. +EMailTextOrderApproved=The order %s has been approved. +EMailTextOrderApprovedBy=The order %s has been approved by %s. +EMailTextOrderRefused=The order %s has been refused. +EMailTextOrderRefusedBy=The order %s has been refused by %s. +EMailTextExpeditionValidated=The shipping %s has been validated. +ImportedWithSet=Importation data set +DolibarrNotification=Automatic notification +ResizeDesc=Enter new width OR new height. Ratio will be kept during resizing... +NewLength=New width +NewHeight=New height +NewSizeAfterCropping=New size after cropping +DefineNewAreaToPick=Define new area on image to pick (left click on image then drag until you reach the opposite corner) +CurrentInformationOnImage=This tool was designed to help you to resize or crop an image. This is informations on current edited image +ImageEditor=Image editor +YouReceiveMailBecauseOfNotification=You receive this message because your email has been added to list of targets to be informed of particular events into %s software of %s. +YouReceiveMailBecauseOfNotification2=This event is the following: +ThisIsListOfModules=This is a list of modules preselected by this demo profile (only most common modules are visible in this demo). Edit this to have a more personalized demo and click on "Start". +ClickHere=Click here +UseAdvancedPerms=Use the advanced permissions of some modules +FileFormat=File format +SelectAColor=Choose a color +AddFiles=Add Files +StartUpload=Start upload +CancelUpload=Cancel upload +FileIsTooBig=Files is too big +PleaseBePatient=Please be patient... +RequestToResetPasswordReceived=A request to change your Dolibarr password has been received +NewKeyIs=This is your new keys to login +NewKeyWillBe=Your new key to login to software will be +ClickHereToGoTo=Click here to go to %s +YouMustClickToChange=You must however first click on the following link to validate this password change +ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. + +##### Calendar common ##### +AddCalendarEntry=Add entry in calendar %s +NewCompanyToDolibarr=Company %s added +ContractValidatedInDolibarr=Contract %s validated +ContractCanceledInDolibarr=Contract %s canceled +ContractClosedInDolibarr=Contract %s closed +PropalClosedSignedInDolibarr=Proposal %s signed +PropalClosedRefusedInDolibarr=Proposal %s refused +PropalValidatedInDolibarr=Proposal %s validated +PropalClassifiedBilledInDolibarr=Proposal %s classified billed +InvoiceValidatedInDolibarr=Invoice %s validated +InvoicePaidInDolibarr=Invoice %s changed to paid +InvoiceCanceledInDolibarr=Invoice %s canceled +PaymentDoneInDolibarr=Payment %s done +CustomerPaymentDoneInDolibarr=Customer payment %s done +SupplierPaymentDoneInDolibarr=Supplier payment %s done +MemberValidatedInDolibarr=Member %s validated +MemberResiliatedInDolibarr=Member %s resiliated +MemberDeletedInDolibarr=Member %s deleted +MemberSubscriptionAddedInDolibarr=Subscription for member %s added +ShipmentValidatedInDolibarr=Shipment %s validated +ShipmentDeletedInDolibarr=Shipment %s deleted +##### Export ##### +Export=Export +ExportsArea=Exports area +AvailableFormats=Available formats +LibraryUsed=Librairy used +LibraryVersion=Version +ExportableDatas=Exportable data +NoExportableData=No exportable data (no modules with exportable data loaded, or missing permissions) +ToExport=Export +NewExport=New export +##### External sites ##### +ExternalSites=External sites diff --git a/htdocs/langs/ka_GE/paybox.lang b/htdocs/langs/ka_GE/paybox.lang new file mode 100644 index 00000000000..aced32a4944 --- /dev/null +++ b/htdocs/langs/ka_GE/paybox.lang @@ -0,0 +1,40 @@ +# Dolibarr language file - Source file is en_US - paybox +PayBoxSetup=PayBox module setup +PayBoxDesc=This module offer pages to allow payment on Paybox by customers. This can be used for a free payment or for a payment on a particular Dolibarr object (invoice, order, ...) +FollowingUrlAreAvailableToMakePayments=Following URLs are available to offer a page to a customer to make a payment on Dolibarr objects +PaymentForm=Payment form +WelcomeOnPaymentPage=Welcome on our online payment service +ThisScreenAllowsYouToPay=This screen allow you to make an online payment to %s. +ThisIsInformationOnPayment=This is information on payment to do +ToComplete=To complete +YourEMail=Email to receive payment confirmation +Creditor=Creditor +PaymentCode=Payment code +PayBoxDoPayment=Go on payment +YouWillBeRedirectedOnPayBox=You will be redirected on secured Paybox page to input you credit card information +PleaseBePatient=Please, be patient +Continue=Next +ToOfferALinkForOnlinePayment=URL for %s payment +ToOfferALinkForOnlinePaymentOnOrder=URL to offer a %s online payment user interface for a customer order +ToOfferALinkForOnlinePaymentOnInvoice=URL to offer a %s online payment user interface for a customer invoice +ToOfferALinkForOnlinePaymentOnContractLine=URL to offer a %s online payment user interface for a contract line +ToOfferALinkForOnlinePaymentOnFreeAmount=URL to offer a %s online payment user interface for a free amount +ToOfferALinkForOnlinePaymentOnMemberSubscription=URL to offer a %s online payment user interface for a member subscription +YouCanAddTagOnUrl=You can also add url parameter &tag=value to any of those URL (required only for free payment) to add your own payment comment tag. +SetupPayBoxToHavePaymentCreatedAutomatically=Setup your PayBox with url %s to have payment created automatically when validated by paybox. +YourPaymentHasBeenRecorded=This page confirms that your payment has been recorded. Thank you. +YourPaymentHasNotBeenRecorded=You payment has not been recorded and transaction has been canceled. Thank you. +AccountParameter=Account parameters +UsageParameter=Usage parameters +InformationToFindParameters=Help to find your %s account information +PAYBOX_CGI_URL_V2=Url of Paybox CGI module for payment +VendorName=Name of vendor +CSSUrlForPaymentForm=CSS style sheet url for payment form +MessageOK=Message on validated payment return page +MessageKO=Message on canceled payment return page +NewPayboxPaymentReceived=New Paybox payment received +NewPayboxPaymentFailed=New Paybox payment tried but failed +PAYBOX_PAYONLINE_SENDEMAIL=EMail to warn after a payment (success or failed) +PAYBOX_PBX_SITE=Value for PBX SITE +PAYBOX_PBX_RANG=Value for PBX Rang +PAYBOX_PBX_IDENTIFIANT=Value for PBX ID diff --git a/htdocs/langs/ka_GE/paypal.lang b/htdocs/langs/ka_GE/paypal.lang new file mode 100644 index 00000000000..65a3dc45a23 --- /dev/null +++ b/htdocs/langs/ka_GE/paypal.lang @@ -0,0 +1,25 @@ +# Dolibarr language file - Source file is en_US - paypal +PaypalSetup=PayPal module setup +PaypalDesc=This module offer pages to allow payment on PayPal by customers. This can be used for a free payment or for a payment on a particular Dolibarr object (invoice, order, ...) +PaypalOrCBDoPayment=Pay with credit card or Paypal +PaypalDoPayment=Pay with Paypal +PaypalCBDoPayment=Pay with credit card +PAYPAL_API_SANDBOX=Mode test/sandbox +PAYPAL_API_USER=API username +PAYPAL_API_PASSWORD=API password +PAYPAL_API_SIGNATURE=API signature +PAYPAL_API_INTEGRAL_OR_PAYPALONLY=Offer payment "integral" (Credit card+Paypal) or "Paypal" only +PaypalModeIntegral=Integral +PaypalModeOnlyPaypal=PayPal only +PAYPAL_CSS_URL=Optionnal Url of CSS style sheet on payment page +ThisIsTransactionId=This is id of transaction: %s +PAYPAL_ADD_PAYMENT_URL=Add the url of Paypal payment when you send a document by mail +PAYPAL_IPN_MAIL_ADDRESS=E-mail address for the instant notification of payment (IPN) +PredefinedMailContentLink=You can click on the secure link below to make your payment (PayPal) if it is not already done.\n\n%s\n\n +YouAreCurrentlyInSandboxMode=You are currently in the "sandbox" mode +NewPaypalPaymentReceived=New Paypal payment received +NewPaypalPaymentFailed=New Paypal payment tried but failed +PAYPAL_PAYONLINE_SENDEMAIL=EMail to warn after a payment (success or not) +ReturnURLAfterPayment=Return URL after payment +ValidationOfPaypalPaymentFailed=Validation of Paypal payment failed +PaypalConfirmPaymentPageWasCalledButFailed=Payment confirmation page for Paypal was called by Paypal but confirmation failed diff --git a/htdocs/langs/ka_GE/printipp.lang b/htdocs/langs/ka_GE/printipp.lang new file mode 100644 index 00000000000..835e6827f12 --- /dev/null +++ b/htdocs/langs/ka_GE/printipp.lang @@ -0,0 +1,14 @@ +# Dolibarr language file - Source file is en_US - printipp +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This module adds a Print button to send documents directly to a printer. It requires a Linux system with CUPS installed. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +FileWasSentToPrinter=File %s was sent to printer +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server diff --git a/htdocs/langs/ka_GE/productbatch.lang b/htdocs/langs/ka_GE/productbatch.lang new file mode 100644 index 00000000000..864782023a0 --- /dev/null +++ b/htdocs/langs/ka_GE/productbatch.lang @@ -0,0 +1,21 @@ +# ProductBATCH language file - en_US - ProductBATCH +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No +Batch=Batch/Serial +atleast1batchfield=Eat-by date or Sell-by date or Batch number +batch_number=Batch/Serial number +l_eatby=Eat-by date +l_sellby=Sell-by date +DetailBatchNumber=Batch/Serial details +DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +printBatch=Batch: %s +printEatby=Eat-by: %s +printSellby=Sell-by: %s +printQty=Qty: %d +AddDispatchBatchLine=Add a line for Shelf Life dispatching +BatchDefaultNumber=Undefined +WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/ka_GE/products.lang b/htdocs/langs/ka_GE/products.lang new file mode 100644 index 00000000000..3a29639b12b --- /dev/null +++ b/htdocs/langs/ka_GE/products.lang @@ -0,0 +1,252 @@ +# Dolibarr language file - Source file is en_US - products +ProductRef=Product ref. +ProductLabel=Product label +ProductServiceCard=Products/Services card +Products=Products +Services=Services +Product=Product +Service=Service +ProductId=Product/service id +Create=Create +Reference=Reference +NewProduct=New product +NewService=New service +ProductCode=Product code +ServiceCode=Service code +ProductVatMassChange=Mass VAT change +ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +MassBarcodeInit=Mass barcode init +MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. +ProductAccountancyBuyCode=Accountancy code (buy) +ProductAccountancySellCode=Accountancy code (sell) +ProductOrService=Product or Service +ProductsAndServices=Products and Services +ProductsOrServices=Products or Services +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesStatistics=Products and Services statistics +ProductsStatistics=Products statistics +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase +InternalRef=Internal reference +LastRecorded=Last products/services on sell recorded +LastRecordedProductsAndServices=Last %s recorded products/services +LastModifiedProductsAndServices=Last %s modified products/services +LastRecordedProducts=Last %s products recorded +LastRecordedServices=Last %s services recorded +LastProducts=Last products +CardProduct0=Product card +CardProduct1=Service card +CardContract=Contract card +Warehouse=Warehouse +Warehouses=Warehouses +WarehouseOpened=Warehouse opened +WarehouseClosed=Warehouse closed +Stock=Stock +Stocks=Stocks +Movement=Movement +Movements=Movements +Sell=Sales +Buy=Purchases +OnSell=For sale +OnBuy=For purchase +NotOnSell=Not for sale +ProductStatusOnSell=For sale +ProductStatusNotOnSell=Not for sale +ProductStatusOnSellShort=For sale +ProductStatusNotOnSellShort=Not for sale +ProductStatusOnBuy=For purchase +ProductStatusNotOnBuy=Not for purchase +ProductStatusOnBuyShort=For purchase +ProductStatusNotOnBuyShort=Not for purchase +UpdatePrice=Update price +AppliedPricesFrom=Applied prices from +SellingPrice=Selling price +SellingPriceHT=Selling price (net of tax) +SellingPriceTTC=Selling price (inc. tax) +PublicPrice=Public price +CurrentPrice=Current price +NewPrice=New price +MinPrice=Minim. selling price +MinPriceHT=Minim. selling price (net of tax) +MinPriceTTC=Minim. selling price (inc. tax) +CantBeLessThanMinPrice=The selling price can't be lower than minimum allowed for this product (%s without tax). This message can also appears if you type a too important discount. +ContractStatus=Contract status +ContractStatusClosed=Closed +ContractStatusRunning=Running +ContractStatusExpired=expired +ContractStatusOnHold=Not running +ContractStatusToRun=To get running +ContractNotRunning=This contract is not running +ErrorProductAlreadyExists=A product with reference %s already exists. +ErrorProductBadRefOrLabel=Wrong value for reference or label. +ErrorProductClone=There was a problem while trying to clone the product or service. +ErrorPriceCantBeLowerThanMinPrice=Error Price Can't Be Lower Than Minimum Price. +Suppliers=Suppliers +SupplierRef=Supplier's product ref. +ShowProduct=Show product +ShowService=Show service +ProductsAndServicesArea=Product and Services area +ProductsArea=Product area +ServicesArea=Services area +AddToMyProposals=Add to my proposals +AddToOtherProposals=Add to other proposals +AddToMyBills=Add to my bills +AddToOtherBills=Add to other bills +CorrectStock=Correct stock +AddPhoto=Add photo +ListOfStockMovements=List of stock movements +BuyingPrice=Buying price +SupplierCard=Supplier card +CommercialCard=Commercial card +AllWays=Path to find your product in stock +NoCat=Your product is not in any category +PrimaryWay=Primary path +PriceRemoved=Price removed +BarCode=Barcode +BarcodeType=Barcode type +SetDefaultBarcodeType=Set barcode type +BarcodeValue=Barcode value +NoteNotVisibleOnBill=Note (not visible on invoices, proposals...) +CreateCopy=Create copy +ServiceLimitedDuration=If product is a service with limited duration: +MultiPricesAbility=Several level of prices per product/service +MultiPricesNumPrices=Number of prices +MultiPriceLevelsName=Price categories +AssociatedProductsAbility=Activate the virtual package feature +AssociatedProducts=Package product +AssociatedProductsNumber=Number of products composing this virtual package product +ParentProductsNumber=Number of parent packaging product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +EditAssociate=Associate +Translation=Translation +KeywordFilter=Keyword filter +CategoryFilter=Category filter +ProductToAddSearch=Search product to add +AddDel=Add/Delete +Quantity=Quantity +NoMatchFound=No match found +ProductAssociationList=List of related products/services: name of product/service (quantity affected) +ProductParentList=List of package products/services with this product as a component +ErrorAssociationIsFatherOfThis=One of selected product is parent with current product +DeleteProduct=Delete a product/service +ConfirmDeleteProduct=Are you sure you want to delete this product/service? +ProductDeleted=Product/Service "%s" deleted from database. +DeletePicture=Delete a picture +ConfirmDeletePicture=Are you sure you want to delete this picture ? +ExportDataset_produit_1=Products +ExportDataset_service_1=Services +ImportDataset_produit_1=Products +ImportDataset_service_1=Services +DeleteProductLine=Delete product line +ConfirmDeleteProductLine=Are you sure you want to delete this product line? +NoProductMatching=No product/service match your criteria +MatchingProducts=Matching products/services +NoStockForThisProduct=No stock for this product +NoStock=No Stock +Restock=Restock +ProductSpecial=Special +QtyMin=Minimum Qty +PriceQty=Price for this quantity +PriceQtyMin=Price for this min. qty (w/o discount) +VATRateForSupplierProduct=VAT Rate (for this supplier/product) +DiscountQtyMin=Default discount for qty +NoPriceDefinedForThisSupplier=No price/qty defined for this supplier/product +NoSupplierPriceDefinedForThisProduct=No supplier price/qty defined for this product +RecordedProducts=Products recorded +RecordedServices=Services recorded +RecordedProductsAndServices=Products/services recorded +PredefinedProductsToSell=Predefined products to sell +PredefinedServicesToSell=Predefined services to sell +PredefinedProductsAndServicesToSell=Predefined products/services to sell +PredefinedProductsToPurchase=Predefined product to purchase +PredefinedServicesToPurchase=Predefined services to purchase +PredefinedProductsAndServicesToPurchase=Predefined products/services to puchase +GenerateThumb=Generate thumb +ProductCanvasAbility=Use special "canvas" addons +ServiceNb=Service #%s +ListProductServiceByPopularity=List of products/services by popularity +ListProductByPopularity=List of products by popularity +ListServiceByPopularity=List of services by popularity +Finished=Manufactured product +RowMaterial=Raw Material +CloneProduct=Clone product or service +ConfirmCloneProduct=Are you sure you want to clone product or service %s ? +CloneContentProduct=Clone all main informations of product/service +ClonePricesProduct=Clone main informations and prices +CloneCompositionProduct=Clone packaged product/services +ProductIsUsed=This product is used +NewRefForClone=Ref. of new product/service +CustomerPrices=Customers prices +SuppliersPrices=Suppliers prices +SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomCode=Customs code +CountryOrigin=Origin country +HiddenIntoCombo=Hidden into select lists +Nature=Nature +ProductCodeModel=Product ref template +ServiceCodeModel=Service ref template +AddThisProductCard=Create product card +HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. +AddThisServiceCard=Create service card +HelpAddThisServiceCard=This option allows you to create or clone a service if it does not exist. +CurrentProductPrice=Current price +AlwaysUseNewPrice=Always use current price of product/service +AlwaysUseFixedPrice=Use the fixed price +PriceByQuantity=Different prices by quantity +PriceByQuantityRange=Quantity range +ProductsDashboard=Products/Services summary +UpdateOriginalProductLabel=Modify original label +HelpUpdateOriginalProductLabel=Allows to edit the name of the product +### composition fabrication +Building=Production and items dispatchment +Build=Produce +BuildIt=Produce & Dispatch +BuildindListInfo=Available quantity for production per warehouse (set it to 0 for no further action) +QtyNeed=Qty +UnitPmp=Net unit VWAP +CostPmpHT=Net total VWAP +ProductUsedForBuild=Auto consumed by production +ProductBuilded=Production completed +ProductsMultiPrice=Product multi-price +ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductSellByQuarterHT=Products turnover quarterly VWAP +ServiceSellByQuarterHT=Services turnover quarterly VWAP +Quarter1=1st. Quarter +Quarter2=2nd. Quarter +Quarter3=3rd. Quarter +Quarter4=4th. Quarter +BarCodePrintsheet=Print bar code +PageToGenerateBarCodeSheets=With this tool, you can print sheets of bar code stickers. Choose format of your sticker page, type of barcode and value of barcode, then click on button %s. +NumberOfStickers=Number of stickers to print on page +PrintsheetForOneBarCode=Print several stickers for one barcode +BuildPageToPrint=Generate page to print +FillBarCodeTypeAndValueManually=Fill barcode type and value manually. +FillBarCodeTypeAndValueFromProduct=Fill barcode type and value from barcode of a product. +FillBarCodeTypeAndValueFromThirdParty=Fill barcode type and value from barcode of a thirdparty. +DefinitionOfBarCodeForProductNotComplete=Definition of type or value of bar code not complete for product %s. +DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. +BarCodeDataForProduct=Barcode information of product %s : +BarCodeDataForThirdparty=Barcode information of thirdparty %s : +ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +PriceByCustomer=Different price for each customer +PriceCatalogue=Unique price per product/service +PricingRule=Rules for customer prices +AddCustomerPrice=Add price by customers +ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +PriceByCustomerLog=Price by customer log +MinimumPriceLimit=Minimum price can't be lower that %s +MinimumRecommendedPrice=Minimum recommended price is : %s +PriceExpressionEditor=Price expression editor +PriceExpressionSelected=Selected price expression +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# +PriceMode=Price mode +PriceNumeric=Number diff --git a/htdocs/langs/ka_GE/projects.lang b/htdocs/langs/ka_GE/projects.lang new file mode 100644 index 00000000000..b3c150d1687 --- /dev/null +++ b/htdocs/langs/ka_GE/projects.lang @@ -0,0 +1,135 @@ +# Dolibarr language file - Source file is en_US - projects +RefProject=Ref. project +ProjectId=Project Id +Project=Project +Projects=Projects +ProjectStatus=Project status +SharedProject=Everybody +PrivateProject=Contacts of project +MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). +ProjectsPublicDesc=This view presents all projects you are allowed to read. +ProjectsDesc=This view presents all projects (your user permissions grant you permission to view everything). +MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). +TasksPublicDesc=This view presents all projects and tasks you are allowed to read. +TasksDesc=This view presents all projects and tasks (your user permissions grant you permission to view everything). +ProjectsArea=Projects area +NewProject=New project +AddProject=Create project +DeleteAProject=Delete a project +DeleteATask=Delete a task +ConfirmDeleteAProject=Are you sure you want to delete this project ? +ConfirmDeleteATask=Are you sure you want to delete this task ? +OfficerProject=Officer project +LastProjects=Last %s projects +AllProjects=All projects +ProjectsList=List of projects +ShowProject=Show project +SetProject=Set project +NoProject=No project defined or owned +NbOpenTasks=Nb of opened tasks +NbOfProjects=Nb of projects +TimeSpent=Time spent +TimesSpent=Time spent +RefTask=Ref. task +LabelTask=Label task +TaskTimeSpent=Time spent on tasks +TaskTimeUser=User +TaskTimeNote=Note +TaskTimeDate=Date +TasksOnOpenedProject=Tasks on opened projects +WorkloadNotDefined=Workload not defined +NewTimeSpent=New time spent +MyTimeSpent=My time spent +MyTasks=My tasks +Tasks=Tasks +Task=Task +TaskDateStart=Task start date +TaskDateEnd=Task end date +TaskDescription=Task description +NewTask=New task +AddTask=Create task +AddDuration=Add duration +Activity=Activity +Activities=Tasks/activities +MyActivity=My activity +MyActivities=My tasks/activities +MyProjects=My projects +DurationEffective=Effective duration +Progress=Progress +ProgressDeclared=Declared progress +ProgressCalculated=Calculated progress +Time=Time +ListProposalsAssociatedProject=List of the commercial proposals associated with the project +ListOrdersAssociatedProject=List of customer's orders associated with the project +ListInvoicesAssociatedProject=List of customer's invoices associated with the project +ListPredefinedInvoicesAssociatedProject=List of customer's predefined invoices associated with project +ListSupplierOrdersAssociatedProject=List of supplier's orders associated with the project +ListSupplierInvoicesAssociatedProject=List of supplier's invoices associated with the project +ListContractAssociatedProject=List of contracts associated with the project +ListFichinterAssociatedProject=List of interventions associated with the project +ListTripAssociatedProject=List of trips and expenses associated with the project +ListActionsAssociatedProject=List of events associated with the project +ActivityOnProjectThisWeek=Activity on project this week +ActivityOnProjectThisMonth=Activity on project this month +ActivityOnProjectThisYear=Activity on project this year +ChildOfTask=Child of project/task +NotOwnerOfProject=Not owner of this private project +AffectedTo=Allocated to +CantRemoveProject=This project can't be removed as it is referenced by some other objects (invoice, orders or other). See referers tab. +ValidateProject=Validate projet +ConfirmValidateProject=Are you sure you want to validate this project ? +CloseAProject=Close project +ConfirmCloseAProject=Are you sure you want to close this project ? +ReOpenAProject=Open project +ConfirmReOpenAProject=Are you sure you want to re-open this project ? +ProjectContact=Project contacts +ActionsOnProject=Events on project +YouAreNotContactOfProject=You are not a contact of this private project +DeleteATimeSpent=Delete time spent +ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent ? +DoNotShowMyTasksOnly=See also tasks not assigned to me +ShowMyTasksOnly=View only tasks assigned to me +TaskRessourceLinks=Ressources +ProjectsDedicatedToThisThirdParty=Projects dedicated to this third party +NoTasks=No tasks for this project +LinkedToAnotherCompany=Linked to other third party +TaskIsNotAffectedToYou=Task not assigned to you +ErrorTimeSpentIsEmpty=Time spent is empty +ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. +IfNeedToUseOhterObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. +CloneProject=Clone project +CloneTasks=Clone tasks +CloneContacts=Clone contacts +CloneNotes=Clone notes +CloneProjectFiles=Clone project joined files +CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? +ConfirmCloneProject=Are you sure to clone this project ? +ProjectReportDate=Change task date according project start date +ErrorShiftTaskDate=Impossible to shift task date according to new project start date +ProjectsAndTasksLines=Projects and tasks +ProjectCreatedInDolibarr=Project %s created +TaskCreatedInDolibarr=Task %s created +TaskModifiedInDolibarr=Task %s modified +TaskDeletedInDolibarr=Task %s deleted +##### Types de contacts ##### +TypeContact_project_internal_PROJECTLEADER=Project leader +TypeContact_project_external_PROJECTLEADER=Project leader +TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor +TypeContact_project_task_internal_TASKEXECUTIVE=Task executive +TypeContact_project_task_external_TASKEXECUTIVE=Task executive +TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor +SelectElement=Select element +AddElement=Link to element +UnlinkElement=Unlink element +# Documents models +DocumentModelBaleine=A complete project's report model (logo...) +PlannedWorkload = Planned workload +WorkloadOccupation= Workload affectation +ProjectReferers=Refering objects +SearchAProject=Search a project +ProjectMustBeValidatedFirst=Project must be validated first +ProjectDraft=Draft projects +FirstAddRessourceToAllocateTime=Associate a ressource to allocate time diff --git a/htdocs/langs/ka_GE/propal.lang b/htdocs/langs/ka_GE/propal.lang new file mode 100644 index 00000000000..2b6d12870a1 --- /dev/null +++ b/htdocs/langs/ka_GE/propal.lang @@ -0,0 +1,100 @@ +# Dolibarr language file - Source file is en_US - propal +Proposals=Commercial proposals +Proposal=Commercial proposal +ProposalShort=Proposal +ProposalsDraft=Draft commercial proposals +ProposalDraft=Draft commercial proposal +ProposalsOpened=Opened commercial proposals +Prop=Commercial proposals +CommercialProposal=Commercial proposal +CommercialProposals=Commercial proposals +ProposalCard=Proposal card +NewProp=New commercial proposal +NewProposal=New commercial proposal +NewPropal=New proposal +Prospect=Prospect +ProspectList=Prospect list +DeleteProp=Delete commercial proposal +ValidateProp=Validate commercial proposal +AddProp=Create proposal +ConfirmDeleteProp=Are you sure you want to delete this commercial proposal ? +ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s ? +LastPropals=Last %s proposals +LastClosedProposals=Last %s closed proposals +LastModifiedProposals=Last %s modified proposals +AllPropals=All proposals +LastProposals=Last proposals +SearchAProposal=Search a proposal +ProposalsStatistics=Commercial proposal's statistics +NumberOfProposalsByMonth=Number by month +AmountOfProposalsByMonthHT=Amount by month (net of tax) +NbOfProposals=Number of commercial proposals +ShowPropal=Show proposal +PropalsDraft=Drafts +PropalsOpened=Opened +PropalsNotBilled=Closed not billed +PropalStatusDraft=Draft (needs to be validated) +PropalStatusValidated=Validated (proposal is open) +PropalStatusOpened=Validated (proposal is open) +PropalStatusClosed=Closed +PropalStatusSigned=Signed (needs billing) +PropalStatusNotSigned=Not signed (closed) +PropalStatusBilled=Billed +PropalStatusDraftShort=Draft +PropalStatusValidatedShort=Validated +PropalStatusOpenedShort=Opened +PropalStatusClosedShort=Closed +PropalStatusSignedShort=Signed +PropalStatusNotSignedShort=Not signed +PropalStatusBilledShort=Billed +PropalsToClose=Commercial proposals to close +PropalsToBill=Signed commercial proposals to bill +ListOfProposals=List of commercial proposals +ActionsOnPropal=Events on proposal +NoOpenedPropals=No opened commercial proposals +NoOtherOpenedPropals=No other opened commercial proposals +RefProposal=Commercial proposal ref +SendPropalByMail=Send commercial proposal by mail +AssociatedDocuments=Documents associated with the proposal: +ErrorCantOpenDir=Can't open directory +DatePropal=Date of proposal +DateEndPropal=Validity ending date +DateEndPropalShort=Date end +ValidityDuration=Validity duration +CloseAs=Close with status +ClassifyBilled=Classify billed +BuildBill=Build invoice +ErrorPropalNotFound=Propal %s not found +Estimate=Estimate : +EstimateShort=Estimate +OtherPropals=Other proposals +AddToDraftProposals=Add to draft proposal +NoDraftProposals=No draft proposals +CopyPropalFrom=Create commercial proposal by copying existing proposal +CreateEmptyPropal=Create empty commercial proposals vierge or from list of products/services +DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) +UseCustomerContactAsPropalRecipientIfExist=Use customer contact address if defined instead of third party address as proposal recipient address +ClonePropal=Clone commercial proposal +ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s ? +ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s ? +ProposalsAndProposalsLines=Commercial proposal and lines +ProposalLine=Proposal line +AvailabilityPeriod=Availability delay +SetAvailability=Set availability delay +AfterOrder=after order +##### Availability ##### +AvailabilityTypeAV_NOW=Immediate +AvailabilityTypeAV_1W=1 week +AvailabilityTypeAV_2W=2 weeks +AvailabilityTypeAV_3W=3 weeks +AvailabilityTypeAV_1M=1 month +##### Types de contacts ##### +TypeContact_propal_internal_SALESREPFOLL=Representative following-up proposal +TypeContact_propal_external_BILLING=Customer invoice contact +TypeContact_propal_external_CUSTOMER=Customer contact following-up proposal +# Document models +DocModelAzurDescription=A complete proposal model (logo...) +DocModelJauneDescription=Jaune proposal model +DefaultModelPropalCreate=Default model creation +DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) +DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) diff --git a/htdocs/langs/ka_GE/resource.lang b/htdocs/langs/ka_GE/resource.lang new file mode 100644 index 00000000000..32bdd92f884 --- /dev/null +++ b/htdocs/langs/ka_GE/resource.lang @@ -0,0 +1,34 @@ + +MenuResourceIndex=Resources +MenuResourceAdd=New resource +MenuResourcePlanning=Resource planning +DeleteResource=Delete resource +ConfirmDeleteResourceElement=Confirm delete the resource for this element +NoResourceInDatabase=No resource in database. +NoResourceLinked=No resource linked + +ResourcePageIndex=Resources list +ResourceSingular=Resource +ResourceCard=Resource card +AddResource=Create a resource +ResourceFormLabel_ref=Resource name +ResourceType=Resource type +ResourceFormLabel_description=Resource description + +ResourcesLinkedToElement=Resources linked to element + +ShowResourcePlanning=Show resource planning +GotoDate=Go to date + +ResourceElementPage=Element resources +ResourceCreatedWithSuccess=Resource successfully created +RessourceLineSuccessfullyDeleted=Resource line successfully deleted +RessourceLineSuccessfullyUpdated=Resource line successfully updated +ResourceLinkedWithSuccess=Resource linked with success + +TitleResourceCard=Resource card +ConfirmDeleteResource=Confirm to delete this resource +RessourceSuccessfullyDeleted=Resource successfully deleted +DictionaryResourceType=Type of resources + +SelectResource=Select resource diff --git a/htdocs/langs/ka_GE/salaries.lang b/htdocs/langs/ka_GE/salaries.lang new file mode 100644 index 00000000000..0087cbe83e6 --- /dev/null +++ b/htdocs/langs/ka_GE/salaries.lang @@ -0,0 +1,12 @@ +# Dolibarr language file - Source file is en_US - users +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accountancy code for salaries payments +SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accountancy code for financial charge +Salary=Salary +Salaries=Salaries +Employee=Employee +NewSalaryPayment=New salary payment +SalaryPayment=Salary payment +SalariesPayments=Salaries payments +ShowSalaryPayment=Show salary payment +THM=Average hourly price +TJM=Average daily price diff --git a/htdocs/langs/ka_GE/sendings.lang b/htdocs/langs/ka_GE/sendings.lang new file mode 100644 index 00000000000..794c9019c86 --- /dev/null +++ b/htdocs/langs/ka_GE/sendings.lang @@ -0,0 +1,85 @@ +# Dolibarr language file - Source file is en_US - sendings +RefSending=Ref. shipment +Sending=Shipment +Sendings=Shipments +Shipment=Shipment +Shipments=Shipments +ShowSending=Show Sending +Receivings=Receipts +SendingsArea=Shipments area +ListOfSendings=List of shipments +SendingMethod=Shipping method +SendingReceipt=Shipping receipt +LastSendings=Last %s shipments +SearchASending=Search for shipment +StatisticsOfSendings=Statistics for shipments +NbOfSendings=Number of shipments +NumberOfShipmentsByMonth=Number of shipments by month +SendingCard=Shipment card +NewSending=New shipment +CreateASending=Create a shipment +CreateSending=Create shipment +QtyOrdered=Qty ordered +QtyShipped=Qty shipped +QtyToShip=Qty to ship +QtyReceived=Qty received +KeepToShip=Keep to ship +OtherSendingsForSameOrder=Other shipments for this order +DateSending=Date sending order +DateSendingShort=Date sending order +SendingsForSameOrder=Shipments for this order +SendingsAndReceivingForSameOrder=Shipments and receivings for this order +SendingsToValidate=Shipments to validate +StatusSendingCanceled=Canceled +StatusSendingDraft=Draft +StatusSendingValidated=Validated (products to ship or already shipped) +StatusSendingProcessed=Processed +StatusSendingCanceledShort=Canceled +StatusSendingDraftShort=Draft +StatusSendingValidatedShort=Validated +StatusSendingProcessedShort=Processed +SendingSheet=Shipment sheet +Carriers=Carriers +Carrier=Carrier +CarriersArea=Carriers area +NewCarrier=New carrier +ConfirmDeleteSending=Are you sure you want to delete this shipment ? +ConfirmValidateSending=Are you sure you want to validate this shipment with reference %s ? +ConfirmCancelSending=Are you sure you want to cancel this shipment ? +GenericTransport=Generic transport +Enlevement=Gotten by customer +DocumentModelSimple=Simple document model +DocumentModelMerou=Merou A5 model +WarningNoQtyLeftToSend=Warning, no products waiting to be shipped. +StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). +DateDeliveryPlanned=Planed date of delivery +DateReceived=Date delivery received +SendShippingByEMail=Send shipment by EMail +SendShippingRef=Submission of shipment %s +ActionsOnShipping=Events on shipment +LinkToTrackYourPackage=Link to track your package +ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is done from the order card. +RelatedShippings=Related shipments +ShipmentLine=Shipment line +CarrierList=List of transporters +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received + +# Sending methods +SendingMethodCATCH=Catch by customer +SendingMethodTRANS=Transporter +SendingMethodCOLSUI=Colissimo +# ModelDocument +DocumentModelSirocco=Simple document model for delivery receipts +DocumentModelTyphon=More complete document model for delivery receipts (logo...) +Error_EXPEDITION_ADDON_NUMBER_NotDefined=Constant EXPEDITION_ADDON_NUMBER not defined +SumOfProductVolumes=Sum of product volumes +SumOfProductWeights=Sum of product weights + +# warehouse details +DetailWarehouseNumber= Warehouse details +DetailWarehouseFormat= W:%s (Qty : %d) diff --git a/htdocs/langs/ka_GE/sms.lang b/htdocs/langs/ka_GE/sms.lang new file mode 100644 index 00000000000..4e89bb24730 --- /dev/null +++ b/htdocs/langs/ka_GE/sms.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - sms +Sms=Sms +SmsSetup=Sms setup +SmsDesc=This page allows you to define globals options on SMS features +SmsCard=SMS Card +AllSms=All SMS campains +SmsTargets=Targets +SmsRecipients=Targets +SmsRecipient=Target +SmsTitle=Description +SmsFrom=Sender +SmsTo=Target +SmsTopic=Topic of SMS +SmsText=Message +SmsMessage=SMS Message +ShowSms=Show Sms +ListOfSms=List SMS campains +NewSms=New SMS campain +EditSms=Edit Sms +ResetSms=New sending +DeleteSms=Delete Sms campain +DeleteASms=Remove a Sms campain +PreviewSms=Previuw Sms +PrepareSms=Prepare Sms +CreateSms=Create Sms +SmsResult=Result of Sms sending +TestSms=Test Sms +ValidSms=Validate Sms +ApproveSms=Approve Sms +SmsStatusDraft=Draft +SmsStatusValidated=Validated +SmsStatusApproved=Approved +SmsStatusSent=Sent +SmsStatusSentPartialy=Sent partially +SmsStatusSentCompletely=Sent completely +SmsStatusError=Error +SmsStatusNotSent=Not sent +SmsSuccessfulySent=Sms correctly sent (from %s to %s) +ErrorSmsRecipientIsEmpty=Number of target is empty +WarningNoSmsAdded=No new phone number to add to target list +ConfirmValidSms=Do you confirm validation of this campain ? +ConfirmResetMailing=Warning, if you make a reinit of Sms campain %s, you will allow to make a mass sending of it a second time. Is it really what you wan to do ? +ConfirmDeleteMailing=Do you confirm removing of campain ? +NbOfRecipients=Number of targets +NbOfUniqueSms=Nb dof unique phone numbers +NbOfSms=Nbre of phon numbers +ThisIsATestMessage=This is a test message +SendSms=Send SMS +SmsInfoCharRemain=Nb of remaining characters +SmsInfoNumero= (format international ie : +33899701761) +DelayBeforeSending=Delay before sending (minutes) +SmsNoPossibleRecipientFound=No target available. Check setup of your SMS provider. + diff --git a/htdocs/langs/ka_GE/stocks.lang b/htdocs/langs/ka_GE/stocks.lang new file mode 100644 index 00000000000..9de2e5a4dbe --- /dev/null +++ b/htdocs/langs/ka_GE/stocks.lang @@ -0,0 +1,132 @@ +# Dolibarr language file - Source file is en_US - stocks +WarehouseCard=Warehouse card +Warehouse=Warehouse +Warehouses=Warehouses +NewWarehouse=New warehouse / Stock area +WarehouseEdit=Modify warehouse +MenuNewWarehouse=New warehouse +WarehouseOpened=Warehouse opened +WarehouseClosed=Warehouse closed +WarehouseSource=Source warehouse +WarehouseSourceNotDefined=No warehouse defined, +AddOne=Add one +WarehouseTarget=Target warehouse +ValidateSending=Delete sending +CancelSending=Cancel sending +DeleteSending=Delete sending +Stock=Stock +Stocks=Stocks +Movement=Movement +Movements=Movements +ErrorWarehouseRefRequired=Warehouse reference name is required +ErrorWarehouseLabelRequired=Warehouse label is required +CorrectStock=Correct stock +ListOfWarehouses=List of warehouses +ListOfStockMovements=List of stock movements +StocksArea=Warehouses area +Location=Location +LocationSummary=Short name location +NumberOfDifferentProducts=Number of different products +NumberOfProducts=Total number of products +LastMovement=Last movement +LastMovements=Last movements +Units=Units +Unit=Unit +StockCorrection=Correct stock +StockTransfer=Stock transfer +StockMovement=Transfer +StockMovements=Stock transfers +LabelMovement=Movement label +NumberOfUnit=Number of units +UnitPurchaseValue=Unit purchase price +TotalStock=Total in stock +StockTooLow=Stock too low +StockLowerThanLimit=Stock lower than alert limit +EnhancedValue=Value +PMPValue=Weighted average price +PMPValueShort=WAP +EnhancedValueOfWarehouses=Warehouses value +UserWarehouseAutoCreate=Create a warehouse automatically when creating a user +QtyDispatched=Quantity dispatched +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch +OrderDispatch=Stock dispatching +RuleForStockManagementDecrease=Rule for stock management decrease +RuleForStockManagementIncrease=Rule for stock management increase +DeStockOnBill=Decrease real stocks on customers invoices/credit notes validation +DeStockOnValidateOrder=Decrease real stocks on customers orders validation +DeStockOnShipment=Decrease real stocks on shipment validation +ReStockOnBill=Increase real stocks on suppliers invoices/credit notes validation +ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation +ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving +ReStockOnDeleteInvoice=Increase real stocks on invoice deletion +OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock +NoPredefinedProductToDispatch=No predefined products for this object. So no dispatching in stock is required. +DispatchVerb=Dispatch +StockLimitShort=Limit for alert +StockLimit=Stock limit for alert +PhysicalStock=Physical stock +RealStock=Real Stock +VirtualStock=Virtual stock +MininumStock=Minimum stock +StockUp=Stock up +MininumStockShort=Stock min +StockUpShort=Stock up +IdWarehouse=Id warehouse +DescWareHouse=Description warehouse +LieuWareHouse=Localisation warehouse +WarehousesAndProducts=Warehouses and products +AverageUnitPricePMPShort=Weighted average input price +AverageUnitPricePMP=Weighted average input price +SellPriceMin=Selling Unit Price +EstimatedStockValueSellShort=Value to sell +EstimatedStockValueSell=Value to Sell +EstimatedStockValueShort=Input stock value +EstimatedStockValue=Input stock value +DeleteAWarehouse=Delete a warehouse +ConfirmDeleteWarehouse=Are you sure you want to delete the warehouse %s ? +PersonalStock=Personal stock %s +ThisWarehouseIsPersonalStock=This warehouse represents personal stock of %s %s +SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease +SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase +NoStockAction=No stock action +LastWaitingSupplierOrders=Orders waiting for receptions +DesiredStock=Desired stock +StockToBuy=To order +Replenishment=Replenishment +ReplenishmentOrders=Replenishment orders +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +UseVirtualStock=Use virtual stock +UsePhysicalStock=Use physical stock +CurentSelectionMode=Curent selection mode +CurentlyUsingVirtualStock=Virtual stock +CurentlyUsingPhysicalStock=Physical stock +RuleForStockReplenishment=Rule for stocks replenishment +SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier +AlertOnly= Alerts only +WarehouseForStockDecrease=The warehouse %s will be used for stock decrease +WarehouseForStockIncrease=The warehouse %s will be used for stock increase +ForThisWarehouse=For this warehouse +ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is list of all opened supplier orders +Replenishments=Replenishments +NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) +NbOfProductAfterPeriod=Quantity of product %s in stock after selected period (> %s) +MassMovement=Mass movement +MassStockMovement=Mass stock movement +SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". +RecordMovement=Record transfert +ReceivingForSameOrder=Receipts for this order +StockMovementRecorded=Stock movements recorded +RuleForStockAvailability=Rules on stock requirements +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/ka_GE/suppliers.lang b/htdocs/langs/ka_GE/suppliers.lang new file mode 100644 index 00000000000..7b4d4acb244 --- /dev/null +++ b/htdocs/langs/ka_GE/suppliers.lang @@ -0,0 +1,46 @@ +# Dolibarr language file - Source file is en_US - suppliers +Suppliers=Suppliers +Supplier=Supplier +AddSupplier=Create a supplier +SupplierRemoved=Supplier removed +SuppliersInvoice=Suppliers invoice +NewSupplier=New supplier +History=History +ListOfSuppliers=List of suppliers +ShowSupplier=Show supplier +OrderDate=Order date +BuyingPrice=Buying price +BuyingPriceMin=Minimum buying price +BuyingPriceMinShort=Min buying price +TotalBuyingPriceMin=Total of subproducts buying prices +SomeSubProductHaveNoPrices=Some sub-products have no price defined +AddSupplierPrice=Add supplier price +ChangeSupplierPrice=Change supplier price +ErrorQtyTooLowForThisSupplier=Quantity too low for this supplier or no price defined on this product for this supplier +ErrorSupplierCountryIsNotDefined=Country for this supplier is not defined. Correct this first. +ProductHasAlreadyReferenceInThisSupplier=This product has already a reference in this supplier +ReferenceSupplierIsAlreadyAssociatedWithAProduct=This reference supplier is already associated with a reference: %s +NoRecordedSuppliers=No suppliers recorded +SupplierPayment=Supplier payment +SuppliersArea=Suppliers area +RefSupplierShort=Ref. supplier +Availability=Availability +ExportDataset_fournisseur_1=Supplier invoices list and invoice lines +ExportDataset_fournisseur_2=Supplier invoices and payments +ExportDataset_fournisseur_3=Supplier orders and order lines +ApproveThisOrder=Approve this order +ConfirmApproveThisOrder=Are you sure you want to approve order %s ? +DenyingThisOrder=Denying this order +ConfirmDenyingThisOrder=Are you sure you want to deny this order %s ? +ConfirmCancelThisOrder=Are you sure you want to cancel this order %s ? +AddCustomerOrder=Create customer order +AddCustomerInvoice=Create customer invoice +AddSupplierOrder=Create supplier order +AddSupplierInvoice=Create supplier invoice +ListOfSupplierProductForSupplier=List of products and prices for supplier %s +NoneOrBatchFileNeverRan=None or batch %s not ran recently +SentToSuppliers=Sent to suppliers +ListOfSupplierOrders=List of supplier orders +MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/ka_GE/trips.lang b/htdocs/langs/ka_GE/trips.lang new file mode 100644 index 00000000000..ab29ec23b5f --- /dev/null +++ b/htdocs/langs/ka_GE/trips.lang @@ -0,0 +1,22 @@ +# Dolibarr language file - Source file is en_US - trips +Trip=Trip +Trips=Trips +TripsAndExpenses=Trips and expenses +TripsAndExpensesStatistics=Trips and expenses statistics +TripCard=Trip card +AddTrip=Create trip +ListOfTrips=List of trips +ListOfFees=List of fees +NewTrip=New trip +CompanyVisited=Company/foundation visited +Kilometers=Kilometers +FeesKilometersOrAmout=Amount or kilometers +DeleteTrip=Delete trip +ConfirmDeleteTrip=Are you sure you want to delete this trip ? +TF_OTHER=Other +TF_LUNCH=Lunch +TF_TRIP=Trip +ListTripsAndExpenses=List of trips and expenses +ExpensesArea=Trips and expenses area +SearchATripAndExpense=Search a trip and expense +ClassifyRefunded=Classify 'Refunded' diff --git a/htdocs/langs/ka_GE/users.lang b/htdocs/langs/ka_GE/users.lang new file mode 100644 index 00000000000..baf209f9d1c --- /dev/null +++ b/htdocs/langs/ka_GE/users.lang @@ -0,0 +1,122 @@ +# Dolibarr language file - Source file is en_US - users +HRMArea=HRM area +UserCard=User card +ContactCard=Contact card +GroupCard=Group card +NoContactCard=No card among contacts +Permission=Permission +Permissions=Permissions +EditPassword=Edit password +SendNewPassword=Regenerate and send password +ReinitPassword=Regenerate password +PasswordChangedTo=Password changed to: %s +SubjectNewPassword=Your new password for Dolibarr +AvailableRights=Available permissions +OwnedRights=Owned permissions +GroupRights=Group permissions +UserRights=User permissions +UserGUISetup=User display setup +DisableUser=Disable +DisableAUser=Disable a user +DeleteUser=Delete +DeleteAUser=Delete a user +DisableGroup=Disable +DisableAGroup=Disable a group +EnableAUser=Enable a user +EnableAGroup=Enable a group +DeleteGroup=Delete +DeleteAGroup=Delete a group +ConfirmDisableUser=Are you sure you want to disable user %s ? +ConfirmDisableGroup=Are you sure you want to disable group %s ? +ConfirmDeleteUser=Are you sure you want to delete user %s ? +ConfirmDeleteGroup=Are you sure you want to delete group %s ? +ConfirmEnableUser=Are you sure you want to enable user %s ? +ConfirmEnableGroup=Are you sure you want to enable group %s ? +ConfirmReinitPassword=Are you sure you want to generate a new password for user %s ? +ConfirmSendNewPassword=Are you sure you want to generate and send new password for user %s ? +NewUser=New user +CreateUser=Create user +SearchAGroup=Search a group +SearchAUser=Search a user +LoginNotDefined=Login is not defined. +NameNotDefined=Name is not defined. +ListOfUsers=List of users +Administrator=Administrator +SuperAdministrator=Super Administrator +SuperAdministratorDesc=Global administrator +AdministratorDesc=Administrator's entity +DefaultRights=Default permissions +DefaultRightsDesc=Define here default permissions that are automatically granted to a new created user (Go on user card to change permission of an existing user). +DolibarrUsers=Dolibarr users +LastName=Name +FirstName=First name +ListOfGroups=List of groups +NewGroup=New group +CreateGroup=Create group +RemoveFromGroup=Remove from group +PasswordChangedAndSentTo=Password changed and sent to %s. +PasswordChangeRequestSent=Request to change password for %s sent to %s. +MenuUsersAndGroups=Users & Groups +LastGroupsCreated=Last %s created groups +LastUsersCreated=Last %s users created +ShowGroup=Show group +ShowUser=Show user +NonAffectedUsers=Non assigned users +UserModified=User modified successfully +PhotoFile=Photo file +UserWithDolibarrAccess=User with Dolibarr access +ListOfUsersInGroup=List of users in this group +ListOfGroupsForUser=List of groups for this user +UsersToAdd=Users to add to this group +GroupsToAdd=Groups to add to this user +NoLogin=No login +LinkToCompanyContact=Link to third party / contact +LinkedToDolibarrMember=Link to member +LinkedToDolibarrUser=Link to Dolibarr user +LinkedToDolibarrThirdParty=Link to Dolibarr third party +CreateDolibarrLogin=Create a user +CreateDolibarrThirdParty=Create a third party +LoginAccountDisable=Account disabled, put a new login to activate it. +LoginAccountDisableInDolibarr=Account disabled in Dolibarr. +LoginAccountDisableInLdap=Account disabled in the domain. +UsePersonalValue=Use personal value +GuiLanguage=Interface language +InternalUser=Internal user +MyInformations=My data +ExportDataset_user_1=Dolibarr's users and properties +DomainUser=Domain user %s +Reactivate=Reactivate +CreateInternalUserDesc=This form allows you to create an user internal to your company/foundation. To create an external user (customer, supplier, ...), use the button 'Create Dolibarr user' from third party's contact card. +InternalExternalDesc=An internal user is a user that is part of your company/foundation.
An external user is a customer, supplier or other.

In both cases, permissions defines rights on Dolibarr, also external user can have a different menu manager than internal user (See Home - Setup - Display) +PermissionInheritedFromAGroup=Permission granted because inherited from one of a user's group. +Inherited=Inherited +UserWillBeInternalUser=Created user will be an internal user (because not linked to a particular third party) +UserWillBeExternalUser=Created user will be an external user (because linked to a particular third party) +IdPhoneCaller=Id phone caller +UserLogged=User %s login +UserLogoff=User %s logout +NewUserCreated=User %s created +NewUserPassword=Password change for %s +EventUserModified=User %s modified +UserDisabled=User %s disabled +UserEnabled=User %s activated +UserDeleted=User %s removed +NewGroupCreated=Group %s created +GroupModified=Group %s modified +GroupDeleted=Group %s removed +ConfirmCreateContact=Are you sure you want to create a Dolibarr account for this contact ? +ConfirmCreateLogin=Are you sure you want to create a Dolibarr account for this member ? +ConfirmCreateThirdParty=Are you sure you want to create a third party for this member ? +LoginToCreate=Login to create +NameToCreate=Name of third party to create +YourRole=Your roles +YourQuotaOfUsersIsReached=Your quota of active users is reached ! +NbOfUsers=Nb of users +DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin +HierarchicalResponsible=Supervisor +HierarchicView=Hierarchical view +UseTypeFieldToChange=Use field Type to change +OpenIDURL=OpenID URL +LoginUsingOpenID=Use OpenID to login +WeeklyHours=Weekly hours +ColorUser=Color of the user diff --git a/htdocs/langs/ka_GE/withdrawals.lang b/htdocs/langs/ka_GE/withdrawals.lang new file mode 100644 index 00000000000..c36ffbf025a --- /dev/null +++ b/htdocs/langs/ka_GE/withdrawals.lang @@ -0,0 +1,97 @@ +# Dolibarr language file - Source file is en_US - withdrawals +StandingOrdersArea=Standing orders area +CustomersStandingOrdersArea=Customers standing orders area +StandingOrders=Standing orders +StandingOrder=Standing orders +NewStandingOrder=New standing order +StandingOrderToProcess=To process +StandingOrderProcessed=Processed +Withdrawals=Withdrawals +Withdrawal=Withdrawal +WithdrawalsReceipts=Withdrawal receipts +WithdrawalReceipt=Withdrawal receipt +WithdrawalReceiptShort=Receipt +LastWithdrawalReceipts=Last %s withdrawal receipts +WithdrawedBills=Withdrawn invoices +WithdrawalsLines=Withdrawal lines +RequestStandingOrderToTreat=Request for standing orders to process +RequestStandingOrderTreated=Request for standing orders processed +NotPossibleForThisStatusOfWithdrawReceiptORLine=Not yet possible. Withdraw status must be set to 'credited' before declaring reject on specific lines. +CustomersStandingOrders=Customer standing orders +CustomerStandingOrder=Customer standing order +NbOfInvoiceToWithdraw=Nb. of invoice with withdraw request +NbOfInvoiceToWithdrawWithInfo=Nb. of invoice with withdraw request for customers having defined bank account information +InvoiceWaitingWithdraw=Invoice waiting for withdraw +AmountToWithdraw=Amount to withdraw +WithdrawsRefused=Withdraws refused +NoInvoiceToWithdraw=No customer invoice in payment mode "withdraw" is waiting. Go on 'Withdraw' tab on invoice card to make a request. +ResponsibleUser=Responsible user +WithdrawalsSetup=Withdrawal setup +WithdrawStatistics=Withdraw's statistics +WithdrawRejectStatistics=Withdraw reject's statistics +LastWithdrawalReceipt=Last %s withdrawing receipts +MakeWithdrawRequest=Make a withdraw request +ThirdPartyBankCode=Third party bank code +ThirdPartyDeskCode=Third party desk code +NoInvoiceCouldBeWithdrawed=No invoice withdrawed with success. Check that invoice are on companies with a valid BAN. +ClassCredited=Classify credited +ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? +TransData=Transmission date +TransMetod=Transmission method +Send=Send +Lines=Lines +StandingOrderReject=Issue a rejection +WithdrawalRefused=Withdrawal refused +WithdrawalRefusedConfirm=Are you sure you want to enter a withdrawal rejection for society +RefusedData=Date of rejection +RefusedReason=Reason for rejection +RefusedInvoicing=Billing the rejection +NoInvoiceRefused=Do not charge the rejection +InvoiceRefused=Invoice refused (Charge the rejection to customer) +Status=Status +StatusUnknown=Unknown +StatusWaiting=Waiting +StatusTrans=Sent +StatusCredited=Credited +StatusRefused=Refused +StatusMotif0=Unspecified +StatusMotif1=Insufficient funds +StatusMotif2=Request contested +StatusMotif3=No Withdrawal order +StatusMotif4=Customer Order +StatusMotif5=RIB unusable +StatusMotif6=Account without balance +StatusMotif7=Judicial Decision +StatusMotif8=Other reason +CreateAll=Withdraw all +CreateGuichet=Only office +CreateBanque=Only bank +OrderWaiting=Waiting for treatment +NotifyTransmision=Withdrawal Transmission +NotifyEmision=Withdrawal Emission +NotifyCredit=Withdrawal Credit +NumeroNationalEmetter=National Transmitter Number +PleaseSelectCustomerBankBANToWithdraw=Select information about customer bank account to withdraw +WithBankUsingRIB=For bank accounts using RIB +WithBankUsingBANBIC=For bank accounts using IBAN/BIC/SWIFT +BankToReceiveWithdraw=Bank account to receive withdraws +CreditDate=Credit on +WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) +ShowWithdraw=Show Withdraw +IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one withdrawal payment not yet processed, it won't be set as paid to allow prior withdrawal management. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +WithdrawalFile=Withdrawal file +SetToStatusSent=Set to status "File Sent" +ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" +StatisticsByLineStatus=Statistics by status of lines + +### Notifications +InfoCreditSubject=Payment of standing order %s by the bank +InfoCreditMessage=The standing order %s has been paid by the bank
Data of payment: %s +InfoTransSubject=Transmission of standing order %s to bank +InfoTransMessage=The standing order %s has been sent to bank by %s %s.

+InfoTransData=Amount: %s
Method: %s
Date: %s +InfoFoot=This is an automated message sent by Dolibarr +InfoRejectSubject=Standing order refused +InfoRejectMessage=Hello,

the standing order of invoice %s related to the company %s, with an amount of %s has been refused by the bank.

--
%s +ModeWarning=Option for real mode was not set, we stop after this simulation diff --git a/htdocs/langs/ka_GE/workflow.lang b/htdocs/langs/ka_GE/workflow.lang new file mode 100644 index 00000000000..17c8dd3aafa --- /dev/null +++ b/htdocs/langs/ka_GE/workflow.lang @@ -0,0 +1,11 @@ +# Dolibarr language file - Source file is en_US - admin +WorkflowSetup=Workflow module setup +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. +ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/ko_KR/accountancy.lang b/htdocs/langs/ko_KR/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/ko_KR/accountancy.lang +++ b/htdocs/langs/ko_KR/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/ko_KR/admin.lang b/htdocs/langs/ko_KR/admin.lang index c8f846c9e55..a2d1447071a 100644 --- a/htdocs/langs/ko_KR/admin.lang +++ b/htdocs/langs/ko_KR/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=This is setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr's root directory %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Select module: CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version +UpdateServerOffline=Update server offline GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Export interventions Permission71=Read members Permission72=Create/modify members Permission74=Delete members -Permission75=Setup types and attributes for members +Permission75=Setup types of membership Permission76=Export datas Permission78=Read subscriptions Permission79=Create/modify subscriptions @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Delete sendings Permission111=Read financial accounts Permission112=Create/modify/delete and compare transactions -Permission113=Setup financiel accounts (create, manage categories) -Permission114=Consolidate transactions +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Export transactions and account statements Permission116=Transfers between accounts Permission117=Manage cheques dispatching @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Setup of sendings by email SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). PathToDocuments=Path to documents PathDirectory=Directory -SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by thoose bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommanded) is to use the method "SMTP socket library" that has no disadvantages. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes i FreeLegalTextOnOrders=Free text on orders WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with your clicktodial login (defined on your user card)
__PASS__ that will be replaced with your clicktodial password (defined on your user card). @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=EMailing module setup MailingEMailFrom=Sender EMail (From) for emails sent by emailing module MailingEMailError=Return EMail (Errors-to) for emails with errors +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Sender EMail (From) for emails sent for notifications @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Sending module setup SendingsReceiptModel=Sending receipt model SendingsNumberingModules=Sendings numbering modules -SendingsAbility=Support sendings sheets for customer deliveries +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. -FreeLegalTextOnShippings=Free text on shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Products deliveries receipt numbering module DeliveryOrderModel=Products deliveries receipt model @@ -1414,7 +1420,7 @@ AdvancedEditor=Advanced editor ActivateFCKeditor=Activate advanced editor for: FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note -FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommanded as it can create problems with special characters and page formating when building PDF files. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/ko_KR/agenda.lang b/htdocs/langs/ko_KR/agenda.lang index b2ab74c91bc..99f110deaf9 100644 --- a/htdocs/langs/ko_KR/agenda.lang +++ b/htdocs/langs/ko_KR/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Customer order %s sent by EMail InvoiceSentByEMail=Customer invoice %s sent by EMail SupplierOrderSentByEMail=Supplier order %s sent by EMail SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail -ShippingSentByEMail=Shipping %s sent by EMail -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Third party created DateActionPlannedStart= Planned start date DateActionPlannedEnd= Planned end date @@ -68,7 +69,7 @@ DateActionDoneEnd= Real end date DateActionStart= Start date DateActionEnd= End date AgendaUrlOptions1=You can also add following parameters to filter output: -AgendaUrlOptions2=login=%s to restrict output to actions created by, assigned to or done by user %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=%s to restrict output to actions assigned to user %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/ko_KR/banks.lang b/htdocs/langs/ko_KR/banks.lang index 05156a723ad..10a5f5b3c14 100644 --- a/htdocs/langs/ko_KR/banks.lang +++ b/htdocs/langs/ko_KR/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Account FinancialAccounts=Accounts BankAccount=Bank account BankAccounts=Bank accounts +ShowAccount=Show Account AccountRef=Financial account ref AccountLabel=Financial account label CashAccount=Cash account diff --git a/htdocs/langs/ko_KR/bills.lang b/htdocs/langs/ko_KR/bills.lang index 81b7515a8b8..7232f00e91c 100644 --- a/htdocs/langs/ko_KR/bills.lang +++ b/htdocs/langs/ko_KR/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Invoice Bills=Invoices -BillsCustomers=Customer's invoices -BillsCustomer=Customer's invoice -BillsSuppliers=Supplier's invoices -BillsCustomersUnpaid=Unpaid customer's invoices +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Unpaid customer's invoices for %s BillsSuppliersUnpaid=Unpaid supplier's invoices BillsSuppliersUnpaidForCompany=Unpaid supplier's invoices for %s BillsLate=Late payments -BillsStatistics=Customer's invoices statistics -BillsStatisticsSuppliers=Supplier's invoices statistics +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Disabled because can not be erased InvoiceStandard=Standard invoice InvoiceStandardAsk=Standard invoice @@ -348,6 +348,7 @@ ChequeNumber=Check N° ChequeOrTransferNumber=Check/Transfer N° ChequeMaker=Check transmitter ChequeBank=Bank of Check +CheckBank=Check NetToBePaid=Net to be paid PhoneNumber=Tel FullPhoneNumber=Telephone @@ -388,7 +389,7 @@ DisabledBecausePayments=Not possible since there are some payments CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified paid ExpectedToPay=Expected payment PayedByThisPayment=Paid by this payment -ClosePaidInvoicesAutomatically=Classify "Paid" all standard or replacement invoices entirely paid. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=All invoice with no remain to pay will be automatically closed to status "Paid". ToMakePayment=Pay @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up s TypeContact_invoice_supplier_external_BILLING=Supplier invoice contact TypeContact_invoice_supplier_external_SHIPPING=Supplier shipping contact TypeContact_invoice_supplier_external_SERVICE=Supplier service contact +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/ko_KR/compta.lang b/htdocs/langs/ko_KR/compta.lang index 878eb49b3c9..0d579a06ff1 100644 --- a/htdocs/langs/ko_KR/compta.lang +++ b/htdocs/langs/ko_KR/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Turnover PaymentsNotLinkedToInvoice=Payments not linked to any invoice, so not linked to any third party PaymentsNotLinkedToUser=Payments not linked to any user Profit=Profit +AccountingResult=Accounting result Balance=Balance Debit=Debit Credit=Credit diff --git a/htdocs/langs/ko_KR/cron.lang b/htdocs/langs/ko_KR/cron.lang index 195ad43c87c..82f4574b223 100644 --- a/htdocs/langs/ko_KR/cron.lang +++ b/htdocs/langs/ko_KR/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/ko_KR/ecm.lang b/htdocs/langs/ko_KR/ecm.lang index 47c6a4ccd6e..4a1931a3217 100644 --- a/htdocs/langs/ko_KR/ecm.lang +++ b/htdocs/langs/ko_KR/ecm.lang @@ -1,55 +1,57 @@ # Dolibarr language file - Source file is en_US - ecm -# MenuECM=Documents -# DocsMine=My documents -# DocsGenerated=Generated documents -# DocsElements=Elements documents -# DocsThirdParties=Documents third parties -# DocsContracts=Documents contracts -# DocsProposals=Documents proposals -# DocsOrders=Documents orders -# DocsInvoices=Documents invoices -# ECMNbOfDocs=Nb of documents in directory -# ECMNbOfDocsSmall=Nb of doc. -# ECMSection=Directory -# ECMSectionManual=Manual directory -# ECMSectionAuto=Automatic directory -# ECMSectionsManual=Manual tree -# ECMSectionsAuto=Automatic tree -# ECMSections=Directories -# ECMRoot=Root -# ECMNewSection=New directory -# ECMAddSection=Add directory -# ECMNewDocument=New document -# ECMCreationDate=Creation date -# ECMNbOfFilesInDir=Number of files in directory -# ECMNbOfSubDir=Number of sub-directories -# ECMNbOfFilesInSubDir=Number of files in sub-directories -# ECMCreationUser=Creator -# ECMArea=EDM area -# ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. -# ECMAreaDesc2=* Automatic directories are filled automatically when adding documents from card of an element.
* Manual directories can be used to save documents not linked to a particular element. -# ECMSectionWasRemoved=Directory %s has been deleted. -# ECMDocumentsSection=Document of directory -# ECMSearchByKeywords=Search by keywords -# ECMSearchByEntity=Search by object -# ECMSectionOfDocuments=Directories of documents -# ECMTypeManual=Manual -# ECMTypeAuto=Automatic -# ECMDocsBySocialContributions=Documents linked to social contributions -# ECMDocsByThirdParties=Documents linked to third parties -# ECMDocsByProposals=Documents linked to proposals -# ECMDocsByOrders=Documents linked to customers orders -# ECMDocsByContracts=Documents linked to contracts -# ECMDocsByInvoices=Documents linked to customers invoices -# ECMDocsByProducts=Documents linked to products -# ECMDocsByProjects=Documents linked to projects -# ECMNoDirectoryYet=No directory created -# ShowECMSection=Show directory -# DeleteSection=Remove directory -# ConfirmDeleteSection=Can you confirm you want to delete the directory %s ? -# ECMDirectoryForFiles=Relative directory for files -# CannotRemoveDirectoryContainsFiles=Removed not possible because it contains some files -# ECMFileManager=File manager -# ECMSelectASection=Select a directory on left tree... -# DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. +MenuECM=Documents +DocsMine=My documents +DocsGenerated=Generated documents +DocsElements=Elements documents +DocsThirdParties=Documents third parties +DocsContracts=Documents contracts +DocsProposals=Documents proposals +DocsOrders=Documents orders +DocsInvoices=Documents invoices +ECMNbOfDocs=Nb of documents in directory +ECMNbOfDocsSmall=Nb of doc. +ECMSection=Directory +ECMSectionManual=Manual directory +ECMSectionAuto=Automatic directory +ECMSectionsManual=Manual tree +ECMSectionsAuto=Automatic tree +ECMSections=Directories +ECMRoot=Root +ECMNewSection=New directory +ECMAddSection=Add directory +ECMNewDocument=New document +ECMCreationDate=Creation date +ECMNbOfFilesInDir=Number of files in directory +ECMNbOfSubDir=Number of sub-directories +ECMNbOfFilesInSubDir=Number of files in sub-directories +ECMCreationUser=Creator +ECMArea=EDM area +ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. +ECMAreaDesc2=* Automatic directories are filled automatically when adding documents from card of an element.
* Manual directories can be used to save documents not linked to a particular element. +ECMSectionWasRemoved=Directory %s has been deleted. +ECMDocumentsSection=Document of directory +ECMSearchByKeywords=Search by keywords +ECMSearchByEntity=Search by object +ECMSectionOfDocuments=Directories of documents +ECMTypeManual=Manual +ECMTypeAuto=Automatic +ECMDocsBySocialContributions=Documents linked to social contributions +ECMDocsByThirdParties=Documents linked to third parties +ECMDocsByProposals=Documents linked to proposals +ECMDocsByOrders=Documents linked to customers orders +ECMDocsByContracts=Documents linked to contracts +ECMDocsByInvoices=Documents linked to customers invoices +ECMDocsByProducts=Documents linked to products +ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions +ECMNoDirectoryYet=No directory created +ShowECMSection=Show directory +DeleteSection=Remove directory +ConfirmDeleteSection=Can you confirm you want to delete the directory %s ? +ECMDirectoryForFiles=Relative directory for files +CannotRemoveDirectoryContainsFiles=Removed not possible because it contains some files +ECMFileManager=File manager +ECMSelectASection=Select a directory on left tree... +DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. diff --git a/htdocs/langs/ko_KR/errors.lang b/htdocs/langs/ko_KR/errors.lang index 259ba9c91ec..f374da9cf98 100644 --- a/htdocs/langs/ko_KR/errors.lang +++ b/htdocs/langs/ko_KR/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Setup of module looks to be uncomplete. Go on Setup ErrorBadMask=Error on mask ErrorBadMaskFailedToLocatePosOfSequence=Error, mask without sequence number ErrorBadMaskBadRazMonth=Error, bad reset value +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Error. Select at least one entry. ErrorProductWithRefNotExist=Product with reference '%s' don't exist ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transation that is conciliated @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/ko_KR/install.lang b/htdocs/langs/ko_KR/install.lang index 7689b0e9738..b4ebd2a51a6 100644 --- a/htdocs/langs/ko_KR/install.lang +++ b/htdocs/langs/ko_KR/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migration finished LastStepDesc=Last step: Define here login and password you plan to use to connect to software. Do not loose this as it is the account to administer all others. ActivateModule=Activate module %s ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Update time spent in seconds MigrationActioncommElement=Update data on actions MigrationPaymentMode=Data migration for payment mode MigrationCategorieAssociation=Migration of categories +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/ko_KR/languages.lang b/htdocs/langs/ko_KR/languages.lang index aa58d29fd2b..1a5490f6007 100644 --- a/htdocs/langs/ko_KR/languages.lang +++ b/htdocs/langs/ko_KR/languages.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - languages -Language_ar_AR=아라비아 말 +Language_ar_AR=아랍 Language_ar_SA=아라비아 말 Language_bg_BG=불가리아 사람 Language_bs_BA=Bosniešu @@ -13,6 +13,7 @@ Language_de_AT=독일어 (오스트리아) Language_de_CH=German (Switzerland) Language_el_GR=그리스의 Language_en_AU=영어 (호주) +Language_en_CA=English (Canada) Language_en_GB=영어 (영국) Language_en_IN=영어 (인도) Language_en_NZ=영어 (뉴질랜드) diff --git a/htdocs/langs/ko_KR/main.lang b/htdocs/langs/ko_KR/main.lang index 2a7132201cd..104a3f3ad11 100644 --- a/htdocs/langs/ko_KR/main.lang +++ b/htdocs/langs/ko_KR/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=MM/dd/yyyy FormatDateShortJavaInput=MM/dd/yyyy FormatDateShortJQuery=mm/dd/yy FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=오류, 파일을 저장할 수 없습니다. SetDate=Set date SelectDate=Select a date SeeAlso=또한 %s +SeeHere=See here BackgroundColorByDefault=기본 배경 FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=User Users=Users Group=Group Groups=Groups +NoUserGroupDefined=No user group defined Password=Password PasswordRetype=Retype your password NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. @@ -258,6 +261,7 @@ days=days Hours=Hours Minutes=Minutes Seconds=Seconds +Weeks=Weeks Today=Today Yesterday=Yesterday Tomorrow=Tomorrow @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=월요일 Tuesday=화요일 diff --git a/htdocs/langs/ko_KR/margins.lang b/htdocs/langs/ko_KR/margins.lang index 606d5e5053a..748b3c71f30 100644 --- a/htdocs/langs/ko_KR/margins.lang +++ b/htdocs/langs/ko_KR/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Product or Service AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/ko_KR/orders.lang b/htdocs/langs/ko_KR/orders.lang index 6ee9c19fa95..34792ae1eb2 100644 --- a/htdocs/langs/ko_KR/orders.lang +++ b/htdocs/langs/ko_KR/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customer's orders +CustomersOrders=Customers orders CustomersOrdersRunning=Current customer's orders CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customer's orders to validate -OrdersToBill=Customer's orders delivered -OrdersInProcess=Customer's orders in process -OrdersToProcess=Customer's orders to process +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Supplier's orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated StatusOrderSentShort=In process StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Reception +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Processed StatusOrderToBillShort=Delivered StatusOrderToBill2Short=To bill @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Everything received StatusOrderCanceled=Canceled StatusOrderDraft=Draft (needs to be validated) StatusOrderValidated=Validated -StatusOrderOnProcess=Waiting to receive +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Processed StatusOrderToBill=Delivered StatusOrderToBill2=To bill @@ -50,6 +50,8 @@ StatusOrderRefused=Refused StatusOrderReceivedPartially=Partially received StatusOrderReceivedAll=Everything received ShippingExist=A shipment exists +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Draft or approved not yet ordered DraftOrWaitingShipped=Draft or validated not yet shipped MenuOrdersToBill=Orders delivered diff --git a/htdocs/langs/ko_KR/productbatch.lang b/htdocs/langs/ko_KR/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/ko_KR/productbatch.lang +++ b/htdocs/langs/ko_KR/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/ko_KR/products.lang b/htdocs/langs/ko_KR/products.lang index 81d217ddb54..3a29639b12b 100644 --- a/htdocs/langs/ko_KR/products.lang +++ b/htdocs/langs/ko_KR/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Accountancy code (sell) ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services -ProductsAndServicesOnSell=Available Products and Services -ProductsAndServicesNotOnSell=Obsolete Products and Services +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Available products -ProductsNotOnSell=Obsolete products -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Available services -ServicesNotOnSell=Obsolete services -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded LastRecordedProductsAndServices=Last %s recorded products/services @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/ko_KR/projects.lang b/htdocs/langs/ko_KR/projects.lang index c48e27fd204..b3c150d1687 100644 --- a/htdocs/langs/ko_KR/projects.lang +++ b/htdocs/langs/ko_KR/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Project Projects=Projects +ProjectStatus=Project status SharedProject=Everybody PrivateProject=Contacts of project MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). @@ -11,7 +12,6 @@ ProjectsDesc=This view presents all projects (your user permissions grant you pe MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). TasksPublicDesc=This view presents all projects and tasks you are allowed to read. TasksDesc=This view presents all projects and tasks (your user permissions grant you permission to view everything). -Myprojects=My projects ProjectsArea=Projects area NewProject=New project AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/ko_KR/sendings.lang b/htdocs/langs/ko_KR/sendings.lang index f6111bac684..794c9019c86 100644 --- a/htdocs/langs/ko_KR/sendings.lang +++ b/htdocs/langs/ko_KR/sendings.lang @@ -4,7 +4,8 @@ Sending=Shipment Sendings=Shipments Shipment=Shipment Shipments=Shipments -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Shipments area ListOfSendings=List of shipments SendingMethod=Shipping method @@ -14,7 +15,7 @@ SearchASending=Search for shipment StatisticsOfSendings=Statistics for shipments NbOfSendings=Number of shipments NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Shipping card +SendingCard=Shipment card NewSending=New shipment CreateASending=Create a shipment CreateSending=Create shipment @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Canceled StatusSendingDraftShort=Draft StatusSendingValidatedShort=Validated StatusSendingProcessedShort=Processed -SendingSheet=Sending sheet +SendingSheet=Shipment sheet Carriers=Carriers Carrier=Carrier CarriersArea=Carriers area @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Events on shipment LinkToTrackYourPackage=Link to track your package ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is done from the order card. -RelatedShippings=Related shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Catch by customer diff --git a/htdocs/langs/ko_KR/stocks.lang b/htdocs/langs/ko_KR/stocks.lang index 6af87274111..8ab2a113cb9 100644 --- a/htdocs/langs/ko_KR/stocks.lang +++ b/htdocs/langs/ko_KR/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a warehouse automatically when creating a user QtyDispatched=Quantity dispatched +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Stock dispatching RuleForStockManagementDecrease=Rule for stock management decrease RuleForStockManagementIncrease=Rule for stock management increase @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. -StockDiffPhysicTeoric=Reason for difference stock physical and theoretical +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=No predefined products for this object. So no dispatching in stock is required. DispatchVerb=Dispatch StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/ko_KR/suppliers.lang b/htdocs/langs/ko_KR/suppliers.lang index b1545d6ca3c..7b4d4acb244 100644 --- a/htdocs/langs/ko_KR/suppliers.lang +++ b/htdocs/langs/ko_KR/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Suppliers Supplier=Supplier -AddSupplier=Add a supplier +AddSupplier=Create a supplier SupplierRemoved=Supplier removed SuppliersInvoice=Suppliers invoice NewSupplier=New supplier @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=None or batch %s not ran recently SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/ko_KR/withdrawals.lang b/htdocs/langs/ko_KR/withdrawals.lang index ea32511fefb..c36ffbf025a 100644 --- a/htdocs/langs/ko_KR/withdrawals.lang +++ b/htdocs/langs/ko_KR/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Credit on WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Show Withdraw IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one withdrawal payment not yet processed, it won't be set as paid to allow prior withdrawal management. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/ko_KR/workflow.lang b/htdocs/langs/ko_KR/workflow.lang index b7f4f77d9f4..17c8dd3aafa 100644 --- a/htdocs/langs/ko_KR/workflow.lang +++ b/htdocs/langs/ko_KR/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin -# WorkflowSetup=Workflow module setup -# WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can enabled automatic actions that you are interesting in. -# ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -# descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -# descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -# descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -# descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed -# descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +WorkflowSetup=Workflow module setup +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. +ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/lt_LT/accountancy.lang b/htdocs/langs/lt_LT/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/lt_LT/accountancy.lang +++ b/htdocs/langs/lt_LT/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/lt_LT/admin.lang b/htdocs/langs/lt_LT/admin.lang index 3d1cd8a7cb2..219441ecd9c 100644 --- a/htdocs/langs/lt_LT/admin.lang +++ b/htdocs/langs/lt_LT/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Nenaudoti gamyboje ThisIsProcessToFollow=Tai yra nustatymo eiga: StepNb=Žingsnis %s FindPackageFromWebSite=Ieškoti paketo, kuris suteikia norimą funkciją (pavyzdžiui oficialioje interneto svetainėje %s). -DownloadPackageFromWebSite=Parsisiųsti paketą. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Išpakuokite paketo failą į Dolibarr pagrindinį katalogą %s SetupIsReadyForUse=Diegimas baigtas ir Dolibarr yra paruoštas naudoti su šiuo nauju komponentu. NotExistsDirect=Alternatyvus pagrindinis katalogas nėra apibrėžtas.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Pasirinkite modulį: CurrentVersion=Dolibarr dabartinė versija CallUpdatePage=Eiti į puslapį, kuriame atnaujinamos duomenų bazės struktūra ir duomenys:%s. LastStableVersion=Paskutinė stabili versija +UpdateServerOffline=Update server offline GenericMaskCodes=Galite įvesti bet kokį užmaskuotą numeravimą. Šiame maskavime naudojamos sekančios žymės:
{000000} atitinka skaičių, kuris bus padidinamas vienetu kiekvienam%s. Įveskite nulių iki pageidaujamo skaitiklio ilgio. Skaitiklis bus užpildomas nuliais iš kairės iki pilno skaitiklio ilgio.
{000000+000} toks kaip paskutinis, bet nuokrypis atitinkantis numerį dešinėje už + ženklo taikomas pradedant pirmu %s.
{000000@x} toks pat kaip ankstesnis, bet skaitiklis apnulinamas, kai pasiekiamas mėnuo x (x tarp 1 ir 12, arba naudojamas 0 pirmaisiais fiskalinių metų mėnesiais kaip aprašyta konfigūracijoje, arba 99 apnulinimui kiekvieną mėnesį). Jei ši opcija yra naudojama ir x yra 2 ar didesnis, tada seka {yy}{mm} arba {yyyy}{mm} taip pat reikalinga.
{dd} diena (nuo 01 iki 31).
{mm} mėnuo (nuo 01 iki 12).
{yy}, {yyyy} arba {y} metai, 2, 4 arba 1 skaitmenys.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=Visi kiti simboliai maskuotėje išliks nepakitę.
Tarpai neleidžiami.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Pasirinkite iš lentelės ExtrafieldSeparator=Separatorius ExtrafieldCheckBox=Žymimasis langelis ("paukščiukas") ExtrafieldRadio=Opcijų mygtukai +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parametrų sąrašas ateina iš lentelės
Sintaksė: table_name:label_field:id_field::filter
Pavyzdys: c_typent:libelle:id::filter

filtras gali būti paprastas bandymas (pvz., aktyvi=1) rodyti tik aktyvią reikšmę
jei norite filtruoti extrafield laukelius, naudokite syntaksę: extra.fieldcode=... (kur laukelio kodas yra extrafield kodas)

Siekiant turėti sąrašą, priklausomą nuo kito:
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Biblioteka naudojama sukurti PDF WarningUsingFPDF=Įspėjimas: Jūsų conf.php yra ribojanti direktyva dolibarr_pdf_force_fpdf=1. Tai reiškia, kad jūs naudojate FPDF biblioteką PDF failų generavimui. Ši biblioteka yra sena ir nepalaiko daug funkcijų (Unicode, vaizdo skaidrumo, kirilicos, arabų ir Azijos kalbų, ...), todėl galite patirti klaidų generuojant PDF.
Norėdami išspręsti šią problemą ir turėti visapusišką palaikymą generuojant PDF, atsisiųskite TCPDF library , tada pažymėkite (comment) arba pašalinkite eilutę $dolibarr_pdf_force_fpdf=1 ir įdėkite vietoje jos $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Kai kurios šalys taiko 2 arba 3 mokesčius kiekvienai sąskaitos eilutei. Tokiu atveju pasirinkite 2-jo ir 3-jo mokesčio tipą ir jo tarifą. Galimi tipai yra:
1: vietinis mokestis taikomas produktams ir paslaugoms be PVM (PVM nėra taikomas vietiniams mokesčiams)
2: vietinis mokestis taikomas produktams ir paslaugoms iki PVM (PVM skaičiuojamas nuo sumos + vietinis mokestis)
3: vietos mokestis taikomas produktams be PVM (PVM nėra taikomas vietiniams mokesčiams)
4: vietos mokestis taikomas produktams iki PVM (PVM skaičiuojamas nuo sumos + vietinis mokestis)
5: vietos mokestis taikomas paslaugoms be PVM (PVM nėra taikomas vietiniams mokesčiams)
6: vietiniai mokesčiai taikomi paslaugoms iki PVM (PVM skaičiuojamas nuo sumos + vietiniai mokesčiai) @@ -572,7 +575,7 @@ Permission67=Eksportuoti intervencijas Permission71=Skaityti narius Permission72=Sukurti/keisti narius Permission74=Ištrinti narius -Permission75=Narių nustatymo tipai ir atributai +Permission75=Setup types of membership Permission76=Eksportuoti duomenis Permission78=Skaityti prenumeratas Permission79=Sukurti/pakeisti prenumeratas @@ -595,8 +598,8 @@ Permission106=Eksportuoti siuntinius Permission109=Ištrinti siuntinius Permission111=Skaityti finansines ataskaitas Permission112=Sukurti/keisti/trinti ir palyginti sandorius/transakcijas -Permission113=Nustatyti finansines sąskaitas (sukurti, valdyti kategorijas) -Permission114=Konsoliduoti sandorius/transakcijas +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Eksportuoti sandorius/transakcijas ir sąskaitos išrašus Permission116=Pervedimai tarp sąskaitų Permission117=Valdyti čekių atlikimą/įvykdymą @@ -761,6 +764,7 @@ Permission55001=Skaityti apklausas Permission55002=Sukurti/keisti apklausas Permission59001=Skaityti komercines maržas Permission59002=Apibrėžti komercines maržas +Permission59003=Read every user margin DictionaryCompanyType=Trečios šalies tipas DictionaryCompanyJuridicalType=Trečiųjų šalių juridinės rūšys DictionaryProspectLevel=Perspektyvinio plano potencialo lygis @@ -1038,7 +1042,7 @@ SendingMailSetup=El. pašto siuntinių nuostatos SendmailOptionNotComplete=ĮSPĖJIMAS, kai kuriose Linux sistemose, norint siųsti el. laiškus iš savo pašto, vykdymo nuostatose turi būti opcija -ba (parametras mail.force_extra_parameters į savo php.ini failą). Jei kai kurie gavėjai niekada negauna el. laiškų, pabandykite redaguoti šį PHP parametrą su mail.force_extra_parameters = -ba). PathToDocuments=Kelias prie dokumentų PathDirectory=Katalogas -SendmailOptionMayHurtBuggedMTA=Funkcija siųsti laiškus naudojant metodą "PHP mail direct" sukurs laišką, kuris gali būti neteisingai nagrinėjamas gaunančiųjų pašto serverių. Rezultatas yra tai, kad kai kurie laiškai negali būti perskaityti žmonių, naudojančių tokias platformas. Tai atvejis iš kai kurių interneto paslaugų teikėjų (Pvz.: Orange Prancūzijoje). Tai nėra Dolibarr problema, ir ne PHP problema, tai yra gaunančiojo el. pašto serverio problema. Tačiau Jūs galite pridėti opciją MAIN_FIX_FOR_BUGGED_MTA į 1 į Nuostatos - Kiti, kad modifikuoti Dolibarr tos problemos išvengimui. Tačiau Jums gali atsirasti problemų su kitais serveriais, kurie griežtai laikosi SMTP standartų. Kitas sprendimas (rekomenduojamas) yra naudoti metodą "SMTP socket library", kuri neturi kliūčių. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Vertimo konfigūracija TranslationDesc=Kalbos pasirinkimas, matomas ekrane gali būti pakeistas:
* Visuotinai iš meniu Pagrindinis - Nuostatos - Ekranas
* Vartotojui tik iš kortelės Vartotojo ekranas iš vartotojo kortelės (spustelėkite "Prisijungti" viršuje ekrano). TotalNumberOfActivatedModules=Iš viso aktyvių funkcijų modulių %s @@ -1057,7 +1061,7 @@ BrowserIsOK=Jūs naudojate interneto naršyklę %s. Ši naršyklė yra gera saug BrowserIsKO=Jūs naudojate interneto naršyklę %s. Ši naršyklė yra žinoma, kaip blogas pasirinkimas saugumo, charakteristikų ir patikimumo požiūriu. Mes recommanduojame Jums Firefox, Chrome, Opera ar Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=Xcache yra įkelta. -AddRefInList=Rodyti kliento/tiekėjo nuorodą į sąrašą (pasirinkite sąrašą arba "iškrentantį" sąrašą) ir daugumą hypernuorodų +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Lauko %s redagavimas FixTZ=Nustatyti TimeZone FillThisOnlyIfRequired=Pavyzdys: +2 (pildyti tik tuomet, jei laiko juostos nuokrypio problemos yra žymios) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Patvirtinti užsakymą, kuriam komercinis pasiūlyma FreeLegalTextOnOrders=Laisvas tekstas užsakymuose WatermarkOnDraftOrders=Vandens ženklas užsakymų projektuose (nėra, jei lapas tuščias) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Click To Dial modulio nuostatos ClickToDialUrlDesc=Paspaudus telefono piktogramą kviečiamas URL. Galima naudoti žymes
__PHONETO__, tam, kad pakeisti asmens, kuriam skambinama, telefono numeriu
__PHONEFROM__, tam, kad pakeisti asmens, kuris skambina, telefono numeriu (Jūsų)
__LOGIN__, tam, kad pakeisti Jūsų ClickToDial prisijungimo vardu (nustatytu vartotojo kortelėje)
__PASS__, tam, kad pakeisti Jūsų ClickToDial slaptažodį (nustatytą vartotojo kortelėje). @@ -1392,6 +1397,7 @@ RSSUrlExample=Įdomus RSS feed MailingSetup=E-pašto modulio nuostatos MailingEMailFrom=Siuntėjo e-paštas (nuo) e-laiškams, siunčiamiems per e-pašto modulį MailingEMailError=Grąžinamas e-paštas (Errors-to) klaidingiems e-laiškams +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Siuntėjo e-paštas (nuo) e-laiškams siunčiamiems perspėjimams @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Siuntimo modulio nuostatos SendingsReceiptModel=Įplaukų siuntimo modelis SendingsNumberingModules=Siuntinių numeravimo modulis -SendingsAbility=Palaikyti siuntimų žiniaraščius klientų pristatymams +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=Daugeliu atvejų, siuntinių kvitai naudojami tiek pristatymo klientams žiniaraščiams (produktų sąrašas siuntimui), tiek gaunamiems žiniaraščiams pasirašytiems klientų. Taigi produkto pristatymo kvitai yra dubliuojanti funkcija ir retai aktyvuota. -FreeLegalTextOnShippings=Laisvas tekstas važtaraštyje +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Produktų pristatymo kvitų numeravimo modulis DeliveryOrderModel=Produktų pristatymo kvito modelis @@ -1414,7 +1420,7 @@ AdvancedEditor=Išplėstinis redaktorius ActivateFCKeditor=Įjungti išplėstinį redaktorių: FCKeditorForCompany=Elementų aprašymo ir pastabų WYSIWIG kūrimas/redagavimas (išskyrus produktus/paslaugas) FCKeditorForProduct=Produktų/paslaugų aprašymų ir pastabų WYSIWIG kūrimas/redagavimas -FCKeditorForProductDetails=Produktų detalių linijų WYSIWIG kūrimas/redagavimas visiems subjektams (pasiūlymai, užsakymai, sąskaitos-faktūros, ir tt ..). ĮSPĖJIMAS: Naudoti šią opciją duotu atveju nerekomenduojama, nes ji gali sukelti problemų su specialiųjų simbolių naudojimu ir puslapio formatavimu kai kuriami PDF failai. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG kūrimas/redagavimas masiniams e-laiškams (Tools-> eMailing) FCKeditorForUserSignature=Vartotojo parašo WYSIWIG kūrimas/redagavimas FCKeditorForMail=WYSIWIG kūrimas/redagavimas visam e-paštui (išskyrus Outils-> eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/lt_LT/agenda.lang b/htdocs/langs/lt_LT/agenda.lang index 3d2da4f6b67..a963e4807a3 100644 --- a/htdocs/langs/lt_LT/agenda.lang +++ b/htdocs/langs/lt_LT/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Kliento užsakymas %s atsiųstas e-paštu InvoiceSentByEMail=Kliento sąskaita-faktūra %s išsiųsta e-paštu SupplierOrderSentByEMail=Tiekėjo užsakymas %s atsiųstas e-paštu SupplierInvoiceSentByEMail=Tiekėjo sąskaita-faktūra %s atsiųsta e-paštu -ShippingSentByEMail=Pakrovimo dokumentas %s atsiųstas e-paštu -ShippingValidated= Pakrovimas %s pripažintas galiojančiu +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Trečioji šalis sukūrė DateActionPlannedStart= Planuojama pradžios data DateActionPlannedEnd= Planuojama pabaigos data @@ -68,7 +69,7 @@ DateActionDoneEnd= Reali pabaigos data DateActionStart= Pradžios data DateActionEnd= Pabaigos data AgendaUrlOptions1=Taip pat galite pridėti šiuos parametrus išvesties filtravimui: -AgendaUrlOptions2=login=%s ​​apriboti išvedimą veiksmais, sukurtais, priskirtais arba įvykdytais vartotojo %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint =%s ​​apriboti išvedimą veiksmais, priskirtais vartotojui %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/lt_LT/banks.lang b/htdocs/langs/lt_LT/banks.lang index 0f6ed7a8aa2..27d83cc3325 100644 --- a/htdocs/langs/lt_LT/banks.lang +++ b/htdocs/langs/lt_LT/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Sąskaita FinancialAccounts=Sąskaitos BankAccount=Banko sąskaita BankAccounts=Banko sąskaitos +ShowAccount=Show Account AccountRef=Finansinės sąskaitos nuoroda AccountLabel=Finansinės sąskaitos etiketė CashAccount=Grynųjų pinigų sąskaita diff --git a/htdocs/langs/lt_LT/bills.lang b/htdocs/langs/lt_LT/bills.lang index 640764f26bd..109f690c9e9 100644 --- a/htdocs/langs/lt_LT/bills.lang +++ b/htdocs/langs/lt_LT/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Sąskaita-faktūra Bills=Sąskaitos-faktūros -BillsCustomers=Kliento sąskaitos-faktūros -BillsCustomer=Kliento sąskaita-faktūra -BillsSuppliers=Tiekėjo sąskaitos-faktūros -BillsCustomersUnpaid=Neapmokėtos kliento sąskaitos-faktūros +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Neapmokėtos kliento sąskaitos-faktūros %s BillsSuppliersUnpaid=Neapmokėtos tiekėjo sąskaitos-faktūros BillsSuppliersUnpaidForCompany=Neapmokėtos tiekėjo sąskaitos-faktūros %s BillsLate=Pavėluoti mokėjimai -BillsStatistics=Kliento sąskaitų-faktūrų statistika -BillsStatisticsSuppliers=Tiekėjo sąskaitų-faktūrų statistika +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Išjungta, nes negalima ištrinti InvoiceStandard=Standartinė sąskaita-faktūra InvoiceStandardAsk=Standartinė sąskaita-faktūra @@ -348,6 +348,7 @@ ChequeNumber=Čekio N° ChequeOrTransferNumber=Čekio/Pervedimo N° ChequeMaker=Čekio siuntėjas ChequeBank=Čekio bankas +CheckBank=Check NetToBePaid=Grynasis mokėjimas PhoneNumber=Tel FullPhoneNumber=Telefonas @@ -388,7 +389,7 @@ DisabledBecausePayments=Neįmanoma nuo tada, kai atsirado kai kurie mokėjimai CantRemovePaymentWithOneInvoicePaid=Negalima pašalinti mokėjimo, nuo tada kai čia yra bent viena sąskaita-faktūra priskirta apmokėtoms ExpectedToPay=Laukiamas mokėjimas PayedByThisPayment=Sumokėta šiuo mokėjimu -ClosePaidInvoicesAutomatically=Priskirti "Apmokėta" visas standartines arba pakeistas visiškai apmokėtas sąskaitas-faktūras. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Priskirtii "Apmokėta" visas pilnai grąžintas kreditines sąskaitas. AllCompletelyPayedInvoiceWillBeClosed=Visos sąskaitos-faktūros, neturinčios neapmokėto likučio bus automatiškai uždarytos ir perkeltos į "Apmokėta". ToMakePayment=Mokėti @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Atstovas šiai tiekėjo sąsk TypeContact_invoice_supplier_external_BILLING=Tiekėjo sąskaitos-faktūros kontaktai TypeContact_invoice_supplier_external_SHIPPING=Tiekėjo pristatymo kontaktai TypeContact_invoice_supplier_external_SERVICE=Tiekėjo paslaugos kontaktai +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/lt_LT/compta.lang b/htdocs/langs/lt_LT/compta.lang index f029909d1db..fd5be875da4 100644 --- a/htdocs/langs/lt_LT/compta.lang +++ b/htdocs/langs/lt_LT/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Apyvarta PaymentsNotLinkedToInvoice=Mokėjimai nėra susiję su jokia sąskaita-faktūra, todėl nėra susiję su jokia trečiąja šalimi PaymentsNotLinkedToUser=Mokėjimai nėra susieti su jokiu Vartotoju Profit=Pelnas +AccountingResult=Accounting result Balance=Balansas Debit=Debetas Credit=Kreditas diff --git a/htdocs/langs/lt_LT/cron.lang b/htdocs/langs/lt_LT/cron.lang index 6c9e5b5a84b..77417db0902 100644 --- a/htdocs/langs/lt_LT/cron.lang +++ b/htdocs/langs/lt_LT/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL patikrinti ir pradėti cron darbą, jei reikės OrToLaunchASpecificJob=Arba patikrinti ir pradėti spec. darbą KeyForCronAccess=Apsaugos raktas URL pradėti cron darbus FileToLaunchCronJobs=Komandinė eilutė paleisti cron darbą -CronExplainHowToRunUnix=Unix aplinkoje reikia naudoti crontab paleisti komandinę eilutę kiekvieną minutę -CronExplainHowToRunWin=Microsoft (tm) Windows aplinkoje galite naudoti Numatytų užduočių įrankį paleisti komandinę eilutę kiekvieną minutę +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Suplanuoti darbai CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/lt_LT/ecm.lang b/htdocs/langs/lt_LT/ecm.lang index 47c6a4ccd6e..353af41000c 100644 --- a/htdocs/langs/lt_LT/ecm.lang +++ b/htdocs/langs/lt_LT/ecm.lang @@ -1,55 +1,57 @@ # Dolibarr language file - Source file is en_US - ecm -# MenuECM=Documents -# DocsMine=My documents -# DocsGenerated=Generated documents -# DocsElements=Elements documents -# DocsThirdParties=Documents third parties -# DocsContracts=Documents contracts -# DocsProposals=Documents proposals -# DocsOrders=Documents orders -# DocsInvoices=Documents invoices -# ECMNbOfDocs=Nb of documents in directory -# ECMNbOfDocsSmall=Nb of doc. -# ECMSection=Directory -# ECMSectionManual=Manual directory -# ECMSectionAuto=Automatic directory -# ECMSectionsManual=Manual tree -# ECMSectionsAuto=Automatic tree -# ECMSections=Directories -# ECMRoot=Root -# ECMNewSection=New directory -# ECMAddSection=Add directory -# ECMNewDocument=New document -# ECMCreationDate=Creation date -# ECMNbOfFilesInDir=Number of files in directory -# ECMNbOfSubDir=Number of sub-directories -# ECMNbOfFilesInSubDir=Number of files in sub-directories -# ECMCreationUser=Creator -# ECMArea=EDM area -# ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. -# ECMAreaDesc2=* Automatic directories are filled automatically when adding documents from card of an element.
* Manual directories can be used to save documents not linked to a particular element. -# ECMSectionWasRemoved=Directory %s has been deleted. -# ECMDocumentsSection=Document of directory -# ECMSearchByKeywords=Search by keywords -# ECMSearchByEntity=Search by object -# ECMSectionOfDocuments=Directories of documents -# ECMTypeManual=Manual -# ECMTypeAuto=Automatic -# ECMDocsBySocialContributions=Documents linked to social contributions -# ECMDocsByThirdParties=Documents linked to third parties -# ECMDocsByProposals=Documents linked to proposals -# ECMDocsByOrders=Documents linked to customers orders -# ECMDocsByContracts=Documents linked to contracts -# ECMDocsByInvoices=Documents linked to customers invoices -# ECMDocsByProducts=Documents linked to products -# ECMDocsByProjects=Documents linked to projects -# ECMNoDirectoryYet=No directory created -# ShowECMSection=Show directory -# DeleteSection=Remove directory -# ConfirmDeleteSection=Can you confirm you want to delete the directory %s ? -# ECMDirectoryForFiles=Relative directory for files -# CannotRemoveDirectoryContainsFiles=Removed not possible because it contains some files -# ECMFileManager=File manager -# ECMSelectASection=Select a directory on left tree... -# DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. +MenuECM=Dokumentai +DocsMine=Mano dokumentai +DocsGenerated=Sugeneruoti dokumentai +DocsElements=Elementų dokumentai +DocsThirdParties=Trčiųjų šalių dokumentai +DocsContracts=Sutarčių dokumentai +DocsProposals=Pasiūlymų dokumentai +DocsOrders=Užsakymų dokumentai +DocsInvoices=Sąskaitų-faktūrų dokumentai +ECMNbOfDocs=Dokumentų skaičius kataloge +ECMNbOfDocsSmall=Dokumentų skaičius +ECMSection=Katalogas +ECMSectionManual=Rankinis katalogas +ECMSectionAuto=Automatinis katalogas +ECMSectionsManual=Rankinis medis +ECMSectionsAuto=Automatinis medis +ECMSections=Katalogai +ECMRoot=Šaknis +ECMNewSection=Naujas katalogas +ECMAddSection=Pridėti katalogą +ECMNewDocument=Naujas dokumentas +ECMCreationDate=Sukūrimo data +ECMNbOfFilesInDir=Failų skaičius kataloge +ECMNbOfSubDir=Pakatalogių skaičius +ECMNbOfFilesInSubDir=Failų skaičius pakatalogiuose +ECMCreationUser=Kūrėjas +ECMArea=EDM sritis +ECMAreaDesc=EDM (Elektroninių dokumentų valdymo) sritis leidžia Jums įrašyti, bendrinti ir greitai ieškoti visų rūšių dokumentų Dolibarr. +ECMAreaDesc2=* Automatiniai katalogai yra užpildomi automatiškai, pridedant dokumentus iš elemento kortelės.
* Rankiniai katalogai gali būti naudojama saugoti dokumentams, nesusijusiems su konkrečiu elementu. +ECMSectionWasRemoved=Katalogas %s buvo ištrintas. +ECMDocumentsSection=Katalogo dokumentas +ECMSearchByKeywords=Ieškoti pagal raktinius žodžius +ECMSearchByEntity=Ieškoti pagal objektą +ECMSectionOfDocuments=Dokumentų katalogai +ECMTypeManual=Rankinis +ECMTypeAuto=Automatinis +ECMDocsBySocialContributions=Dokumentai, susiję su socialinėmis įmokomis +ECMDocsByThirdParties=Dokumentai, susiję su trečiosiomis šalimis +ECMDocsByProposals=Dokumentai, susiję su pasiūlymais +ECMDocsByOrders=Dokumentai, susiję su klientų užsakymais +ECMDocsByContracts=Dokumentai, susiję su sutartimis +ECMDocsByInvoices=Dokumentai, susiję su klientų sąskaitomis-faktūromis +ECMDocsByProducts=Dokumentai, susiję su produktais +ECMDocsByProjects=Dokumentai, susiję su projektais +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions +ECMNoDirectoryYet=Nėra sukurta katalogo +ShowECMSection=Rodyti katalogą +DeleteSection=Pašalinti katalogą +ConfirmDeleteSection=Patvirtinkite, kad norite ištrinti katalogą s%s +ECMDirectoryForFiles=Susijęs failų katalogas +CannotRemoveDirectoryContainsFiles=Pašalinimas negalimas, nes jame yra failų +ECMFileManager=Failų vadovas +ECMSelectASection=Pasirinkite katalogą kairiajame medyje +DirNotSynchronizedSyncFirst=Šis katalogas, atrodo, buvo sukurtas arba modifikuotas ne ECM modulyje (bet išorėje). Pirmiausia paspauskite "Atnaujinti", kad sinchronizuoti diską ir duomenų bazę, kad pasiekti šio katalogo turinį. diff --git a/htdocs/langs/lt_LT/errors.lang b/htdocs/langs/lt_LT/errors.lang index 785d3b9be28..515ddde0c6e 100644 --- a/htdocs/langs/lt_LT/errors.lang +++ b/htdocs/langs/lt_LT/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Modulio nustatymai, atrodo nepilni. Eiti į Nustatym ErrorBadMask=Maskavimo (mask) klaida ErrorBadMaskFailedToLocatePosOfSequence=Klaida, maskavimas be eilės numeris ErrorBadMaskBadRazMonth=Klaida, bloga perkrovimo reikšmė +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Klaida. Pasirinkite bent vieną įrašą. ErrorProductWithRefNotExist=Produktas su nuoroda '%s' neegzistuoja ErrorDeleteNotPossibleLineIsConsolidated=Ištrinti neįmanoma, nes įrašas yra susijęs su banko operacija, kuri suderinta @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Privalomi nustatymų parametrai dar nėra apibrėžti diff --git a/htdocs/langs/lt_LT/install.lang b/htdocs/langs/lt_LT/install.lang index 60d2d310b52..8eb2ffae566 100644 --- a/htdocs/langs/lt_LT/install.lang +++ b/htdocs/langs/lt_LT/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Perkėlimas baigtas LastStepDesc=Paskutinis žingsnis: Nustatykite čia prisijungimo vardą ir slaptažodį, kuriuos planuojate naudoti prisijungimui prie programos. Nepameskite jų, nes tai yra administratoriaus, kuris administruoja visus kitus vartotojus, sąskaitos rekvizitai. ActivateModule=Įjungti modulį %s ShowEditTechnicalParameters=Spauskite čia, kad galėtumete matyti/redaguoti išplėstinius parametrus (eksperto režime) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Atnaujinti praleistą laiką sekundėmis MigrationActioncommElement=Atnaujinti veiksmų duomenis MigrationPaymentMode=Duomenų perkėlimas mokėjimo būdui MigrationCategorieAssociation=Kategorijų perkėlimas +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/lt_LT/languages.lang b/htdocs/langs/lt_LT/languages.lang index f7d944d1242..ebb7d44bc39 100644 --- a/htdocs/langs/lt_LT/languages.lang +++ b/htdocs/langs/lt_LT/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Vokiečių (Austrija) Language_de_CH=German (Switzerland) Language_el_GR=Graikų Language_en_AU=Anglų (Australija) +Language_en_CA=English (Canada) Language_en_GB=Anglų (Jungtinė Karalystė) Language_en_IN=Anglų (Indija) Language_en_NZ=Anglų (Naujoji Zelandija) diff --git a/htdocs/langs/lt_LT/main.lang b/htdocs/langs/lt_LT/main.lang index e994caef29e..e40b7b58905 100644 --- a/htdocs/langs/lt_LT/main.lang +++ b/htdocs/langs/lt_LT/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=MM/dd/yyyy FormatDateShortJavaInput=MM/dd/yyyy FormatDateShortJQuery=mm/dd/yy FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Klaida, nepavyko išsaugoti failo. SetDate=Nustatyti datą SelectDate=Pasirinkti datą SeeAlso=Taip pat žiūrėkite %s +SeeHere=See here BackgroundColorByDefault=Fono spalva pagal nutylėjimą FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=Vartotojas Users=Vartotojai Group=Grupė Groups=Grupės +NoUserGroupDefined=No user group defined Password=Slaptažodis PasswordRetype=Pakartokite slaptažodį NoteSomeFeaturesAreDisabled=Atkreipkite dėmesį, kad daug funkcijų/modulių yra išjungti šioje demonstracijoje. @@ -258,6 +261,7 @@ days=dienos Hours=Valandos Minutes=Minutės Seconds=Sekundės +Weeks=Weeks Today=Šiandien Yesterday=Vakar Tomorrow=Rytoj @@ -683,6 +687,7 @@ XMoreLines=%s paslėptos eilutės PublicUrl=Viešas URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Pirmadienis Tuesday=Antradienis diff --git a/htdocs/langs/lt_LT/margins.lang b/htdocs/langs/lt_LT/margins.lang index 273ff448e74..de908b3ef47 100644 --- a/htdocs/langs/lt_LT/margins.lang +++ b/htdocs/langs/lt_LT/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Maržos detalės ProductMargins=Produkto maržos CustomerMargins=Kliento maržos SalesRepresentativeMargins=Prekybos atstovo maržos +UserMargins=User margins ProductService=Produktas ar Paslaugos AllProducts=Visi produktai ir paslaugos ChooseProduct/Service=Pasirinkite produktą ar paslaugą diff --git a/htdocs/langs/lt_LT/orders.lang b/htdocs/langs/lt_LT/orders.lang index f17be373c09..ddaf28f61ab 100644 --- a/htdocs/langs/lt_LT/orders.lang +++ b/htdocs/langs/lt_LT/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Tiekėjo užsakymas SuppliersOrders=Tiekėjų užsakymai SuppliersOrdersRunning=Dabartiniai tiekėjų užsakymai CustomerOrder=Kliento užsakymas -CustomersOrders=Kliento užsakymai +CustomersOrders=Customers orders CustomersOrdersRunning=Dabartiniai klientų užsakymai CustomersOrdersAndOrdersLines=Klientų užsakymai ir užsakymų eilės -OrdersToValid=Kliento pavedimai patvirtinimui -OrdersToBill=Pristatyti Kliento užsakymai -OrdersInProcess=Vykdomi Kliento užsakymai -OrdersToProcess=Kliento užsakymai vykdymui +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Tiekėjų užsakymai vykdymui StatusOrderCanceledShort=Atšauktas StatusOrderDraftShort=Projektas StatusOrderValidatedShort=Patvirtintas StatusOrderSentShort=Vykdomas StatusOrderSent=Gabenimas vykdomas -StatusOrderOnProcessShort=Priėmimas +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Apdorotas StatusOrderToBillShort=Pristatyta StatusOrderToBill2Short=Pateikti sąskaitą-faktūrą @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Viskas gauta StatusOrderCanceled=Atšauktas StatusOrderDraft=Projektas (turi būti patvirtintas) StatusOrderValidated=Patvirtintas -StatusOrderOnProcess=Laukia gavimo +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Apdorotas StatusOrderToBill=Pristatyta StatusOrderToBill2=Pateikti sąskaitą-faktūrą @@ -50,6 +50,8 @@ StatusOrderRefused=Atmesta StatusOrderReceivedPartially=Dalinai gauta StatusOrderReceivedAll=Viskas gauta ShippingExist=Gabenimas vyksta +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Projektas arba patvirtintas, bet dar nebuvo užsakymo DraftOrWaitingShipped=Projektas arba patvirtintas, bet dar negabenamas MenuOrdersToBill=Pristatyti užsakymai diff --git a/htdocs/langs/lt_LT/productbatch.lang b/htdocs/langs/lt_LT/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/lt_LT/productbatch.lang +++ b/htdocs/langs/lt_LT/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/lt_LT/products.lang b/htdocs/langs/lt_LT/products.lang index d2b0da1e0f3..1b39c2adf11 100644 --- a/htdocs/langs/lt_LT/products.lang +++ b/htdocs/langs/lt_LT/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Apskaitos kodas (parduoti) ProductOrService=Produktas ar Paslauga ProductsAndServices=Produktai ir Paslaugos ProductsOrServices=Produktai ar Paslaugos -ProductsAndServicesOnSell=Galimi Produktai ir Paslaugos -ProductsAndServicesNotOnSell=Pasenę Produktai ir paslaugos +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Produktų ir paslaugų statistika ProductsStatistics=Produktų statistika -ProductsOnSell=Galimi produktai -ProductsNotOnSell=Pasenę produktai -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Galimos paslaugos -ServicesNotOnSell=Pasenusios paslaugos -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Vidinė nuoroda LastRecorded=Naujausi produktai / paslaugos įregistruoti pardavimuose LastRecordedProductsAndServices=Paskutiniai %s įrašyti produktai/paslaugos @@ -198,7 +198,7 @@ HelpAddThisServiceCard=Ši opcija leidžia sukurti arba klonuoti paslaugą, jei CurrentProductPrice=Dabartinė kaina AlwaysUseNewPrice=Visada naudokite dabartinę produkto/paslaugos kainą AlwaysUseFixedPrice=Naudokite fiksuotą kainą -PriceByQuantity=Kaina pagal kiekį +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Kiekio diapazonas ProductsDashboard=Produktų/paslaugų suvestinė UpdateOriginalProductLabel=Modifikuoti pirminę etiketę @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Brūkšninio kodo tipo arba reikšm BarCodeDataForProduct=Produkto %s brūkšninio kodo informacija: BarCodeDataForThirdparty=Trečiosios šalies %s brūkšninio kodo informacija: ResetBarcodeForAllRecords=Nustatykite brūkšninio kodo reikšmę visiems įrašams (tai taip pat perkraus brūkšninio kodo reikšmę naujai apibrėžta reikšme) -PriceByCustomer=Kaina pagal klientą +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Kainodaros taisyklės +PricingRule=Rules for customer prices AddCustomerPrice=Pridėti kainą pagal klientus ForceUpdateChildPriceSoc=Nustatykite tą pačią kainą ir kliento dukterinėms įmonėms PriceByCustomerLog=Kaina pagal kliento žurnalą @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/lt_LT/projects.lang b/htdocs/langs/lt_LT/projects.lang index 357d4516d4b..9ee14f63ec0 100644 --- a/htdocs/langs/lt_LT/projects.lang +++ b/htdocs/langs/lt_LT/projects.lang @@ -3,6 +3,7 @@ RefProject=Projekto nuoroda ProjectId=Projekto ID Project=Projektas Projects=Projektai +ProjectStatus=Project status SharedProject=Visi PrivateProject=Kontaktai projekte MyProjectsDesc=Šis vaizdas yra ribotas projektams, kuriems esate kontaktinis asmuo (koks bebūtų tipas). @@ -11,7 +12,6 @@ ProjectsDesc=Šis vaizdas rodo visus projektus (Jūsų vartotojo teisės leidži MyTasksDesc=Šis vaizdas yra ribotas projektams ar užduotims, kuriems Jūs esate kontaktinis asmuo (koks bebūtų tipas). TasksPublicDesc=Šis vaizdas rodo visus projektus ir užduotis, kuriuos Jums leidžiama skaityti. TasksDesc=Šis vaizdas rodo visus projektus ir užduotis (Jūsų vartotojo teisės leidžia matyti viską). -Myprojects=Mano projektai ProjectsArea=Projektų sritis NewProject=Naujas projektas AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Klonuoti kontaktus CloneNotes=Klonuoti pastabas CloneProjectFiles=Klonuoti projekto jungiamus failus CloneTaskFiles=Klonuoti užduoties (-ių) jungiamus failus (jei užduotis (-ys) klonuotos) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Ar tikrai norite klonuoti šį projektą ? ProjectReportDate=Pakeisti užduoties datą priklausomai nuo projekto pradžios datos ErrorShiftTaskDate=Neįmanoma perkelti užduoties datą į naujo projekto pradžios datą diff --git a/htdocs/langs/lt_LT/sendings.lang b/htdocs/langs/lt_LT/sendings.lang index 38030437e9b..9c22f2b507a 100644 --- a/htdocs/langs/lt_LT/sendings.lang +++ b/htdocs/langs/lt_LT/sendings.lang @@ -4,7 +4,8 @@ Sending=Pakrovimas Sendings=Pakrovimai Shipment=Siunta Shipments=Pakrovimai -Receivings=Gavimai +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Gabenimų sritis ListOfSendings=Gabenimų sąrašas SendingMethod=Gabenimo metodas @@ -14,7 +15,7 @@ SearchASending=Vežimo paieška StatisticsOfSendings=Vežimų statistika NbOfSendings=Vežimų skaičius NumberOfShipmentsByMonth=Siuntų skaičius pagal mėnesius -SendingCard=Vežimo kortelė +SendingCard=Shipment card NewSending=Naujas vežimas CreateASending=Sukurti vežimą CreateSending=Sukurti vežimą @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Atšauktas StatusSendingDraftShort=Projektas StatusSendingValidatedShort=Patvirtintas StatusSendingProcessedShort=Apdorota -SendingSheet=Siuntimo lapas +SendingSheet=Shipment sheet Carriers=Vežėjai Carrier=Vežėjas CarriersArea=Vežėjų sritis @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Siuntų įvykiai LinkToTrackYourPackage=Nuoroda sekti Jūsų siuntos kelią ShipmentCreationIsDoneFromOrder=Šiuo metu, naujos siuntos sukūrimas atliktas iš užsakymo kortelės. -RelatedShippings=Susiję siuntos +RelatedShippings=Related shipments ShipmentLine=Siuntimo eilutė CarrierList=Vežėjų sąrašas -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Kliento pagautė diff --git a/htdocs/langs/lt_LT/stocks.lang b/htdocs/langs/lt_LT/stocks.lang index de4457074dc..60c6bbe71e7 100644 --- a/htdocs/langs/lt_LT/stocks.lang +++ b/htdocs/langs/lt_LT/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Sandėlių vertė UserWarehouseAutoCreate=Kuriant vartotoją, sandėlį sukurti automatiškai QtyDispatched=Kiekis išsiųstas +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Atsargos siunčiamos RuleForStockManagementDecrease=Atsargų valdymo mažinimo taisyklė RuleForStockManagementIncrease=Atsargų valdymo didinimo taisyklė @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Padidinti realias atsargas tiekėjų užsakymų patvirtin ReStockOnDispatchOrder=Padidinti realias atsargas, rankiniu būdu atliekant išsiuntimą į sandėlius, gavus tiekėjo užsakymą ReStockOnDeleteInvoice=Padidinti realias atsargas ištrinant sąskaitą-faktūrą OrderStatusNotReadyToDispatch=Užsakymas dar neturi arba jau nebeturi statuso, kuris leidžia išsiųsti produktus į atsargų sandėlius. -StockDiffPhysicTeoric=Priežastis, dėl kurių skiriasi fizinis ir teorinis atsargų kiekis sandėlyje +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Nėra iš anksto nustatytų produktų šiam objektui. Atsargų siuntimas nėra reikalingas DispatchVerb=Išsiuntimas StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Masinis atsargų judėjimas SelectProductInAndOutWareHouse=Pasirinkite produktą, kiekį, sandėlį šaltinį ir galutinį sandėlį, tada spauskite "%s". Kai tai bus padaryta visiems reikiamiems judėjimams, spauskite "%s". RecordMovement=Įrašyti perdavimą -ReceivingForSameOrder=Šio užsakymo gavimai +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Įrašyti atsargų judėjimai RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/lt_LT/suppliers.lang b/htdocs/langs/lt_LT/suppliers.lang index d7103dbc295..f53d7984e4a 100644 --- a/htdocs/langs/lt_LT/suppliers.lang +++ b/htdocs/langs/lt_LT/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Tiekėjai Supplier=Tiekėjas -AddSupplier=Pridėti tiekėją +AddSupplier=Create a supplier SupplierRemoved=Tiekėjas pašalintas SuppliersInvoice=Tiekėjo sąskaita-faktūra NewSupplier=Naujas tiekėjas @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Nėra arba grupinis %s neseniai neįvyko SentToSuppliers=Nusiųsta tiekėjams ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/lt_LT/withdrawals.lang b/htdocs/langs/lt_LT/withdrawals.lang index 9181af3d105..efa59465349 100644 --- a/htdocs/langs/lt_LT/withdrawals.lang +++ b/htdocs/langs/lt_LT/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Kreditą WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Rodyti Išėmimą IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Jei sąskaita-faktūra turi mažiausiai vieną išėmimo mokėjimą dar apdorojamą, tai nebus nustatyta kaip apmokėta, kad pirmiausia leisti išėmimo valdymą. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Išėmimo failas SetToStatusSent=Nustatyti būklę "Failas išsiųstas" ThisWillAlsoAddPaymentOnInvoice=Tai taip pat taikoma sąskaitų-faktūrų mokėjimams ir jų priskyrimui "Apmokėtos" diff --git a/htdocs/langs/lt_LT/workflow.lang b/htdocs/langs/lt_LT/workflow.lang index 7cf214c4003..4d79b753c4e 100644 --- a/htdocs/langs/lt_LT/workflow.lang +++ b/htdocs/langs/lt_LT/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow modulio nustatymas -WorkflowDesc=Šis modulis yra skirtas modifikuoti automatiniams veiksmams aplikacijoje. Pagal nutylėjimą darbo eiga yra atidaryta (Jūs atliekate veiksmus Jūsų norima seka). Galite įjungti norimus automatinius veiksmus. +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Čia nėra darbo eigos Jūsų įjungtam moduliui, kurią galėtumėte modifikuoti descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Sukurti kliento užsakymą automatiškai po komercinio pasiūlymo pasirašymo descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Sukurti kliento sąskaitą-faktūrą automatiškai po komercinio pasiūlymo pasirašymo diff --git a/htdocs/langs/lv_LV/accountancy.lang b/htdocs/langs/lv_LV/accountancy.lang index cb192f1f684..801ddcc484a 100644 --- a/htdocs/langs/lv_LV/accountancy.lang +++ b/htdocs/langs/lv_LV/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Žurnāli JournalFinancial=Financial journals Exports=Eksports +Export=Export Modelcsv=Eksporta modulis +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Klasiskais eksports Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=CSV atdalītājs +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/lv_LV/admin.lang b/htdocs/langs/lv_LV/admin.lang index a0aeaf89735..44dd8ffd72a 100644 --- a/htdocs/langs/lv_LV/admin.lang +++ b/htdocs/langs/lv_LV/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Neizmantot produkcijā ThisIsProcessToFollow=Tas ir setup, lai process: StepNb=Solis %s FindPackageFromWebSite=Atrast paketi, kas nodrošina iespēju, jūs vēlaties (piemēram, par oficiālo tīmekļa vietnes %s). -DownloadPackageFromWebSite=Lejupielādēt paketi. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Izkravāt paketi failu Dolibarr saknes direktorijā %s SetupIsReadyForUse=Instalēšana ir pabeigta, un Dolibarr ir gatavs lietošanai ar šo jauno komponentu. NotExistsDirect=Alternatīva saknes direktorijs nav definēta.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Izvēlieties moduli: CurrentVersion=Dolibarr pašreizējā versija CallUpdatePage=Iet uz lapu, kas aktualizē datu bāzes struktūru un datus: %s. LastStableVersion=Pēdējā stabilā versija +UpdateServerOffline=Update server offline GenericMaskCodes=Jūs varat ievadīt jebkuru numerācijas masku. Šajā maska, šādus tagus var izmantot:
{000000} atbilst skaitam, kas tiks palielināts par katru %s. Ievadīt tik daudz nullēm, kā vajadzīgajā garumā letes. Skaitītājs tiks pabeigts ar nullēm no kreisās puses, lai būtu tik daudz nullēm kā masku.
{000000 000} tāds pats kā iepriekšējais, bet kompensēt atbilst noteiktam skaitam pa labi uz + zīmi tiek piemērots, sākot ar pirmo %s.
{000000 @ x} tāds pats kā iepriekšējais, bet skaitītājs tiek atiestatīts uz nulli, kad mēnesī x ir sasniegts (x no 1 līdz 12, 0 vai izmantot agri no finanšu gada mēnešiem, kas noteiktas konfigurācijas, 99 vai atiestatīt uz nulli katru mēnesi ). Ja šis variants tiek izmantots, un x ir 2 vai vairāk, tad secība {gggg} {mm} vai {GGGG} {mm} ir arī nepieciešama.
{Dd} diena (no 01 līdz 31).
{Mm} mēnesi (no 01 līdz 12).
{Yy}, {GGGG} vai {y} gadu vairāk nekā 2, 4 vai 1 numuri.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=Visas citas rakstzīmes masku paliks neskartas.
Atstarpes nav atļautas.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Izvēlieties kādu no tabulas ExtrafieldSeparator=Atdalītājs ExtrafieldCheckBox=Rūtiņa ExtrafieldRadio=Radio poga +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Bibliotēka, lai izveidotu PDF WarningUsingFPDF=Uzmanību: Jūsu conf.php satur direktīvu dolibarr_pdf_force_fpdf = 1. Tas nozīmē, ka jūs izmantojat FPDF bibliotēku, lai radītu PDF failus. Šī bibliotēka ir vecs un neatbalsta daudz funkcijām (Unicode, attēlu pārredzamība, kirilicas, arābu un Āzijas valodās, ...), tāpēc var rasties kļūdas laikā PDF paaudzes.
Lai atrisinātu šo problēmu, un ir pilnībā atbalsta PDF paaudzes, lūdzu, lejupielādējiet TCPDF bibliotēka , tad komentēt vai noņemt līnijas $ dolibarr_pdf_force_fpdf = 1, un pievienojiet vietā $ dolibarr_lib_TCPDF_PATH = 'path_to_TCPDF_dir' LocalTaxDesc=Dažas valstis piemēro 2 vai 3 nodokļus par katru PVN rēķinu rindā. Ja tas ir gadījums, izvēlieties veidu otrajā un trešajā nodokli un tā likmi. Iespējamais veids ir:
1: vietējais nodoklis attiecas uz produktiem un pakalpojumiem, bez PVN (PVN netiek piemērots vietējiem nodokļiem)
2: vietējais nodoklis attiecas uz produktiem un pakalpojumiem, bez PVN (PVN aprēķina summas + localtax)
3: vietējais nodoklis attiecas uz produktiem, bez PVN (PVN netiek piemērots vietējiem nodokļiem)
4: vietējais nodoklis attiecas uz produktiem, bez PVN (PVN aprēķina summas + localtax)
5: vietējais nodoklis attiecas uz pakalpojumiem, bez PVN (PVN netiek piemērots vietējiem nodokļiem)
6: vietējais nodoklis attiecas uz pakalpojumiem, bez PVN (PVN aprēķina summas + localtax) @@ -545,7 +548,7 @@ Module150010Name=Batch number, eat-by date and sell-by date Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Lasīt klientu rēķinus Permission12=Izveidot / mainīt klientu rēķinus -Permission13=Unvalidate klientu rēķinus +Permission13=Neapstiprināti klientu rēķini Permission14=Pārbaudīt klientu rēķinus Permission15=Nosūtīt klientu rēķinus pa e-pastu Permission16=Izveidot maksājumus klientu rēķiniem @@ -572,7 +575,7 @@ Permission67=Eksporta iejaukšanās Permission71=Lasīt dalībniekus Permission72=Izveidot/mainīt dalībniekus Permission74=Dzēst dalībniekus -Permission75=Setup tipi un atribūti locekļiem +Permission75=Setup types of membership Permission76=Eksportēt datus Permission78=Lasīt abonementus Permission79=Izveidot/mainīt abonementus @@ -595,8 +598,8 @@ Permission106=Eksportēt sūtījumus Permission109=Dzēst sūtījumus Permission111=Lasīt finanšu kontus Permission112=Izveidot/labot/dzēst un salīdzināt darījumus -Permission113=Setup financiel konti (izveidot, pārvaldīt sadaļas) -Permission114=Konsolidēt darījumus +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Eksportēt darījumus un kontu izrakstus Permission116=Pārvietot starp kontiem Permission117=Pārvaldīt pārbaudes dispečervadības @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Izveidot/labot aptaujas Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Iestatīšana sendings pa e-pastu SendmailOptionNotComplete=Brīdinājums, par dažiem Linux sistēmām, lai nosūtītu e-pastu no jūsu e-pastu, sendmail izpilde uzstādīšana ir iekļauti variants-ba (parametrs mail.force_extra_parameters savā php.ini failā). Ja daži saņēmēji nekad saņemt e-pastus, mēģina labot šo PHP parametru ar mail.force_extra_parameters =-BA). PathToDocuments=Ceļš līdz dokumentiem PathDirectory=Katalogs -SendmailOptionMayHurtBuggedMTA=Feature nosūtīt vēstules, izmantojot metodi "PHP pasta Direct" radīs pasta ziņu, kas varētu būt nepareizi parsēt daži saņēma pasta serveriem. Rezultāts ir, ka dažas vēstules nevar nolasīt ar cilvēkiem rīkotajos thoose bugged platformas. Tas ir darīts attiecībā uz dažiem interneta pakalpojumu sniedzējiem (Ex: Orange Francijā). Tas nav problēma, par Dolibarr ne par PHP, bet uz saņemšanas pasta serveri. Taču jūs varat pievienot opciju MAIN_FIX_FOR_BUGGED_MTA līdz 1 uz iestatīšanu - cits, lai mainītu Dolibarr lai izvairītos no šīs. Tomēr var rasties problēmas ar citiem serveriem, kas stingri ievērot SMTP standarta. Cits risinājums (recommanded), ir izmantot metodi "SMTP ligzda bibliotēku", kurai nav trūkumi. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Tulkojumu konfigurēšana TranslationDesc=Valodu izvēle redzams uz ekrāna var mainīt:
* Globāli no izvēlnes Home - Setup - Displejs
* Lietotāju tikai no tab lietotāja displeja lietotāja kartes (uzklikšķiniet uz pieteikšanās uz augšu ekrāna). TotalNumberOfActivatedModules=Aktivēto moduļu kopskaits: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=Jūs izmantojat interneta pārlūka %s. Šī pārlūkprogramma ir ok BrowserIsKO=Jūs izmantojat interneta pārlūka %s. Šī pārlūkprogramma ir zināms, ka slikta izvēle drošību, veiktspēju un uzticamību. Mēs recommand jums izmantot Firefox, Chrome, Opera vai Safari. XDebugInstalled=XDebug ir ielādēts XCacheInstalled=XCache ir piekrauts. -AddRefInList=Parādīt klientu / piegādātāju ref uz sarakstā (izvēlēties sarakstu vai combobox), un lielākā daļa no hipersaites +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Izdevums lauka %s FixTZ=Laika zonas labojums FillThisOnlyIfRequired=Piemērs: +2 (aizpildiet tikai, ja sastopaties ar problēmām) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Lai apstiprinātu pasūtījumu pēc priekšlikuma tu FreeLegalTextOnOrders=Brīvs teksts pasūtījumos WatermarkOnDraftOrders=Ūdenszīme projektu pasūtījumiem (none ja tukšs) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Klikšķiniet Dial moduļa uzstādīšanas ClickToDialUrlDesc=Url sauc, kad uz tālruņa Piktogramma klikšķis tiek darīts. In URL, jūs varat izmantot tagus
__PHONETO__ Kas tiks aizstāts ar tālruņa numuru personai, lai izsauktu
__PHONEFROM__ Kas tiks aizstāts ar tālruņa numuru, aicinot personas (jūsu)
__LOGIN__ Kas tiks aizstāts ar jūsu clicktodial pieteikšanās (definēts jūsu lietotāja kartes)
__PASS__ Kas tiks aizstāts ar jūsu clicktodial paroli (definēts jūsu lietotāja kartes). @@ -1392,6 +1397,7 @@ RSSUrlExample=Interesants RSS MailingSetup=Pasta vēstuļu sūtīšanas modulis iestatīšanu MailingEMailFrom=Nosūtītāja e-pasts (No) uz e-pastu nosūtīto vēstuļu sūtīšanas modulis MailingEMailError=Atgriezties e-pastu (Kļūdas-līdz) uz e-pastu ar kļūdām +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Nosūtītāja e-pasts (No) uz e-pastu nosūtīti paziņojumi @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Nosūtot modulis iestatīšanu SendingsReceiptModel=Nosūtot saņemšanas modeli SendingsNumberingModules=Sendings numerācijas moduļus -SendingsAbility=Atbalsts sendings loksnes klientu piegādēm +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=Vairumā gadījumu, sendings ieņēmumi tiek izmantoti gan kā loksnes klientu piegādēm (produktu sarakstu, lai nosūtītu) un loksnes, kas tiek recevied un paraksta klientu. Tātad produkta piegādes kvītis ir dublēta iezīme, un reti aktivizēts. -FreeLegalTextOnShippings=Br\\ivais teksts piegādēs +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Produkti piegādes kvīts numerācija modulis DeliveryOrderModel=Produkti piegādes kvīts modelis @@ -1414,7 +1420,7 @@ AdvancedEditor=Uzlabotais redaktors ActivateFCKeditor=Aktivizēt uzlabotos redaktoru: FCKeditorForCompany=WYSIWYG izveidi / izdevums no elementiem apraksta un piezīmi (izņemot produktu / pakalpojumu) FCKeditorForProduct=WYSIWYG radīšana / izdevums produktu / pakalpojumu apraksts un atzīmēt -FCKeditorForProductDetails=WYSIWYG izveidi / izdevums Produktu detaļu pozīcijās attiecībā uz visām iestādēm (priekšlikumi, rīkojumi, rēķini, utt ..) Brīdinājums:. Izmantojot šo iespēju, lai šajā gadījumā ir nopietni nav recommanded, jo tas var radīt problēmas ar speciālām zīmēm un lapas formating, kad ēka PDF failus. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWYG izveide/ izdevums masveida emailings (Tools-> e-pastu) FCKeditorForUserSignature=WYSIWYG izveide/labošana lietotāja paraksta FCKeditorForMail=WYSIWYG izveidi / izdevums visām vēstulēm (izņemot Outils-> e-pastu) @@ -1469,7 +1475,7 @@ SummaryOfVatExigibilityUsedByDefault=Time of VAT exigibility by default accordin OnDelivery=Piegādes brīdī OnPayment=Par samaksu OnInvoice=Uz rēķina -SupposedToBePaymentDate=Maksājuma izmanto datumu +SupposedToBePaymentDate=Maksājuma datums izmantots SupposedToBeInvoiceDate=Rēķina izmantotais datums Buy=Pirkt Sell=Pārdot @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Kārtošanas secība Format=Formāts TypePaymentDesc=0:Klienta maksāšanas veids, 1:Piegādātāja maksāšanas veids, 2:Abi klientu un piegādātāju maksāšanas veids +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/lv_LV/agenda.lang b/htdocs/langs/lv_LV/agenda.lang index 838abe3a851..a301f51c95e 100644 --- a/htdocs/langs/lv_LV/agenda.lang +++ b/htdocs/langs/lv_LV/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Klienta pasūtījums %s nosūtīts pa e-pastu InvoiceSentByEMail=Klienta rēķins %s nosūtīts pa e-pastu SupplierOrderSentByEMail=Piegādātāja pasūtījums %s nosūtīts pa e-pastu SupplierInvoiceSentByEMail=Piegādātāja rēķins %s nosūtīts pa e-pastu -ShippingSentByEMail=Piegāde %s nosūtīta pa pastu -ShippingValidated= Piegāde %s apstiprināta +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Trešā puses izveidota DateActionPlannedStart= Plānotais sākuma datums DateActionPlannedEnd= Plānotais beigu datums @@ -68,7 +69,7 @@ DateActionDoneEnd= Reālais beigu datums DateActionStart= Sākuma datums DateActionEnd= Beigu datums AgendaUrlOptions1=Jūs varat pievienot arī šādus parametrus, lai filtrētu produkciju: -AgendaUrlOptions2=login=%s ierobežot izejas uz darbībām, ko rada, piešķirto vai izdarīt lietotāju %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint = %s ierobežot izejas darbībām piešķirto lietotāja %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/lv_LV/banks.lang b/htdocs/langs/lv_LV/banks.lang index 8a698934629..501b8adc1e0 100644 --- a/htdocs/langs/lv_LV/banks.lang +++ b/htdocs/langs/lv_LV/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Konts FinancialAccounts=Konti BankAccount=Bankas konts BankAccounts=Banku konti +ShowAccount=Show Account AccountRef=Finanšu konta ref AccountLabel=Finanšu konts nosaukums CashAccount=Skaidras naudas konts diff --git a/htdocs/langs/lv_LV/bills.lang b/htdocs/langs/lv_LV/bills.lang index bca0426a8b5..3813f4f5db7 100644 --- a/htdocs/langs/lv_LV/bills.lang +++ b/htdocs/langs/lv_LV/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Pavadzīme Bills=Pavadzīmes -BillsCustomers=Klientu rēķini -BillsCustomer=Klienta rēķins -BillsSuppliers=Piegādātāja rēķins -BillsCustomersUnpaid=Neapmaksāti klienta rēķini +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Neapmaksātie klientu rēķini %s BillsSuppliersUnpaid=Neapmaksātie piegādātāja -u rēķini BillsSuppliersUnpaidForCompany=Neapmaksātie piegādātāja -u rēķini %s BillsLate=Kavētie maksājumi -BillsStatistics=Klientu rēķinu statistika -BillsStatisticsSuppliers=Piegādātāja-u rēķinu statistika +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Bloķēts, jo nedrīkst dzēst InvoiceStandard=Standarta rēķins InvoiceStandardAsk=Standarta rēķins @@ -348,6 +348,7 @@ ChequeNumber=Pārbaudiet N ° ChequeOrTransferNumber=Pārbaudiet / Transfer N ° ChequeMaker=Pārbaudiet raidītājs ChequeBank=Čeka izsniegšanas banka +CheckBank=Check NetToBePaid=Neto jāmaksā PhoneNumber=Tel FullPhoneNumber=Tālrunis @@ -388,7 +389,7 @@ DisabledBecausePayments=Nav iespējams, kopš šeit ir daži no maksājumiem CantRemovePaymentWithOneInvoicePaid=Nevar dzēst maksājumu, jo eksistē kaut viens rēķins, kas klasificēts kā samaksāts ExpectedToPay=Gaidāmais maksājums PayedByThisPayment=Samaksāts ar šo maksājumu -ClosePaidInvoicesAutomatically=Classify "Paid" all standard or replacement invoices entirely paid. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=Visi rēķini, kas ir apmaksāti pilnībā automātiski tiks aizvērti ar statusu "Samaksāts". ToMakePayment=Maksāt @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Pārstāvis turpinot darbotie TypeContact_invoice_supplier_external_BILLING=Piegādātāja rēķinu kontaktpersona TypeContact_invoice_supplier_external_SHIPPING=Piegādātājs kuģniecības kontakts TypeContact_invoice_supplier_external_SERVICE=Piegādātājs dienests kontakts +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/lv_LV/compta.lang b/htdocs/langs/lv_LV/compta.lang index 51818210e66..d02a0c14997 100644 --- a/htdocs/langs/lv_LV/compta.lang +++ b/htdocs/langs/lv_LV/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Apgrozījums PaymentsNotLinkedToInvoice=Maksājumi, kas nav saistīti ar kādu rēķinu, tāpēc nav saistīts ar trešajām personām PaymentsNotLinkedToUser=Maksājumi, kas nav saistīti ar jebkuru lietotāju Profit=Peļņa +AccountingResult=Accounting result Balance=Bilance Debit=Debets Credit=Kredīts diff --git a/htdocs/langs/lv_LV/cron.lang b/htdocs/langs/lv_LV/cron.lang index fdbba9abcff..bc571e1860a 100644 --- a/htdocs/langs/lv_LV/cron.lang +++ b/htdocs/langs/lv_LV/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Drošības atslēga URL uzsākt cron darbavietas FileToLaunchCronJobs=Komandrindas uzsākt cron darbavietas -CronExplainHowToRunUnix=Par Unix vidē, jums vajadzētu izmantot crontab palaist komandrindas viena otras minūtes -CronExplainHowToRunWin=Microsoft (tm), Windows environement jūs varat izmantot regulāro uzdevums rīkus, lai palaistu komandrindas viena otras minūtes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Plānotie darbi CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/lv_LV/ecm.lang b/htdocs/langs/lv_LV/ecm.lang index 569a9cb69d3..0daca52e9c6 100644 --- a/htdocs/langs/lv_LV/ecm.lang +++ b/htdocs/langs/lv_LV/ecm.lang @@ -5,11 +5,11 @@ DocsGenerated=Izveidotie dokumenti DocsElements=Elements dokumenti DocsThirdParties=Trešo personu dokumenti DocsContracts=Līgumu dokumenti -DocsProposals=Dokumenti priekšlikumi +DocsProposals=Priekšlikumu dokumenti DocsOrders=Dokumenti pasūtījumi DocsInvoices=Dokumenti rēķini ECMNbOfDocs=Dokumentu skaits sadaļā -ECMNbOfDocsSmall=Nb doc. +ECMNbOfDocsSmall=Dok. sk. ECMSection=Katalogs ECMSectionManual=Manuālā sadaļa ECMSectionAuto=Automātiskā sadaļa @@ -22,8 +22,8 @@ ECMAddSection=Pievienot direktoriju ECMNewDocument=Jauns dokuments ECMCreationDate=Izveides datums ECMNbOfFilesInDir=Failu skaits direktorijā -ECMNbOfSubDir=Skaits sub-katalogi -ECMNbOfFilesInSubDir=Failu skaits, kas sub-katalogi +ECMNbOfSubDir=Apakšsadaļu skaits +ECMNbOfFilesInSubDir=Failu skaits apakšsadaļās ECMCreationUser=Autors ECMArea=EDM platība ECMAreaDesc=EDM (Electronic Document Management) platība ļauj saglabāt, koplietot un meklēt ātri visa veida dokumentus Dolibarr. @@ -43,6 +43,8 @@ ECMDocsByContracts=Dokumenti, kas saistīti ar līgumiem ECMDocsByInvoices=Dokumenti, kas saistīti ar klientu rēķiniem ECMDocsByProducts=Dokumenti, kas saistīti ar produktiem ECMDocsByProjects=Dokumenti, kas saistīti ar projektiem +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=Nav izveidots katalogs ShowECMSection=Rādīt katalogu DeleteSection=Dzēst direktoriju diff --git a/htdocs/langs/lv_LV/errors.lang b/htdocs/langs/lv_LV/errors.lang index 9733c26045e..b34b89c418a 100644 --- a/htdocs/langs/lv_LV/errors.lang +++ b/htdocs/langs/lv_LV/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Setup moduļa izskatās, ka uncomplete. Iet uz Setup ErrorBadMask=Kļūda masku ErrorBadMaskFailedToLocatePosOfSequence=Kļūda, maska ​​bez kārtas numuru ErrorBadMaskBadRazMonth=Kļūdas, slikta reset vērtība +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Kļūda. Izvēlieties vismaz vienu ierakstu. ErrorProductWithRefNotExist=Preces ar atsauci '%s' neeksistē ErrorDeleteNotPossibleLineIsConsolidated=Izdzēst nav iespējams, jo ieraksts ir saistīts ar bankas darījumu summa, kas tiek conciliated @@ -156,6 +158,8 @@ ErrorPriceExpression21=Nav rezultāta '%s' ErrorPriceExpression22=Negatīvs rezultāts '%s' ErrorPriceExpressionInternal=Iekšēja kļūda '%s' ErrorPriceExpressionUnknown=Nezināma kļūda '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Obligātie uzstādīšanas parametri vēl nav definētas diff --git a/htdocs/langs/lv_LV/install.lang b/htdocs/langs/lv_LV/install.lang index 58646a1e012..e2881caf007 100644 --- a/htdocs/langs/lv_LV/install.lang +++ b/htdocs/langs/lv_LV/install.lang @@ -132,12 +132,12 @@ YouAskLoginCreationSoDolibarrNeedToConnect=Jūs lūdzat, lai izveidotu datu bāz BecauseConnectionFailedParametersMayBeWrong=Kā savienojums neizdevās, uzņēmēja vai super lietotāju parametri ir nepareizi. OrphelinsPaymentsDetectedByMethod=Bāreņi maksājums atklāj metode %s RemoveItManuallyAndPressF5ToContinue=Noņemiet to manuāli un nospiediet F5, lai turpinātu. -KeepDefaultValuesWamp=Jūs izmantojat Dolibarr iestatīšanas vedni no DoliWamp, tāpēc vērtības ierosinātās šeit jau ir optimizēta. Mainīt tikai tad, ja jūs zināt, ko jūs darāt. +KeepDefaultValuesWamp=Jūs izmantojat Dolibarr iestatīšanas vedni no DoliWamp, tāpēc vērtības šeit jau ir optimizētas. Mainiet tikai tad, ja jūs zināt, ko darāt. KeepDefaultValuesDeb=Jūs izmantojat Dolibarr iestatīšanas vedni no Linux paketi (Ubuntu, Debian, Fedora ...), tāpēc vērtības ierosinātās šeit jau ir optimizēta. Tikai datu bāzes īpašnieks, lai izveidotu paroli jāpabeidz. Mainītu citus parametrus tikai tad, ja jūs zināt, ko jūs darāt. KeepDefaultValuesMamp=Jūs izmantojat Dolibarr iestatīšanas vedni no DoliMamp, tāpēc vērtības ierosinātās šeit jau ir optimizēta. Mainīt tikai tad, ja jūs zināt, ko jūs darāt. KeepDefaultValuesProxmox=Jūs izmantojat Dolibarr iestatīšanas vedni no Proxmox virtuālās ierīces, tāpēc vērtības ierosinātās šeit jau ir optimizēta. Mainīt tikai tad, ja jūs zināt, ko jūs darāt. FieldRenamed=Lauks pārdēvēts -IfLoginDoesNotExistsCheckCreateUser=Ja pieteikšanās neeksistē vēl, jums ir pārbaudīt opciju "Izveidot lietotāju" +IfLoginDoesNotExistsCheckCreateUser=Ja lietotājs neeksistē, jums ir jāizvēlas opciju "Izveidot lietotāju" ErrorConnection=Server "%s", datu bāzes nosaukums "%s" login "%s", vai datu bāzes parole var būt nepareizi vai PHP klienta versijas var būt pārāk vecs, salīdzinot ar bāzes versiju. InstallChoiceRecommanded=Ieteicams izvēlēties, lai instalētu versiju %s no jūsu pašreizējā versijā %s InstallChoiceSuggested=Instalējiet izvēli ierosināja uzstādītājam. @@ -155,6 +155,7 @@ MigrationFinished=Migrācija pabeigta LastStepDesc=Pēdējais solis: Noteikt šeit pieteikumvārdu un paroli, jūs plānojat izmantot, lai izveidotu savienojumu ar programmatūru. Nepalaidiet garām šo, jo tas ir konts, lai administrētu visus pārējos. ActivateModule=Aktivizēt moduli %s ShowEditTechnicalParameters=Noklikšķiniet šeit, lai parādītu / rediģēt papildu parametrus (ekspertu režīmā) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -170,7 +171,7 @@ MigrationRelationshipTables=Datu migrācija uz attiecībām tabulām (%s) MigrationPaymentsUpdate=Maksājumu datu korekcija MigrationPaymentsNumberToUpdate=%s maksājums (-iem), lai atjauninātu MigrationProcessPaymentUpdate=Atjaunināt maksājumu(-us) %s -MigrationPaymentsNothingToUpdate=Nav daudz lietas, kas darīt +MigrationPaymentsNothingToUpdate=Nav vairāk lietu ko darīt MigrationPaymentsNothingUpdatable=Ne vairāk maksājumus, kas var tikt izlabotas MigrationContractsUpdate=Līgumu datu korekcija MigrationContractsNumberToUpdate=%s līgumu (-iem), lai atjauninātu @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Atjaunināšanas laiks sekundēs MigrationActioncommElement=Atjaunināt informāciju par pasākumiem MigrationPaymentMode=Datu migrācija uz maksājumu režīmā MigrationCategorieAssociation=Kategoriju migrācija +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Rādīt nepieejamās iespējas HideNotAvailableOptions=Slēpt nepieejamās iespējas diff --git a/htdocs/langs/lv_LV/languages.lang b/htdocs/langs/lv_LV/languages.lang index 1ace9d27905..74d6363e994 100644 --- a/htdocs/langs/lv_LV/languages.lang +++ b/htdocs/langs/lv_LV/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Vācu (Austrija) Language_de_CH=Vācu (Šveice) Language_el_GR=Grieķu Language_en_AU=Angļu (Austrālija) +Language_en_CA=English (Canada) Language_en_GB=Angļu (Apvienotā Karaliste) Language_en_IN=Angļu (Indija) Language_en_NZ=Angļu (Jaunzēlande) diff --git a/htdocs/langs/lv_LV/main.lang b/htdocs/langs/lv_LV/main.lang index f2a4fe61cb8..4dfbe5b3e41 100644 --- a/htdocs/langs/lv_LV/main.lang +++ b/htdocs/langs/lv_LV/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd.MM.yyyy FormatDateShortJavaInput=dd.MM.yyyy FormatDateShortJQuery=dd.mm.yy FormatDateShortJQueryInput=dd.mm.yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Kļūda, neizdevās saglabāt failu. SetDate=Iestatīt datumu SelectDate=Izvēlēties datumu SeeAlso=Skatīt arī %s +SeeHere=See here BackgroundColorByDefault=Noklusējuma fona krāsu FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=Lietotājs Users=Lietotāji Group=Grupa Groups=Grupas +NoUserGroupDefined=No user group defined Password=Parole PasswordRetype=PArole atkārtoti NoteSomeFeaturesAreDisabled=Ņemiet vērā, ka funkcijas / modules daudz ir invalīdi šajā demonstrācijā. @@ -258,6 +261,7 @@ days=dienas Hours=Stundas Minutes=Minūtes Seconds=Sekundes +Weeks=Weeks Today=Šodien Yesterday=Vakar Tomorrow=Rīt @@ -683,6 +687,7 @@ XMoreLines=%s līnija(as) slēptas PublicUrl=Publiskā saite AddBox=Pievienot info logu SelectElementAndClickRefresh=Izvēlieties elementu un nospiediet atjaunot +PrintFile=Print File %s # Week day Monday=Pirmdiena Tuesday=Otrdiena diff --git a/htdocs/langs/lv_LV/margins.lang b/htdocs/langs/lv_LV/margins.lang index 4a221740342..f81504f5dda 100644 --- a/htdocs/langs/lv_LV/margins.lang +++ b/htdocs/langs/lv_LV/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Maržinālā detaļas ProductMargins=Produktu rezerves CustomerMargins=Klientu robežas SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Produkts vai pakalpojums AllProducts=Visi produkti un pakalpojumi ChooseProduct/Service=Izvēlies preci vai pakalpojumu diff --git a/htdocs/langs/lv_LV/orders.lang b/htdocs/langs/lv_LV/orders.lang index a15b3d85d24..32f63671aa0 100644 --- a/htdocs/langs/lv_LV/orders.lang +++ b/htdocs/langs/lv_LV/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Piegādātājs rīkojums SuppliersOrders=Piegādātāji pasūtījumi SuppliersOrdersRunning=Pašreizējie piegādātāju pasūtījumi CustomerOrder=Klienta rīkojums -CustomersOrders=Klientu pasūtījumi +CustomersOrders=Customers orders CustomersOrdersRunning=Pašreizējie klienta/u pasūtījumi CustomersOrdersAndOrdersLines=Klientu pasūtījumus un ordeņa līnijas -OrdersToValid=Klienta pasūtījumu apstiprināšanai, -OrdersToBill=Klienta pasūtījumi piegādāti -OrdersInProcess=Klienta pasūtījumi procesā -OrdersToProcess=Klienta pasūtījumi kas jāapstrādā +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Piegādātāja rīkojumi apstrādāt StatusOrderCanceledShort=Atcelts StatusOrderDraftShort=Projekts StatusOrderValidatedShort=Apstiprināts StatusOrderSentShort=Procesā StatusOrderSent=Sūtījuma procesā -StatusOrderOnProcessShort=Reģistratūra +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Apstrādāti StatusOrderToBillShort=Pasludināts StatusOrderToBill2Short=Lai likumprojektu @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Viss saņemts StatusOrderCanceled=Atcelts StatusOrderDraft=Projekts (ir jāapstiprina) StatusOrderValidated=Apstiprināts -StatusOrderOnProcess=Gaida, lai saņemtu +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Apstrādāts StatusOrderToBill=Piegādāts StatusOrderToBill2=Lai likumprojektu @@ -50,6 +50,8 @@ StatusOrderRefused=Atteikts StatusOrderReceivedPartially=Daļēji saņemts StatusOrderReceivedAll=Viss saņemts ShippingExist=Sūtījums pastāv +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Projektu vai apstiprinājušas vēl nav pasūtīts DraftOrWaitingShipped=Projektu vai apstiprināt vēl nav nosūtīti MenuOrdersToBill=Pasūtījumi piegādāti diff --git a/htdocs/langs/lv_LV/productbatch.lang b/htdocs/langs/lv_LV/productbatch.lang index cab1130f7dc..ebb97632566 100644 --- a/htdocs/langs/lv_LV/productbatch.lang +++ b/htdocs/langs/lv_LV/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Daudz.: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/lv_LV/products.lang b/htdocs/langs/lv_LV/products.lang index 3bfc33d66a9..af56d19cd34 100644 --- a/htdocs/langs/lv_LV/products.lang +++ b/htdocs/langs/lv_LV/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Grāmatvedība kods (pārdot) ProductOrService=Produkts vai pakalpojums ProductsAndServices=Produkti un pakalpojumi ProductsOrServices=Produkti vai pakalpojumi -ProductsAndServicesOnSell=Pieejamie produkti un pakalpojumi -ProductsAndServicesNotOnSell=Novecojušie Produkti un Pakalpojumi +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Produktu un pakalpojumu statistika ProductsStatistics=Produktu statistika -ProductsOnSell=Pieejamie produkti -ProductsNotOnSell=Novecojušie produkti -ProductsOnSellAndOnBuy=Prece netiek pārdota un netiek iepirkta -ServicesOnSell=Pieejamie pakalpojumi -ServicesNotOnSell=Novecojušie pakalpojumi -ServicesOnSellAndOnBuy=Pakalpojums netiek pārdots un netiek iepirkts +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Iekšējā atsauce LastRecorded=Jaunākie produkti / pakalpojumi par pārdot reģistrē LastRecordedProductsAndServices=Pēdējie %s reģistrētie produkti / pakalpojumi @@ -198,7 +198,7 @@ HelpAddThisServiceCard=Šī iespēja ļauj izveidot vai klons pakalpojumu, ja ta CurrentProductPrice=Pašreizējā cena AlwaysUseNewPrice=Vienmēr izmantot pašreizējo cenu produktam / pakalpojumam AlwaysUseFixedPrice=Izmantot fiksētu cenu -PriceByQuantity=Cena pēc daudzuma +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Daudzuma diapazons ProductsDashboard=Produkti / Pakalpojumi kopsavilkums UpdateOriginalProductLabel=Labot sākotnējo nosaukumu @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Svītrkoda produkta informācija %s : BarCodeDataForThirdparty=Svītrkoda informācija trešajām personām %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Klienta cena +PriceByCustomer=Different price for each customer PriceCatalogue=Unikāla cena poduktam/pakalpojumam -PricingRule=Cenu veidošanas noteikumi +PricingRule=Rules for customer prices AddCustomerPrice=Pievienot cenu klientiem ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimālā cena nevar būt zemāka par %s MinimumRecommendedPrice=Minimālā rekomendējamā cena : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Numurs diff --git a/htdocs/langs/lv_LV/projects.lang b/htdocs/langs/lv_LV/projects.lang index 63affb41543..1a098a76360 100644 --- a/htdocs/langs/lv_LV/projects.lang +++ b/htdocs/langs/lv_LV/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Projekta ID Project=Projekts Projects=Projekti +ProjectStatus=Project status SharedProject=Visi PrivateProject=Kontakti Projekta MyProjectsDesc=Šis skats ir tikai uz projektiem, jums ir kontakts (kāds ir tipa). @@ -11,7 +12,6 @@ ProjectsDesc=Šo viedokli iepazīstina visus projektus (jūsu lietotāja atļauj MyTasksDesc=Šis skats ir tikai uz projektiem vai uzdevumus, jums ir kontakts (kāds ir tipa). TasksPublicDesc=Šo viedokli iepazīstina visus projektus un uzdevumus, jums ir atļauts lasīt. TasksDesc=Šo viedokli iepazīstina visus projektus un uzdevumus (jūsu lietotāja atļaujas piešķirt jums atļauju skatīt visu). -Myprojects=Mani projekti ProjectsArea=Projektu sadaļa NewProject=Jauns projekts AddProject=Izveidot projektu @@ -103,6 +103,7 @@ CloneContacts=Klonēt kontaktus CloneNotes=Klonēt piezīmes CloneProjectFiles=Klons projekts pievienojās failus CloneTaskFiles=Klons uzdevums (-i) pievienotie failus (ja uzdevums (-i) klonēt) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Vai esat pārliecināts, ka vēlaties klonēt šo projektu? ProjectReportDate=Mainīt uzdevumu datums atbilstoši projekta sākuma datumu ErrorShiftTaskDate=Nav iespējams novirzīt uzdevumu datumu saskaņā ar jaunu projektu uzsākšanas datuma diff --git a/htdocs/langs/lv_LV/sendings.lang b/htdocs/langs/lv_LV/sendings.lang index 7eed9a6f743..c2533cccfc9 100644 --- a/htdocs/langs/lv_LV/sendings.lang +++ b/htdocs/langs/lv_LV/sendings.lang @@ -4,7 +4,8 @@ Sending=Sūtījums Sendings=Sūtījumi Shipment=Sūtījums Shipments=Sūtījumi -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Sūtījumu sadaļa ListOfSendings=Sūtījumu saraksts SendingMethod=Sūtīšanas metode @@ -14,7 +15,7 @@ SearchASending=Meklēt sūtījumu StatisticsOfSendings=Sūtījumu statistika NbOfSendings=Sūtījumu skaits NumberOfShipmentsByMonth=Sūtījumu skaits pa mēnešiem -SendingCard=Piegādes kartiņa +SendingCard=Shipment card NewSending=Jauns sūtījums CreateASending=Izveidot sūtījumu CreateSending=Izveidot sūtījumu @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Atcelts StatusSendingDraftShort=Melnraksts StatusSendingValidatedShort=Apstiprināts StatusSendingProcessedShort=Apstrādāti -SendingSheet=Nosūtot lapu +SendingSheet=Shipment sheet Carriers=Pārvadātāji Carrier=Pārvadātājs CarriersArea=Pārvadātāju sadaļa @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Notikumi sūtījumu LinkToTrackYourPackage=Saite uz izsekot savu paketi ShipmentCreationIsDoneFromOrder=Izveidot jaunu sūtījumu var no pasūtījuma kartiņas. -RelatedShippings=Saistītie sūtījumi +RelatedShippings=Related shipments ShipmentLine=Sūtījumu līnija CarrierList=Saraksts pārvadātājiem -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Nozvejas klienta diff --git a/htdocs/langs/lv_LV/stocks.lang b/htdocs/langs/lv_LV/stocks.lang index c09b15bc582..739152d7728 100644 --- a/htdocs/langs/lv_LV/stocks.lang +++ b/htdocs/langs/lv_LV/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=VSC EnhancedValueOfWarehouses=Noliktavas vērtība UserWarehouseAutoCreate=Izveidot noliktavu automātiski, veidojot lietotāju QtyDispatched=Nosūtītais daudzums +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Krājumu nosūtīšana RuleForStockManagementDecrease=Noteikums krājumu pārvaldības samazināšanos RuleForStockManagementIncrease=Noteikums krājumu pārvaldības palielināšanu @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Palielināt nekustamā krājumi piegādātājiem pasūtī ReStockOnDispatchOrder=Palielināt reālās par rokasgrāmatas krājumus dispečervadības uz noliktavās, pēc tam, kad piegādātājs, lai saņemšanas ReStockOnDeleteInvoice=Palielināt nekustamā krājumus rēķina dzēšanu OrderStatusNotReadyToDispatch=Lai vēl nav vai vairs statusu, kas ļauj sūtījumiem produktu krājumu noliktavās. -StockDiffPhysicTeoric=Iemesls atšķirība krājumu fiziskās un teorētiskās +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Nav iepriekš produktu šo objektu. Līdz ar to nav nosūtot noliktavā ir nepieciešama. DispatchVerb=Nosūtīšana StockLimitShort=Brīdinājuma limits @@ -116,10 +118,15 @@ MassMovement=Masveida pārvietošana MassStockMovement=Masveida krājumu pārvietošana SelectProductInAndOutWareHouse=Izvēlieties produktu, daudzumu, avota noliktavu un mērķa noliktavu, tad noklikšķiniet uz "%s". Kad tas ir izdarīts visām nepieciešamajām kustībām, noklikšķiniet uz "%s". RecordMovement=Ierakstīt transfert -ReceivingForSameOrder=Šī pasūtījuma ienākumi +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Krājumu pārvietošana saglabāta RuleForStockAvailability=Noteikumi krājumu nepieciešamībai StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Krājumiem jābūt pietiekošiem, lai preci/pakalpojum varētu pievienot pasūtījumam StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/lv_LV/suppliers.lang b/htdocs/langs/lv_LV/suppliers.lang index 7434400985b..2e943b50b46 100644 --- a/htdocs/langs/lv_LV/suppliers.lang +++ b/htdocs/langs/lv_LV/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Piegādātāji Supplier=Piegādātājs -AddSupplier=Pievienot piegādātāju +AddSupplier=Izveidot piegādātāju SupplierRemoved=Piegādātājs izņem SuppliersInvoice=Piegādātāji rēķins NewSupplier=Jauns piegādātājs @@ -11,7 +11,7 @@ ShowSupplier=Rādīt piegādātāju OrderDate=Pasūtīt datumu BuyingPrice=Pirkšanas cena BuyingPriceMin=Minimālā iepirkuma cena -BuyingPriceMinShort=Min pirkuma cena +BuyingPriceMinShort=Minimālā iepirkuma cena TotalBuyingPriceMin=Total of subproducts buying prices SomeSubProductHaveNoPrices=Dažiem apakšproduktiem nav norādītas cenas AddSupplierPrice=Pievienot piegādātāju cenu @@ -40,5 +40,7 @@ AddSupplierInvoice=Izveidot piegādātāju rēķinu ListOfSupplierProductForSupplier=Produktu saraksts un piegādātāju cenas %s NoneOrBatchFileNeverRan=Neviens vai partijas %s ne skrēja nesen SentToSuppliers=Nosūtīti uz piegādātājiem -ListOfSupplierOrders=List of supplier orders +ListOfSupplierOrders=Saraksts ar piegādātāju pasūtījumiem MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/lv_LV/withdrawals.lang b/htdocs/langs/lv_LV/withdrawals.lang index 5341718719f..a665f6ec085 100644 --- a/htdocs/langs/lv_LV/withdrawals.lang +++ b/htdocs/langs/lv_LV/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Kredīts WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Rādīt izņemšana IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Tomēr, ja rēķins satur vismaz vienu maksājums, kas nav apstrādāts, to nevar noteikt kā apmaksātu. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Izstāšanās fails SetToStatusSent=Nomainīt uz statusu "Fails nosūtīts" ThisWillAlsoAddPaymentOnInvoice=This tab allows you to request a standing order. Once it is complete, you can type the payment to close the invoice. diff --git a/htdocs/langs/lv_LV/workflow.lang b/htdocs/langs/lv_LV/workflow.lang index 72bc6139c72..1515d6d972e 100644 --- a/htdocs/langs/lv_LV/workflow.lang +++ b/htdocs/langs/lv_LV/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Darbplūsmu moduļa iestatīšana -WorkflowDesc=Šis modulis ir paredzēts, lai mainītu uzvedību automātisko darbību stāšanās spēkā. Pēc noklusējuma, darbplūsma ir atvērta (Jūs varat veikt visu ko vēlaties). Jūs varat automatizēt darbības, kuras Jums ir nepieciešamas +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Nav darbplūsma kuru Jūs varat mainīt sim modulim. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Izveidot klienta pasūtījumu automātiski pēc komerciālā priekšlikuma parakstīšanas descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Izveidot klienta rēķinu automātiski pēc komerciāla priekšlikuma parakstīšanas diff --git a/htdocs/langs/mk_MK/accountancy.lang b/htdocs/langs/mk_MK/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/mk_MK/accountancy.lang +++ b/htdocs/langs/mk_MK/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/mk_MK/admin.lang b/htdocs/langs/mk_MK/admin.lang index f12efa61626..38634cbd497 100644 --- a/htdocs/langs/mk_MK/admin.lang +++ b/htdocs/langs/mk_MK/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=This is setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr's root directory %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Select module: CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version +UpdateServerOffline=Update server offline GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Export interventions Permission71=Read members Permission72=Create/modify members Permission74=Delete members -Permission75=Setup types and attributes for members +Permission75=Setup types of membership Permission76=Export datas Permission78=Read subscriptions Permission79=Create/modify subscriptions @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Delete sendings Permission111=Read financial accounts Permission112=Create/modify/delete and compare transactions -Permission113=Setup financiel accounts (create, manage categories) -Permission114=Consolidate transactions +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Export transactions and account statements Permission116=Transfers between accounts Permission117=Manage cheques dispatching @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Setup of sendings by email SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). PathToDocuments=Path to documents PathDirectory=Directory -SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by thoose bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommanded) is to use the method "SMTP socket library" that has no disadvantages. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes i FreeLegalTextOnOrders=Free text on orders WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with your clicktodial login (defined on your user card)
__PASS__ that will be replaced with your clicktodial password (defined on your user card). @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=EMailing module setup MailingEMailFrom=Sender EMail (From) for emails sent by emailing module MailingEMailError=Return EMail (Errors-to) for emails with errors +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Sender EMail (From) for emails sent for notifications @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Sending module setup SendingsReceiptModel=Sending receipt model SendingsNumberingModules=Sendings numbering modules -SendingsAbility=Support sendings sheets for customer deliveries +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. -FreeLegalTextOnShippings=Free text on shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Products deliveries receipt numbering module DeliveryOrderModel=Products deliveries receipt model @@ -1414,7 +1420,7 @@ AdvancedEditor=Advanced editor ActivateFCKeditor=Activate advanced editor for: FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note -FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommanded as it can create problems with special characters and page formating when building PDF files. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/mk_MK/agenda.lang b/htdocs/langs/mk_MK/agenda.lang index a24c678a2e5..04e2ae30de8 100644 --- a/htdocs/langs/mk_MK/agenda.lang +++ b/htdocs/langs/mk_MK/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Customer order %s sent by EMail InvoiceSentByEMail=Customer invoice %s sent by EMail SupplierOrderSentByEMail=Supplier order %s sent by EMail SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail -ShippingSentByEMail=Shipping %s sent by EMail -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Third party created DateActionPlannedStart= Planned start date DateActionPlannedEnd= Planned end date @@ -68,7 +69,7 @@ DateActionDoneEnd= Real end date DateActionStart= Start date DateActionEnd= End date AgendaUrlOptions1=You can also add following parameters to filter output: -AgendaUrlOptions2=login=%s to restrict output to actions created by, assigned to or done by user %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=%s to restrict output to actions assigned to user %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/mk_MK/banks.lang b/htdocs/langs/mk_MK/banks.lang index 05156a723ad..10a5f5b3c14 100644 --- a/htdocs/langs/mk_MK/banks.lang +++ b/htdocs/langs/mk_MK/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Account FinancialAccounts=Accounts BankAccount=Bank account BankAccounts=Bank accounts +ShowAccount=Show Account AccountRef=Financial account ref AccountLabel=Financial account label CashAccount=Cash account diff --git a/htdocs/langs/mk_MK/bills.lang b/htdocs/langs/mk_MK/bills.lang index 81b7515a8b8..7232f00e91c 100644 --- a/htdocs/langs/mk_MK/bills.lang +++ b/htdocs/langs/mk_MK/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Invoice Bills=Invoices -BillsCustomers=Customer's invoices -BillsCustomer=Customer's invoice -BillsSuppliers=Supplier's invoices -BillsCustomersUnpaid=Unpaid customer's invoices +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Unpaid customer's invoices for %s BillsSuppliersUnpaid=Unpaid supplier's invoices BillsSuppliersUnpaidForCompany=Unpaid supplier's invoices for %s BillsLate=Late payments -BillsStatistics=Customer's invoices statistics -BillsStatisticsSuppliers=Supplier's invoices statistics +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Disabled because can not be erased InvoiceStandard=Standard invoice InvoiceStandardAsk=Standard invoice @@ -348,6 +348,7 @@ ChequeNumber=Check N° ChequeOrTransferNumber=Check/Transfer N° ChequeMaker=Check transmitter ChequeBank=Bank of Check +CheckBank=Check NetToBePaid=Net to be paid PhoneNumber=Tel FullPhoneNumber=Telephone @@ -388,7 +389,7 @@ DisabledBecausePayments=Not possible since there are some payments CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified paid ExpectedToPay=Expected payment PayedByThisPayment=Paid by this payment -ClosePaidInvoicesAutomatically=Classify "Paid" all standard or replacement invoices entirely paid. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=All invoice with no remain to pay will be automatically closed to status "Paid". ToMakePayment=Pay @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up s TypeContact_invoice_supplier_external_BILLING=Supplier invoice contact TypeContact_invoice_supplier_external_SHIPPING=Supplier shipping contact TypeContact_invoice_supplier_external_SERVICE=Supplier service contact +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/mk_MK/compta.lang b/htdocs/langs/mk_MK/compta.lang index 878eb49b3c9..0d579a06ff1 100644 --- a/htdocs/langs/mk_MK/compta.lang +++ b/htdocs/langs/mk_MK/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Turnover PaymentsNotLinkedToInvoice=Payments not linked to any invoice, so not linked to any third party PaymentsNotLinkedToUser=Payments not linked to any user Profit=Profit +AccountingResult=Accounting result Balance=Balance Debit=Debit Credit=Credit diff --git a/htdocs/langs/mk_MK/cron.lang b/htdocs/langs/mk_MK/cron.lang index 195ad43c87c..82f4574b223 100644 --- a/htdocs/langs/mk_MK/cron.lang +++ b/htdocs/langs/mk_MK/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/mk_MK/ecm.lang b/htdocs/langs/mk_MK/ecm.lang index 47c6a4ccd6e..4a1931a3217 100644 --- a/htdocs/langs/mk_MK/ecm.lang +++ b/htdocs/langs/mk_MK/ecm.lang @@ -1,55 +1,57 @@ # Dolibarr language file - Source file is en_US - ecm -# MenuECM=Documents -# DocsMine=My documents -# DocsGenerated=Generated documents -# DocsElements=Elements documents -# DocsThirdParties=Documents third parties -# DocsContracts=Documents contracts -# DocsProposals=Documents proposals -# DocsOrders=Documents orders -# DocsInvoices=Documents invoices -# ECMNbOfDocs=Nb of documents in directory -# ECMNbOfDocsSmall=Nb of doc. -# ECMSection=Directory -# ECMSectionManual=Manual directory -# ECMSectionAuto=Automatic directory -# ECMSectionsManual=Manual tree -# ECMSectionsAuto=Automatic tree -# ECMSections=Directories -# ECMRoot=Root -# ECMNewSection=New directory -# ECMAddSection=Add directory -# ECMNewDocument=New document -# ECMCreationDate=Creation date -# ECMNbOfFilesInDir=Number of files in directory -# ECMNbOfSubDir=Number of sub-directories -# ECMNbOfFilesInSubDir=Number of files in sub-directories -# ECMCreationUser=Creator -# ECMArea=EDM area -# ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. -# ECMAreaDesc2=* Automatic directories are filled automatically when adding documents from card of an element.
* Manual directories can be used to save documents not linked to a particular element. -# ECMSectionWasRemoved=Directory %s has been deleted. -# ECMDocumentsSection=Document of directory -# ECMSearchByKeywords=Search by keywords -# ECMSearchByEntity=Search by object -# ECMSectionOfDocuments=Directories of documents -# ECMTypeManual=Manual -# ECMTypeAuto=Automatic -# ECMDocsBySocialContributions=Documents linked to social contributions -# ECMDocsByThirdParties=Documents linked to third parties -# ECMDocsByProposals=Documents linked to proposals -# ECMDocsByOrders=Documents linked to customers orders -# ECMDocsByContracts=Documents linked to contracts -# ECMDocsByInvoices=Documents linked to customers invoices -# ECMDocsByProducts=Documents linked to products -# ECMDocsByProjects=Documents linked to projects -# ECMNoDirectoryYet=No directory created -# ShowECMSection=Show directory -# DeleteSection=Remove directory -# ConfirmDeleteSection=Can you confirm you want to delete the directory %s ? -# ECMDirectoryForFiles=Relative directory for files -# CannotRemoveDirectoryContainsFiles=Removed not possible because it contains some files -# ECMFileManager=File manager -# ECMSelectASection=Select a directory on left tree... -# DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. +MenuECM=Documents +DocsMine=My documents +DocsGenerated=Generated documents +DocsElements=Elements documents +DocsThirdParties=Documents third parties +DocsContracts=Documents contracts +DocsProposals=Documents proposals +DocsOrders=Documents orders +DocsInvoices=Documents invoices +ECMNbOfDocs=Nb of documents in directory +ECMNbOfDocsSmall=Nb of doc. +ECMSection=Directory +ECMSectionManual=Manual directory +ECMSectionAuto=Automatic directory +ECMSectionsManual=Manual tree +ECMSectionsAuto=Automatic tree +ECMSections=Directories +ECMRoot=Root +ECMNewSection=New directory +ECMAddSection=Add directory +ECMNewDocument=New document +ECMCreationDate=Creation date +ECMNbOfFilesInDir=Number of files in directory +ECMNbOfSubDir=Number of sub-directories +ECMNbOfFilesInSubDir=Number of files in sub-directories +ECMCreationUser=Creator +ECMArea=EDM area +ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. +ECMAreaDesc2=* Automatic directories are filled automatically when adding documents from card of an element.
* Manual directories can be used to save documents not linked to a particular element. +ECMSectionWasRemoved=Directory %s has been deleted. +ECMDocumentsSection=Document of directory +ECMSearchByKeywords=Search by keywords +ECMSearchByEntity=Search by object +ECMSectionOfDocuments=Directories of documents +ECMTypeManual=Manual +ECMTypeAuto=Automatic +ECMDocsBySocialContributions=Documents linked to social contributions +ECMDocsByThirdParties=Documents linked to third parties +ECMDocsByProposals=Documents linked to proposals +ECMDocsByOrders=Documents linked to customers orders +ECMDocsByContracts=Documents linked to contracts +ECMDocsByInvoices=Documents linked to customers invoices +ECMDocsByProducts=Documents linked to products +ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions +ECMNoDirectoryYet=No directory created +ShowECMSection=Show directory +DeleteSection=Remove directory +ConfirmDeleteSection=Can you confirm you want to delete the directory %s ? +ECMDirectoryForFiles=Relative directory for files +CannotRemoveDirectoryContainsFiles=Removed not possible because it contains some files +ECMFileManager=File manager +ECMSelectASection=Select a directory on left tree... +DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. diff --git a/htdocs/langs/mk_MK/errors.lang b/htdocs/langs/mk_MK/errors.lang index 53f8d168a55..497ddd814e4 100644 --- a/htdocs/langs/mk_MK/errors.lang +++ b/htdocs/langs/mk_MK/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Setup of module looks to be uncomplete. Go on Setup ErrorBadMask=Error on mask ErrorBadMaskFailedToLocatePosOfSequence=Error, mask without sequence number ErrorBadMaskBadRazMonth=Error, bad reset value +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Error. Select at least one entry. ErrorProductWithRefNotExist=Product with reference '%s' don't exist ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transation that is conciliated @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/mk_MK/install.lang b/htdocs/langs/mk_MK/install.lang index 5d0c83e3173..5a494156672 100644 --- a/htdocs/langs/mk_MK/install.lang +++ b/htdocs/langs/mk_MK/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migration finished LastStepDesc=Last step: Define here login and password you plan to use to connect to software. Do not loose this as it is the account to administer all others. ActivateModule=Activate module %s ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Update time spent in seconds MigrationActioncommElement=Update data on actions MigrationPaymentMode=Data migration for payment mode MigrationCategorieAssociation=Migration of categories +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/mk_MK/languages.lang b/htdocs/langs/mk_MK/languages.lang index 337e1273cd0..8242615b359 100644 --- a/htdocs/langs/mk_MK/languages.lang +++ b/htdocs/langs/mk_MK/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Германски (Австрија) Language_de_CH=German (Switzerland) Language_el_GR=Грчкиот Language_en_AU=Англиски (Австралија) +Language_en_CA=English (Canada) Language_en_GB=Англиски (Велика Британија) Language_en_IN=Англиски (Индија) Language_en_NZ=Англиски (Нов Зеланд) diff --git a/htdocs/langs/mk_MK/main.lang b/htdocs/langs/mk_MK/main.lang index 0c3a3ca751c..62adb884547 100644 --- a/htdocs/langs/mk_MK/main.lang +++ b/htdocs/langs/mk_MK/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=MM/dd/yyyy FormatDateShortJavaInput=MM/dd/yyyy FormatDateShortJQuery=mm/dd/yy FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Error, failed to save file. SetDate=Set date SelectDate=Select a date SeeAlso=See also %s +SeeHere=See here BackgroundColorByDefault=Default background color FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=User Users=Users Group=Group Groups=Groups +NoUserGroupDefined=No user group defined Password=Password PasswordRetype=Retype your password NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. @@ -258,6 +261,7 @@ days=days Hours=Hours Minutes=Minutes Seconds=Seconds +Weeks=Weeks Today=Today Yesterday=Yesterday Tomorrow=Tomorrow @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/mk_MK/margins.lang b/htdocs/langs/mk_MK/margins.lang index 606d5e5053a..748b3c71f30 100644 --- a/htdocs/langs/mk_MK/margins.lang +++ b/htdocs/langs/mk_MK/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Product or Service AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/mk_MK/orders.lang b/htdocs/langs/mk_MK/orders.lang index 6ee9c19fa95..34792ae1eb2 100644 --- a/htdocs/langs/mk_MK/orders.lang +++ b/htdocs/langs/mk_MK/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customer's orders +CustomersOrders=Customers orders CustomersOrdersRunning=Current customer's orders CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customer's orders to validate -OrdersToBill=Customer's orders delivered -OrdersInProcess=Customer's orders in process -OrdersToProcess=Customer's orders to process +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Supplier's orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated StatusOrderSentShort=In process StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Reception +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Processed StatusOrderToBillShort=Delivered StatusOrderToBill2Short=To bill @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Everything received StatusOrderCanceled=Canceled StatusOrderDraft=Draft (needs to be validated) StatusOrderValidated=Validated -StatusOrderOnProcess=Waiting to receive +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Processed StatusOrderToBill=Delivered StatusOrderToBill2=To bill @@ -50,6 +50,8 @@ StatusOrderRefused=Refused StatusOrderReceivedPartially=Partially received StatusOrderReceivedAll=Everything received ShippingExist=A shipment exists +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Draft or approved not yet ordered DraftOrWaitingShipped=Draft or validated not yet shipped MenuOrdersToBill=Orders delivered diff --git a/htdocs/langs/mk_MK/productbatch.lang b/htdocs/langs/mk_MK/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/mk_MK/productbatch.lang +++ b/htdocs/langs/mk_MK/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/mk_MK/products.lang b/htdocs/langs/mk_MK/products.lang index 81d217ddb54..3a29639b12b 100644 --- a/htdocs/langs/mk_MK/products.lang +++ b/htdocs/langs/mk_MK/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Accountancy code (sell) ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services -ProductsAndServicesOnSell=Available Products and Services -ProductsAndServicesNotOnSell=Obsolete Products and Services +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Available products -ProductsNotOnSell=Obsolete products -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Available services -ServicesNotOnSell=Obsolete services -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded LastRecordedProductsAndServices=Last %s recorded products/services @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/mk_MK/projects.lang b/htdocs/langs/mk_MK/projects.lang index c48e27fd204..b3c150d1687 100644 --- a/htdocs/langs/mk_MK/projects.lang +++ b/htdocs/langs/mk_MK/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Project Projects=Projects +ProjectStatus=Project status SharedProject=Everybody PrivateProject=Contacts of project MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). @@ -11,7 +12,6 @@ ProjectsDesc=This view presents all projects (your user permissions grant you pe MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). TasksPublicDesc=This view presents all projects and tasks you are allowed to read. TasksDesc=This view presents all projects and tasks (your user permissions grant you permission to view everything). -Myprojects=My projects ProjectsArea=Projects area NewProject=New project AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/mk_MK/sendings.lang b/htdocs/langs/mk_MK/sendings.lang index f6111bac684..794c9019c86 100644 --- a/htdocs/langs/mk_MK/sendings.lang +++ b/htdocs/langs/mk_MK/sendings.lang @@ -4,7 +4,8 @@ Sending=Shipment Sendings=Shipments Shipment=Shipment Shipments=Shipments -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Shipments area ListOfSendings=List of shipments SendingMethod=Shipping method @@ -14,7 +15,7 @@ SearchASending=Search for shipment StatisticsOfSendings=Statistics for shipments NbOfSendings=Number of shipments NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Shipping card +SendingCard=Shipment card NewSending=New shipment CreateASending=Create a shipment CreateSending=Create shipment @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Canceled StatusSendingDraftShort=Draft StatusSendingValidatedShort=Validated StatusSendingProcessedShort=Processed -SendingSheet=Sending sheet +SendingSheet=Shipment sheet Carriers=Carriers Carrier=Carrier CarriersArea=Carriers area @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Events on shipment LinkToTrackYourPackage=Link to track your package ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is done from the order card. -RelatedShippings=Related shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Catch by customer diff --git a/htdocs/langs/mk_MK/stocks.lang b/htdocs/langs/mk_MK/stocks.lang index 06c502504e9..9de2e5a4dbe 100644 --- a/htdocs/langs/mk_MK/stocks.lang +++ b/htdocs/langs/mk_MK/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a warehouse automatically when creating a user QtyDispatched=Quantity dispatched +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Stock dispatching RuleForStockManagementDecrease=Rule for stock management decrease RuleForStockManagementIncrease=Rule for stock management increase @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. -StockDiffPhysicTeoric=Reason for difference stock physical and theoretical +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=No predefined products for this object. So no dispatching in stock is required. DispatchVerb=Dispatch StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/mk_MK/suppliers.lang b/htdocs/langs/mk_MK/suppliers.lang index b1545d6ca3c..7b4d4acb244 100644 --- a/htdocs/langs/mk_MK/suppliers.lang +++ b/htdocs/langs/mk_MK/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Suppliers Supplier=Supplier -AddSupplier=Add a supplier +AddSupplier=Create a supplier SupplierRemoved=Supplier removed SuppliersInvoice=Suppliers invoice NewSupplier=New supplier @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=None or batch %s not ran recently SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/mk_MK/withdrawals.lang b/htdocs/langs/mk_MK/withdrawals.lang index ea32511fefb..c36ffbf025a 100644 --- a/htdocs/langs/mk_MK/withdrawals.lang +++ b/htdocs/langs/mk_MK/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Credit on WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Show Withdraw IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one withdrawal payment not yet processed, it won't be set as paid to allow prior withdrawal management. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/mk_MK/workflow.lang b/htdocs/langs/mk_MK/workflow.lang index b7f4f77d9f4..17c8dd3aafa 100644 --- a/htdocs/langs/mk_MK/workflow.lang +++ b/htdocs/langs/mk_MK/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin -# WorkflowSetup=Workflow module setup -# WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can enabled automatic actions that you are interesting in. -# ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -# descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -# descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -# descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -# descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed -# descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +WorkflowSetup=Workflow module setup +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. +ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/nb_NO/accountancy.lang b/htdocs/langs/nb_NO/accountancy.lang index 8c7bb031ba0..0152bd1b728 100644 --- a/htdocs/langs/nb_NO/accountancy.lang +++ b/htdocs/langs/nb_NO/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -61,12 +63,12 @@ VentilationAuto=Automatic breakdown Processing=Processing EndProcessing=The end of processing AnyLineVentilate=Any lines to ventilate -SelectedLines=Selected lines +SelectedLines=Valgte linjer Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements @@ -92,10 +94,10 @@ ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Accounting account by default for the sold produ ACCOUNTING_SERVICE_BUY_ACCOUNT=Accounting account by default for the bought services (if not defined in the service sheet) ACCOUNTING_SERVICE_SOLD_ACCOUNT=Accounting account by default for the sold services (if not defined in the service sheet) -Doctype=Type of document -Docdate=Date -Docref=Reference -Numerocompte=Account +Doctype=Dokumenttype +Docdate=Dato +Docref=Referanse +Numerocompte=Konto Code_tiers=Tredjepart Labelcompte=Kontoetikett Debit=Debet @@ -110,22 +112,22 @@ SellsJournal=Salgsjournal PurchasesJournal=Innkjøpsjournal DescSellsJournal=Salgsjournal DescPurchasesJournal=Innkjøpsjournal -BankJournal=Bank journal +BankJournal=Bankjournal DescBankJournal=Bank journal including all the types of payments other than cash -CashJournal=Cash journal +CashJournal=Kontantjournal DescCashJournal=Cash journal including the type of payment cash -CashPayment=Cash Payment +CashPayment=Kontant Betaling SupplierInvoicePayment=Payment of invoice supplier CustomerInvoicePayment=Payment of invoice customer -ThirdPartyAccount=Thirdparty account +ThirdPartyAccount=Tredjepart konto -NewAccountingMvt=New movement +NewAccountingMvt=Ny bevegelse NumMvts=Number of movement ListeMvts=List of the movement -ErrorDebitCredit=Debit and Credit cannot have a value at the same time +ErrorDebitCredit=Debet og Kredit kan ikke ha en verdi samtidig ReportThirdParty=List thirdparty account DescThirdPartyReport=Consult here the list of the thirdparty customers and the suppliers and their accounting accounts diff --git a/htdocs/langs/nb_NO/admin.lang b/htdocs/langs/nb_NO/admin.lang index af6294c16fe..238fc3708dd 100644 --- a/htdocs/langs/nb_NO/admin.lang +++ b/htdocs/langs/nb_NO/admin.lang @@ -69,7 +69,7 @@ ShowPreview=Vis forhåndsvisning PreviewNotAvailable=Forhåndsvisning ikke tilgjengelig ThemeCurrentlyActive=Gjeldende tema CurrentTimeZone=Gjeldende tidssone -MySQLTimeZone=TimeZone MySql (database) +MySQLTimeZone=Tidssone MySql (database) TZHasNoEffect=Dates are stored and returned by database server as if they were kept as submited string. The timezone has effect only when using UNIX_TIMESTAMP function (that should not be used by Dolibarr, so database TZ should have no effect, even if changed after data was entered). Space=Mellomrom Table=Tabell @@ -108,9 +108,9 @@ OtherOptions=Andre innstillinger OtherSetup=Andre innstillinger CurrentValueSeparatorDecimal=Desimaltegn CurrentValueSeparatorThousand=Tusenskille -Destination=Destination -IdModule=Module ID -IdPermissions=Permissions ID +Destination=Mål +IdModule=Modul ID +IdPermissions=Rettigheter ID Modules=Moduler ModulesCommon=Vanligste moduler ModulesOther=Andre moduler @@ -242,8 +242,8 @@ OfficialWiki=Dolibarr Wiki OfficialDemo=Dolibarr online demonstrasjon OfficialMarketPlace=Offisiell markedsplass for eksterne moduler / addons OfficialWebHostingService=Referenced web hosting services (Cloud hosting) -ReferencedPreferredPartners=Preferred Partners -OtherResources=Autres ressources +ReferencedPreferredPartners=Foretrukne Partnere +OtherResources=Andre ressurser ForDocumentationSeeWiki=For brukeren eller utviklerens dokumentasjon (Doc, FAQs ...),
ta en titt på Dolibarr Wiki:
%s ForAnswersSeeForum=For andre spørsmål / hjelp, kan du bruke Dolibarr forumet:
%s HelpCenterDesc1=Dette området kan hjelpe deg å få en Help support tjeneste på Dolibarr. @@ -294,7 +294,7 @@ DoNotUseInProduction=Ikke bruk i produksjon ThisIsProcessToFollow=Dette er instillinger for: StepNb=Trinn %s FindPackageFromWebSite=Finn en pakke som inneholder funksjonen du vil bruke (for eksempel på nettsider %s). -DownloadPackageFromWebSite=Last ned pakken fra nettstedet %s. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Pakk ut filen i Dolibarrs rotmappe %s SetupIsReadyForUse=Installasjonen er ferdig og Dolibarr er klar til bruk med den nye modulen. NotExistsDirect=Alternativ rotkatalog er ikke definert.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Velg modul: CurrentVersion=Dolibarr gjeldende versjon CallUpdatePage=Gå til siden som oppdaterer databasestruktur og data %s. LastStableVersion=Siste stabile versjon +UpdateServerOffline=Update server offline GenericMaskCodes=Her kan du legge inn nummereringsmal. I malen kan du bruke følgende tagger:
{000000} tilsvarer et tall som økes ved hver %s. Angi så mange nuller som du ønsker at lengden på telleren skal være. Telleren vil ha ledende nuller i henhold til malens lengde.
{000000+000} samme som forrige, men med en forskyvning til høyre for + tegnet, starter fra første %s.
{000000@x} samme som forrige, men telleren starter fra null når måned x nås (x mellom 1 og 12). Hvis dette valget brukes og x er 2 eller mer kreves også sekvensen {yy}{mm} eller {yyyy}{mm} kreves også.
{dd} dag (01 til 31).
{mm} måned (01 til 12).
{yy}, {yyyy} eller {y} årstall over 2, 4 eller 1 siffer.
{cccc000} klientkoden på n tegn etterfulgt av en klientreferanse uten forskyvning og nullet med den globale telleren.

Alle andre tegn i malen vil forbli intakte.
Mellomrom er ikke tillatt.

Eksempel på den 99de %s av tredjeparten blir 31/01/2007:
ABC{yy}{mm}-{000000} vil gi ABC0701-000099
{0000+100}-ZZZ/{dd}/XXX vil gi 0199-ZZZ/31/XXX
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=Alle andre tegn i masken vil være intakt.
Mellomrom er ikke tillatt.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Velg fra tabell ExtrafieldSeparator=Separator ExtrafieldCheckBox=Avmerkingsboks ExtrafieldRadio=Radio-knapp +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Bibliotek som brukes til å bygge PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Eksporter intervensjoner Permission71=Vise medlemmer Permission72=Lage/endre medlemmer Permission74=Slette medlemmer -Permission75=Angi type og attributter for medlemmer +Permission75=Setup types of membership Permission76=Eksportere data Permission78=Vise abonnementer Permission79=Lage/endre abonnementer @@ -595,8 +598,8 @@ Permission106=Eksport forsendelser Permission109=Slette forsendelser Permission111=Vise kontoutdrag Permission112=Lage/endre/slette og sammenligne transaksjoner -Permission113=Sette opp kovedbokskonti (lage, behandler kategorier) -Permission114=Avstemme transaksjoner +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Eksportere transaksjoner og kontoutdrag Permission116=Overføringer mellom konti Permission117=Håndtere sjekkutsteding @@ -617,12 +620,12 @@ Permission161=Read contracts/subscriptions Permission162=Create/modify contracts/subscriptions Permission163=Activate a service/subscription of a contract Permission164=Disable a service/subscription of a contract -Permission165=Delete contracts/subscriptions +Permission165=Slett kontrakter/abonnementer Permission171=Read trips and expenses (own and his subordinates) -Permission172=Create/modify trips and expenses -Permission173=Delete trips and expenses +Permission172=Opprett/endre reiser og utgifter +Permission173=Slett reiser og utgifter Permission174=Read all trips and expenses -Permission178=Export trips and expenses +Permission178=Eksporter reiser og utgifter Permission180=Vise leverandører Permission181=Vise leverandøreorde Permission182=Lage/endre leverandørordre @@ -696,10 +699,10 @@ Permission401=Vise rabatter Permission402=Lage/endre rabatter Permission403=Godkjenne rabatter Permission404=Slette rabatter -Permission510=Read Salaries -Permission512=Create/modify salaries -Permission514=Delete salaries -Permission517=Export salaries +Permission510=Les Lønn +Permission512=Opprett/endre lønn +Permission514=Slett lønn +Permission517=Eksporter lønn Permission531=Les tjenester Permission532=Opprett / endre tjenester Permission534=Slett tjenester @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -822,7 +826,7 @@ LocalTax2IsUsedDescES= RE rate som standard når du oppretter utsikter, fakturae LocalTax2IsNotUsedDescES= Som standard den foreslåtte IRPF er 0. Slutt på regelen. LocalTax2IsUsedExampleES= I Spania, frilansere og selvstendige fagfolk som leverer tjenester og bedrifter som har valgt skattesystemet til moduler. LocalTax2IsNotUsedExampleES= I Spania er de bussines ikke skattepliktig system av moduler. -CalcLocaltax=Reports +CalcLocaltax=Rapporter CalcLocaltax1ES=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases CalcLocaltax2ES=Purchases @@ -1038,7 +1042,7 @@ SendingMailSetup=Oppsett av sendings e-post SendmailOptionNotComplete=Advarsel, på enkelte Linux-systemer, for å sende e-post fra e-posten din, sendmail henrettelsen oppsett må conatins alternativ-BA (parameter mail.force_extra_parameters inn din php.ini fil). Hvis noen mottakere aldri motta e-post, kan du prøve å redigere denne PHP parameteren med mail.force_extra_parameters =-BA). PathToDocuments=Sti til dokumenter PathDirectory=Mappe -SendmailOptionMayHurtBuggedMTA=Funksjon for å sende post ved hjelp av metoden "PHP mail direkte" vil generere en melding som kanskje ikke riktig analyseres av noen som fikk postservere. Resultatet er at enkelte poster ikke kan leses av folk vert thoose avlyttet plattformer. Det er tilfelle for enkelte Internett-leverandører (Ex: Orange i Frankrike). Dette er ikke et problem i Dolibarr heller inn PHP, men på motta e-post server. Du kan imidlertid legge til alternativ MAIN_FIX_FOR_BUGGED_MTA til 1 i oppsettet - andre til å endre Dolibarr å unngå dette. Imidlertid kan du oppleve problemer med andre servere som respekt strengt SMTP standard. Den andre løsningen (Anbefalte) er å bruke metoden "SMTP socket bibliotek" som ikke har noen ulemper. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Konfigurasjon de la traduction TranslationDesc=Valg av språk som er synlig på skjermen kan endres:
* Globalt fra menyen Hjem - Setup - Display
* For brukeren bare fra kategorien Bruker visning av brukerkort (klikk på innlogging på toppen av skjermen). TotalNumberOfActivatedModules=Totalt antall aktiverte funksjoner moduler:%s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Ordre krever godkjenning etter at tilbudet er lukket FreeLegalTextOnOrders=Fritekst på ordre WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup='Click To Dial' modul ClickToDialUrlDesc=Url som hentes når brukeren trykker på telefonikonet.
Full url vil være: URL?login=...&password=...&caller=...&called=phonecalled @@ -1343,7 +1348,7 @@ ConfirmDeleteProductLineAbility=Bekreftelse kreves for fjerning av en produktlin ModifyProductDescAbility=Personalization of descriptions produced in the forms ViewProductDescInFormAbility=Visualization of product descriptions in the forms (otherwise as popup tooltip) ViewProductDescInThirdpartyLanguageAbility=Visualisering av produkter beskrivelser i thirdparty språk -UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectProductTooltip=Hvis du har mange produkter (>100 000), kan du øke hastigeten ved å sette konstanten PRODUCT_DONOTSEARCH_ANYWHERE til 1 i Oppsett->Annet. Søket vil da begrenses til starten av søkestrengen UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Support Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Default barcode type to use for products @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=EMailing module setup MailingEMailFrom=Sender EMail (From) for emails sent by emailing module MailingEMailError=Tilbake e-post (Feil-til) for e-post med feil +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Sender EMail (From) for emails sent for notifications @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Sending module setup SendingsReceiptModel=Sending receipt model SendingsNumberingModules=Sendings nummerering moduler -SendingsAbility=Support sendings sheets for customer deliveries +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. -FreeLegalTextOnShippings=Gratis tekst på shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Products deliveries receipt numbering module DeliveryOrderModel=Products deliveries receipt model @@ -1414,7 +1420,7 @@ AdvancedEditor=Avansert redaktør ActivateFCKeditor=Activate FCKeditor for: FCKeditorForCompany=WYSIWIG creation/edition of companies' description and note FCKeditorForProduct=WYSIWIG creation/edition of products/services' description and note -FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...)
Warning: Using this option is seriously not recommanded as it can create problems with special characters and page formating when building PDF files. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG creation/edition of mailings FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/nb_NO/agenda.lang b/htdocs/langs/nb_NO/agenda.lang index b277a015704..33d73a70db1 100644 --- a/htdocs/langs/nb_NO/agenda.lang +++ b/htdocs/langs/nb_NO/agenda.lang @@ -5,7 +5,7 @@ ActionsArea=Handlingsområde (Hendelser og oppgaver) Agenda=Agenda Agendas=Agendaer Calendar=Kalender -Calendars=Kalendrer +Calendars=Kalendre LocalAgenda=Intern kalender ActionsOwnedBy=Hendelse tilhører AffectedTo=Relatert til @@ -14,10 +14,10 @@ Event=Hendelse Events=Hendelser EventsNb=Antall hendelser MyEvents=Mine hendelser -OtherEvents=Andre arrangementer +OtherEvents=Andre hendelser ListOfActions=Oversikt over hendelser Location=Lokasjon -EventOnFullDay=Event på full dag +EventOnFullDay=Hendelse på full dag SearchAnAction= Finn handling/oppgave MenuToDoActions=Alle åpne handlinger MenuDoneActions=Alle avsluttede handlinger @@ -29,7 +29,7 @@ ActionsToDoBy=Handlinger relatert til ActionsDoneBy=Handlinger utført av ActionsForUser=Hendelser for brukere ActionsForUsersGroup=Hendelser for alle brukerene i gruppen -ActionAssignedTo=Event assigned to +ActionAssignedTo=Hendelse tilordnet AllMyActions= Alle mine handlinger/oppgaver AllActions= Alle handlinger/oppgaver ViewList=Vis liste @@ -45,7 +45,7 @@ AgendaExtSitesDesc=Denne siden lar deg erklære eksterne kilder til kalendere fo ActionsEvents=Handlinger som Dolibarr automatisk registrerer i agendaen PropalValidatedInDolibarr=Tilbud godkjent InvoiceValidatedInDolibarr=Faktura godkjent -InvoiceValidatedInDolibarrFromPos=Invoice %s validated from POS +InvoiceValidatedInDolibarrFromPos=Faktura %s godkjent fra POS InvoiceBackToDraftInDolibarr=Faktura %s gå tilbake til utkast status InvoiceDeleteDolibarr=Faktura %s slettet OrderValidatedInDolibarr= Ordre godkjent @@ -58,8 +58,9 @@ OrderSentByEMail=Kundeordrer %s på e-post InvoiceSentByEMail=Faktura %s på e-post SupplierOrderSentByEMail=Leverandør bestill %s på e-post SupplierInvoiceSentByEMail=Leverandørfaktura %s på e-post -ShippingSentByEMail=Frakt %s på e-post -ShippingValidated= Shipping %s validert +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Tredjepart opprettet DateActionPlannedStart= Planlagt startdato DateActionPlannedEnd= Planlagt sluttdato @@ -68,10 +69,10 @@ DateActionDoneEnd= Virkelig sluttdato DateActionStart= Startdato DateActionEnd= Sluttdato AgendaUrlOptions1=Du kan også bruke følgende parametere til å filtrere listen: -AgendaUrlOptions2=login=%s for å begrense utvalg til handlinger registrert av, relatert til eller utført av bruker %s. -AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. +AgendaUrlOptions3=logina=%s for å begrense data til hendelser eiet av en bruker %s. AgendaUrlOptions4=logint=%s for å begrense utvalg til handlinger relatert til bruker %s. -AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. +AgendaUrlOptionsProject=project=PROJECT_ID for å begrense data til handlinger som er knyttet til prosjektet PROJECT_ID. AgendaShowBirthdayEvents=Vis fødselsdager AgendaHideBirthdayEvents=Skjul fødselsdager Busy=Opptatt @@ -88,5 +89,5 @@ ExtSiteUrlAgenda=URL tilgang til. ICal-fil ExtSiteNoLabel=Ingen beskrivelse WorkingTimeRange=Arbeidstid WorkingDaysRange=Arbeidsuke -AddEvent=Create event +AddEvent=Opprett hendelse MyAvailability=Min tilgjengelighet diff --git a/htdocs/langs/nb_NO/banks.lang b/htdocs/langs/nb_NO/banks.lang index 8a3985b9599..6c09ee45ac6 100644 --- a/htdocs/langs/nb_NO/banks.lang +++ b/htdocs/langs/nb_NO/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Hovedbokskonto FinancialAccounts=Hovebokskonti BankAccount=Bankkonto BankAccounts=Bankkonti +ShowAccount=Show Account AccountRef=Kontonummer hovedbokskonto AccountLabel=Kontonavn hovedbokskonto CashAccount=Kassekonto @@ -19,8 +20,8 @@ SavingAccount=Kapitalkonto SavingAccounts=Kapitalkonti ErrorBankLabelAlreadyExists=Hovedbokskonto med samme navn eksisterer fra før BankBalance=Saldo -BankBalanceBefore=Balance before -BankBalanceAfter=Balance after +BankBalanceBefore=Balanse før +BankBalanceAfter=Balance etter BalanceMinimalAllowed=Minste saldogrense BalanceMinimalDesired=Minste ønskede saldogrense InitialBankBalance=Inngående balanse @@ -28,7 +29,7 @@ EndBankBalance=Utgående balanse CurrentBalance=Gjeldende balanse FutureBalance=Framtidig balanse ShowAllTimeBalance=Vis balanse fra oppstart -AllTime=From start +AllTime=Fra start Reconciliation=Bankavstemming RIB=Bankkontonummer IBAN=IBAN-nummer @@ -140,7 +141,7 @@ PaymentNumberUpdateSucceeded=Betalingsnummer er oppdatert PaymentNumberUpdateFailed=Klarte ikke å oppdatere betalingsnummer PaymentDateUpdateSucceeded=Betalingsdato oppdatert PaymentDateUpdateFailed=Klarte ikke å oppdatere betalingsdatoen -Transactions=Transactions +Transactions=Transaksjoner BankTransactionLine=Bankoverføring AllAccounts=Alle bank / cash kontoer BackToAccount=Tilbake til kontoen @@ -151,10 +152,10 @@ InputReceiptNumber=Choose the bank statement related with the conciliation. Use EventualyAddCategory=Eventually, specify a category in which to classify the records ToConciliate=To conciliate? ThenCheckLinesAndConciliate=Then, check the lines present in the bank statement and click -BankDashboard=Bank accounts summary -DefaultRIB=Default BAN -AllRIB=All BAN -LabelRIB=BAN Label -NoBANRecord=No BAN record -DeleteARib=Delete BAN record -ConfirmDeleteRib=Are you sure you want to delete this BAN record ? +BankDashboard=Bankkonti sammendrag +DefaultRIB=Standard BAN +AllRIB=Alle BAN +LabelRIB=BAN Etikett +NoBANRecord=Ingen BAN kort +DeleteARib=BAN-kort slettet +ConfirmDeleteRib=Er du sikker på at du vil slette dette BAN-kortet? diff --git a/htdocs/langs/nb_NO/bills.lang b/htdocs/langs/nb_NO/bills.lang index aa07946a216..69715443816 100644 --- a/htdocs/langs/nb_NO/bills.lang +++ b/htdocs/langs/nb_NO/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Faktura Bills=Fakturaer -BillsCustomers=Kundefakturaer -BillsCustomer=Kundens faktura -BillsSuppliers=Leverandørfakturaer -BillsCustomersUnpaid=Ubetalte kundefakturaer +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Ubetalte kundefakturaer for %s BillsSuppliersUnpaid=Ubetalte leverandørfakturaer BillsSuppliersUnpaidForCompany=Ubetalt leverandørens fakturaer for %s BillsLate=Sene betalinger -BillsStatistics=Kundens fakturastatistikk -BillsStatisticsSuppliers=Leverandørens fakturastatistikk +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Deaktivert fordi kan ikke slettes InvoiceStandard=Standardfaktura InvoiceStandardAsk=Standardfaktura @@ -348,6 +348,7 @@ ChequeNumber=Sjekk nummer ChequeOrTransferNumber=Sjekk/overføringsnummer ChequeMaker=Sjekkutsteder ChequeBank=Sjekkutsteders bank +CheckBank=Check NetToBePaid=Netto til betaling PhoneNumber=Tlf FullPhoneNumber=Telefon @@ -388,7 +389,7 @@ DisabledBecausePayments=Ikke mulig siden det er noen betalinger CantRemovePaymentWithOneInvoicePaid=Kan ikke fjerne betalingen siden det er i alle fall på faktura klassifisert utbetales ExpectedToPay=Forventet utbetaling PayedByThisPayment=Betales av denne betalingen -ClosePaidInvoicesAutomatically=Klassifisere "betalt" alle standard eller utskifting fakturaer entirely utbetales. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=Alle faktura uten gjenstår å betale vil bli automatisk stengt for status "betales". ToMakePayment=Betal @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Representant oppfølging leve TypeContact_invoice_supplier_external_BILLING=Leverandørfaktura kontakt TypeContact_invoice_supplier_external_SHIPPING=Leverandør shipping kontakt TypeContact_invoice_supplier_external_SERVICE=Leverandør service kontakt +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/nb_NO/bookmarks.lang b/htdocs/langs/nb_NO/bookmarks.lang index 467ef15b508..8bbc966801f 100644 --- a/htdocs/langs/nb_NO/bookmarks.lang +++ b/htdocs/langs/nb_NO/bookmarks.lang @@ -10,7 +10,7 @@ BookmarkTargetNewWindowShort=Nytt vindu BookmarkTargetReplaceWindowShort=Gjeldende vindu BookmarkTitle=Bokmerketittel UrlOrLink=URL -BehaviourOnClick=URL åpner på følgende måte +BehaviourOnClick=Oppførsel når en URL blir klikket på CreateBookmark=Opprett bokmerke SetHereATitleForLink=Angi tittel for bokmerket UseAnExternalHttpLinkOrRelativeDolibarrLink=Bruk en ekstern http URL eller en relativ Dolibarr URL diff --git a/htdocs/langs/nb_NO/categories.lang b/htdocs/langs/nb_NO/categories.lang index 8c593d439f0..2458dff2fb9 100644 --- a/htdocs/langs/nb_NO/categories.lang +++ b/htdocs/langs/nb_NO/categories.lang @@ -109,4 +109,4 @@ CategoriesSetup=Kategori-oppsett CategorieRecursiv=Link med overordnet kategori automatisk CategorieRecursivHelp=Hvis aktivert, vil produktet også knyttes til overordnet kategori når du legger inn en underkategori AddProductServiceIntoCategory=Legg til følgende produkt/tjeneste -ShowCategory=Show category +ShowCategory=Vis kategori diff --git a/htdocs/langs/nb_NO/companies.lang b/htdocs/langs/nb_NO/companies.lang index 81f355a8e62..02ad3315d63 100644 --- a/htdocs/langs/nb_NO/companies.lang +++ b/htdocs/langs/nb_NO/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=Absolutte rabatter er tilgjengelig DiscountNone=Ingen Supplier=Leverandør CompanyList=Firmaoversikt -AddContact=Legg til kontaktperson -AddContactAddress=Legg til kontakt / adresse +AddContact=Opprett kontakt +AddContactAddress=Opprett kontakt/adresse EditContact=Endre kontakt / adresse EditContactAddress=Endre kontakt / adresse Contact=Kontaktperson @@ -268,8 +268,8 @@ ContactsAddresses=Kontakter / Adresser NoContactDefinedForThirdParty=Ingen kontakt definert for denne tredjepart NoContactDefined=Denne tredjeparten har ingen kontaktpersoner registrert DefaultContact=Gjeldende kontakt -AddCompany=Legg til firma -AddThirdParty=Legg til tredjepart +AddCompany=Opprett firma +AddThirdParty=Opprett tredjepart DeleteACompany=Slett et firma PersonalInformations=Personlig informasjon AccountancyCode=Regnskapskode @@ -379,8 +379,8 @@ DeliveryAddressLabel=Leveringsadresse etikett DeleteDeliveryAddress=Slett en leveringsadresse ConfirmDeleteDeliveryAddress=Er du sikker på at du vil slette denne leveringsadressen? NewDeliveryAddress=Ny leveringsadresse -AddDeliveryAddress=Legg til adresse -AddAddress=Legg til adresse +AddDeliveryAddress=Opprett adresse +AddAddress=Opprett adresse NoOtherDeliveryAddress=Ingen alternativ leveringsadresse lagt inn SupplierCategory=Leverandør kategori JuridicalStatus200=Uavhengig @@ -397,18 +397,18 @@ YouMustCreateContactFirst=Du må opprette e-postmeldinger kontakter for tredjepa ListSuppliersShort=Liste over leverandører ListProspectsShort=Liste av prospekter ListCustomersShort=Liste over kunder -ThirdPartiesArea=Third parties and contact area +ThirdPartiesArea=Tredjepart og kontaktområde LastModifiedThirdParties=Siste %s endret tredjeparter UniqueThirdParties=Totalt unike tredjeparter InActivity=Åpent ActivityCeased=Stengt ActivityStateFilter=Aktivitet status -ProductsIntoElements=List of products into %s +ProductsIntoElements=Produktliste i %s CurrentOutstandingBill=Gjeldende utestående regning OutstandingBill=Max. utestående beløp OutstandingBillReached=Nådd maks. for utestående regning MonkeyNumRefModelDesc=Tilbake numero med format %syymm-nnnn for kunden koden og %syymm-nnnn for leverandør koden der åå er året, er mm måned og nnnn er en sekvens uten pause og ingen retur til 0. LeopardNumRefModelDesc=Kunde / leverandør-koden er gratis. Denne koden kan endres når som helst. ManagingDirectors=(E) navn (CEO, direktør, president ...) -SearchThirdparty=Search thirdparty -SearchContact=Search contact +SearchThirdparty=Søk etter tredjepart +SearchContact=Søk etter kontakt diff --git a/htdocs/langs/nb_NO/compta.lang b/htdocs/langs/nb_NO/compta.lang index a2c7df48a4d..e93afb8364d 100644 --- a/htdocs/langs/nb_NO/compta.lang +++ b/htdocs/langs/nb_NO/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Omsetning PaymentsNotLinkedToInvoice=Betalinger ikke knyttet til noen faktura, så ikke knyttet til noen tredje part PaymentsNotLinkedToUser=Betalinger ikke knyttet til noen bruker Profit=Profit +AccountingResult=Accounting result Balance=Balanse Debit=Debet Credit=Kreditt diff --git a/htdocs/langs/nb_NO/cron.lang b/htdocs/langs/nb_NO/cron.lang index 2fd21d9c44b..933ec2647b4 100644 --- a/htdocs/langs/nb_NO/cron.lang +++ b/htdocs/langs/nb_NO/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/nb_NO/donations.lang b/htdocs/langs/nb_NO/donations.lang index 9d2ec5ceac9..5b4828f6cfa 100644 --- a/htdocs/langs/nb_NO/donations.lang +++ b/htdocs/langs/nb_NO/donations.lang @@ -30,7 +30,7 @@ SearchADonation=Søk etter donasjon DonationRecipient=Donation recipient ThankYou=Thank You IConfirmDonationReception=The recipient declare reception, as a donation, of the following amount -MinimumAmount=Minimum amount is %s +MinimumAmount=Minstebeløp er %s FreeTextOnDonations=Free text to show in footer FrenchOptions=Options for France DONATION_ART200=Show article 200 from CGI if you are concerned diff --git a/htdocs/langs/nb_NO/ecm.lang b/htdocs/langs/nb_NO/ecm.lang index 9349c46c8b7..34f72b3833f 100644 --- a/htdocs/langs/nb_NO/ecm.lang +++ b/htdocs/langs/nb_NO/ecm.lang @@ -23,10 +23,10 @@ ECMNewDocument=Nytt dokument ECMCreationDate=Opprettet den ECMNbOfFilesInDir=Antall filer i mappen ECMNbOfSubDir=Antall undermapper -# ECMNbOfFilesInSubDir=Number of files in sub-directories +ECMNbOfFilesInSubDir=Number of files in sub-directories ECMCreationUser=Opprettet av -# ECMArea=EDM area -# ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. +ECMArea=EDM area +ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. ECMAreaDesc2=* Automatiske mapper fylles automatisk når du legger til dokumenter fra et elementkort.
* Manuelle mapper kan du bruke til å lagre dokumenter som ikke er lenket til et spesielt element. ECMSectionWasRemoved=Mappen %s er slettet. ECMDocumentsSection=Dokument i mappen @@ -35,14 +35,16 @@ ECMSearchByEntity=Søk på objekt ECMSectionOfDocuments=Mapper med dokumenter ECMTypeManual=Manuell ECMTypeAuto=Automatisk -# ECMDocsBySocialContributions=Documents linked to social contributions +ECMDocsBySocialContributions=Documents linked to social contributions ECMDocsByThirdParties=Dokumenter knyttet til tredjeparter ECMDocsByProposals=Dokumenter knyttet til tilbud ECMDocsByOrders=Dokumenter knyttet til kundeordre ECMDocsByContracts=Dokumenter knyttet til kontrakter ECMDocsByInvoices=Dokumenter knyttet til kundefakturaer ECMDocsByProducts=Dokumenter knyttet til produkter -# ECMDocsByProjects=Documents linked to projects +ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=Ingen mapper opprettet ShowECMSection=Vis mappe DeleteSection=Fjern mappe @@ -51,5 +53,5 @@ ECMDirectoryForFiles=Relativ mappe for filer CannotRemoveDirectoryContainsFiles=Kunne ikke fjerne mappen, da den inneholder filer ECMFileManager=Filbehandler ECMSelectASection=Velg en mappe fra treet til venstre... -# DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. +DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. diff --git a/htdocs/langs/nb_NO/errors.lang b/htdocs/langs/nb_NO/errors.lang index 5b4f25054b9..7fa9524b08f 100644 --- a/htdocs/langs/nb_NO/errors.lang +++ b/htdocs/langs/nb_NO/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Oppsett av modul ser ut til å være uncomplete. Gå ErrorBadMask=Feil på maske ErrorBadMaskFailedToLocatePosOfSequence=Feil, maske uten sekvensnummer ErrorBadMaskBadRazMonth=Feil, dårlig reset verdi +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Feil. Velg minst én oppføring. ErrorProductWithRefNotExist=Produkt med referansenummer '%s "ikke eksisterer ErrorDeleteNotPossibleLineIsConsolidated=Slett ikke mulig fordi posten er knyttet til en bank betalingstransaksjonen som conciliated @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined @@ -174,5 +178,5 @@ WarningUsingThisBoxSlowDown=Warning, using this box slow down seriously all page WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your user are not complete (see tab ClickToDial onto your user card). WarningNotRelevant=Irrelevant operation for this dataset WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Feature disabled when display setup is optimized for blind person or text browsers. -WarningPaymentDateLowerThanInvoiceDate=Payment date (%s) is earlier than invoice date (%s) for invoice %s. -WarningTooManyDataPleaseUseMoreFilters=Too many data. Please use more filters +WarningPaymentDateLowerThanInvoiceDate=Betalingsdato (%s) er tidligere enn fakturadato (%s) for faktura %s. +WarningTooManyDataPleaseUseMoreFilters=For mange data. Bruk flere filtre diff --git a/htdocs/langs/nb_NO/install.lang b/htdocs/langs/nb_NO/install.lang index 898fbd05f17..78bd25f24c3 100644 --- a/htdocs/langs/nb_NO/install.lang +++ b/htdocs/langs/nb_NO/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migrasjon ferdig LastStepDesc=Siste trinn: Definer her login og passord du har tenkt å bruke til å koble til programvare. Ikke mist dette som det er kontoen for å administrere alle andre. ActivateModule=Aktiver modulen %s ShowEditTechnicalParameters=Klikk her for å vise/endre avanserte parametre (expert mode) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Oppdater tid i sekunder MigrationActioncommElement=Oppdatering data på handlinger MigrationPaymentMode=Datamigrering for betaling modus MigrationCategorieAssociation=Migrer kategorier +MigrationEvents=Migration of events to add event owner into assignement table -ShowNotAvailableOptions=Show not available options -HideNotAvailableOptions=Hide not available options +ShowNotAvailableOptions=Vis utilgjengelige opsjoner +HideNotAvailableOptions=Gjem utilgjengelige opsjoner diff --git a/htdocs/langs/nb_NO/interventions.lang b/htdocs/langs/nb_NO/interventions.lang index 5705c460ca4..e43b62b6a71 100644 --- a/htdocs/langs/nb_NO/interventions.lang +++ b/htdocs/langs/nb_NO/interventions.lang @@ -24,8 +24,8 @@ NameAndSignatureOfInternalContact=Navn og signatur tekniker : NameAndSignatureOfExternalContact=Navn og signatutr kunde : DocumentModelStandard=Standard dokumentet modell for intervensjoner InterventionCardsAndInterventionLines=Interventions and lines of interventions -InterventionClassifyBilled=Classify "Billed" -InterventionClassifyUnBilled=Classify "Unbilled" +InterventionClassifyBilled=Merk "Belastet" +InterventionClassifyUnBilled=Merk "Ikke belastet" StatusInterInvoiced=Fakturert RelatedInterventions=Relaterte intervensjoner ShowIntervention=Vis intervensjon diff --git a/htdocs/langs/nb_NO/languages.lang b/htdocs/langs/nb_NO/languages.lang index 7b01f96edbf..8a22ce69d82 100644 --- a/htdocs/langs/nb_NO/languages.lang +++ b/htdocs/langs/nb_NO/languages.lang @@ -10,9 +10,10 @@ Language_da_DA=Dansk Language_da_DK=Dansk Language_de_DE=Tysk Language_de_AT=Tysk (Østerrike) -Language_de_CH=German (Switzerland) +Language_de_CH=Tysk (Sveits) Language_el_GR=Gresk Language_en_AU=English (Australia) +Language_en_CA=English (Canada) Language_en_GB=English (United Kingdom) Language_en_IN=English (India) Language_en_NZ=Engelsk (New Zealand) @@ -20,7 +21,7 @@ Language_en_SA=Norsk (Saudi-Arabia) Language_en_US=English (United States) Language_en_ZA=Norsk (Sør-Afrika) Language_es_ES=Spansk -Language_es_DO=Spanish (Dominican Republic) +Language_es_DO=Spansk (Den Dominikanske republikk) Language_es_AR=Spansk (Argentina) Language_es_CL=Spansk (Chile) Language_es_HN=Spansk (Honduras) @@ -40,7 +41,7 @@ Language_fr_NC=Fransk (Ny Caledonia) Language_he_IL=Hebrew Language_hr_HR=Croatian Language_hu_HU=Ungarsk -Language_id_ID=Indonesian +Language_id_ID=Indonesisk Language_is_IS=Islandsk Language_it_IT=Italiensk Language_ja_JP=Japansk diff --git a/htdocs/langs/nb_NO/main.lang b/htdocs/langs/nb_NO/main.lang index ad3577e6779..8281c41b469 100644 --- a/htdocs/langs/nb_NO/main.lang +++ b/htdocs/langs/nb_NO/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd.MM.yyyy FormatDateShortJavaInput=dd.MM.yyyy FormatDateShortJQuery=dd.mm.yy FormatDateShortJQueryInput=dd.mm.yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H.%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d. %b %Y @@ -61,9 +62,10 @@ ErrorFailedToSaveFile=Feil: Klarte ikke å lagre filen. SetDate=Still dato SelectDate=Velg en dato SeeAlso=Se også %s +SeeHere=See here BackgroundColorByDefault=Standard bakgrunnsfarge -FileNotUploaded=The file was not uploaded -FileUploaded=The file was successfully uploaded +FileNotUploaded=Filen ble ikke lastet opp +FileUploaded=Opplastningen var vellykket FileWasNotUploaded=En fil er valgt for feste, men var ennå ikke lastet opp. Klikk på "Legg ved fil" for dette. NbOfEntries=Nb oppføringer GoToWikiHelpPage=Les elektronisk hjelp (trenger Internett-tilgang) @@ -169,6 +171,7 @@ User=Bruker Users=Brukere Group=Gruppe Groups=Grupper +NoUserGroupDefined=No user group defined Password=Passord PasswordRetype=Gjenta passord NoteSomeFeaturesAreDisabled=Merk at en masse funksjoner / moduler er deaktivert i denne demonstrasjonen. @@ -258,6 +261,7 @@ days=dager Hours=Timer Minutes=Minutter Seconds=Sekunder +Weeks=Weeks Today=I dag Yesterday=I går Tomorrow=I morgen @@ -341,7 +345,7 @@ FullList=Full liste Statistics=Statistikk OtherStatistics=Annen statistikk Status=Status -Favorite=Favorite +Favorite=Favoritt ShortInfo=Info. Ref=Nummer RefSupplier=Ref. leverandør @@ -358,7 +362,7 @@ ActionNotApplicable=Ikke aktuelt ActionRunningNotStarted=Ikke startet ActionRunningShort=Startet ActionDoneShort=Fullført -ActionUncomplete=Uncomplete +ActionUncomplete=Ikke komplett CompanyFoundation=Firma/Organisasjon ContactsForCompany=Kontakter for denne tredjeparten ContactsAddressesForCompany=Kontakter / adresser for denne tredjepart @@ -367,7 +371,7 @@ ActionsOnCompany=Handlinger ifm. denne tredjeparten ActionsOnMember=Hendelser om dette medlemmet NActions=%s handlinger NActionsLate=%s forsinket -RequestAlreadyDone=Request already recorded +RequestAlreadyDone=Forespørsel allerede registrert Filter=Filter RemoveFilter=Fjern filter ChartGenerated=Graf opprettet @@ -511,7 +515,7 @@ NbOfCustomers=Antall kunder NbOfLines=Antall linjer NbOfObjects=Antall objekter NbOfReferers=Antall referanser -Referers=Refering objects +Referers=Henvisende objekter TotalQuantity=Total mengde DateFromTo=Fra %s til %s DateFrom=Fra %s @@ -555,7 +559,7 @@ MailSentBy=E-post sendt av TextUsedInTheMessageBody=E-mail meldingstekst SendAcknowledgementByMail=Send bekreftelse med e-post NoEMail=Ingen e-post -NoMobilePhone=No mobile phone +NoMobilePhone=Ingen mobiltelefon Owner=Eier DetectedVersion=Oppdager versjon FollowingConstantsWillBeSubstituted=Følgende konstanter vil bli erstattet med korresponderende verdi. @@ -610,8 +614,8 @@ Notes=Merknader AddNewLine=Legg til ny linje AddFile=Legg til fil ListOfFiles=Liste over tilgjengelige filer -FreeZone=Free entry -FreeLineOfType=Free entry of type +FreeZone=Fritekst +FreeLineOfType=Type fritekst CloneMainAttributes=Klone objektet med sine viktigste attributter PDFMerge=PDF Flett Merge=Flett @@ -648,7 +652,7 @@ OptionalFieldsSetup=Ekstra attributter oppsett URLPhoto=Url av foto / logo SetLinkToThirdParty=Lenke til en annen tredjepart CreateDraft=Lag utkast -SetToDraft=Back to draft +SetToDraft=Tilbake til kladd ClickToEdit=Klikk for å redigere ObjectDeleted=Objekt %s slettet ByCountry=Etter land @@ -676,13 +680,14 @@ HelpCopyToClipboard=Bruk Ctrl + C for å kopiere til utklippstavle SaveUploadedFileWithMask=Lagre filen på serveren med navnet "%s" (ellers "%s") OriginFileName=Original filnavn SetDemandReason=Sett kilde -SetBankAccount=Define Bank Account -AccountCurrency=Account Currency +SetBankAccount=Definer Bankkonto +AccountCurrency=Konto Valuta ViewPrivateNote=Vis notater XMoreLines=%s linje(r) skjult PublicUrl=Offentlig URL -AddBox=Add box -SelectElementAndClickRefresh=Select an element and click Refresh +AddBox=Legg til boks +SelectElementAndClickRefresh=Velg et element og klikk Oppfrisk +PrintFile=Print File %s # Week day Monday=Mandag Tuesday=Tirsdag diff --git a/htdocs/langs/nb_NO/margins.lang b/htdocs/langs/nb_NO/margins.lang index 229f4c06a93..c0594ab96cc 100644 --- a/htdocs/langs/nb_NO/margins.lang +++ b/htdocs/langs/nb_NO/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Vare eller tjeneste AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/nb_NO/members.lang b/htdocs/langs/nb_NO/members.lang index ad0d955a3cf..4b3c4060e72 100644 --- a/htdocs/langs/nb_NO/members.lang +++ b/htdocs/langs/nb_NO/members.lang @@ -85,7 +85,7 @@ SubscriptionLateShort=Late SubscriptionNotReceivedShort=Fikk aldri ListOfSubscriptions=Liste av abonnementer SendCardByMail=Send kortet via e-post -AddMember=Create member +AddMember=Opprett medlem NoTypeDefinedGoToSetup=Ingen medlemmer typer definert. Gå til setup - Medlemmer typer NewMemberType=Nytt medlem type WelcomeEMail=Velkommen e-post @@ -125,7 +125,7 @@ Date=Dato DateAndTime=Dato og tid PublicMemberCard=Medlem offentlige kort MemberNotOrNoMoreExpectedToSubscribe=Medlem ikke eller ikke mer forventes å abonnere -AddSubscription=Create subscription +AddSubscription=Opprett abonnement ShowSubscription=Vis abonnement MemberModifiedInDolibarr=Medlem endret i Dolibarr SendAnEMailToMember=Send informasjon epost til medlem @@ -203,4 +203,4 @@ MembersByNature=Medlemmer av natur VATToUseForSubscriptions=Mva-sats som skal brukes for abonnementer NoVatOnSubscription=Ingen TVA for abonnementer MEMBER_PAYONLINE_SENDEMAIL=Send e-post når Dolibarr mottar en bekreftelse på en validert betaling for abonnement -ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Product used for subscription line into invoice: %s +ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Produkt brukt for abonnementslinje i faktura: %s diff --git a/htdocs/langs/nb_NO/orders.lang b/htdocs/langs/nb_NO/orders.lang index fc6372a3cf4..11c92b04ada 100644 --- a/htdocs/langs/nb_NO/orders.lang +++ b/htdocs/langs/nb_NO/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Leverandørordre SuppliersOrders=Leverandørordre SuppliersOrdersRunning=Aktuelle leverandørs ordrer CustomerOrder=Kundeordre -CustomersOrders=Kundens ordrer +CustomersOrders=Customers orders CustomersOrdersRunning=Aktuelle kundes ordrer CustomersOrdersAndOrdersLines=Kundeordrer og ordrelinjer -OrdersToValid=Kundens ordrer til godkjenning -OrdersToBill=Ordre til fakturering -OrdersInProcess=Ordre under behandling -OrdersToProcess=Ordre til behandling +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Leverandørens ordre til behandling StatusOrderCanceledShort=Kansellert StatusOrderDraftShort=Kladd StatusOrderValidatedShort=Godkjent StatusOrderSentShort=I prosessen StatusOrderSent=Under transport -StatusOrderOnProcessShort=Mottak +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Behandlet StatusOrderToBillShort=Levert StatusOrderToBill2Short=Til fakturering @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Fullt levert StatusOrderCanceled=Kansellert StatusOrderDraft=Kladd (trenger godkjenning) StatusOrderValidated=Godkjent -StatusOrderOnProcess=Venter mottak +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Behandlet StatusOrderToBill=Levert StatusOrderToBill2=Til fakturering @@ -50,10 +50,12 @@ StatusOrderRefused=Avvist StatusOrderReceivedPartially=Dellevert StatusOrderReceivedAll=Fullt levert ShippingExist=En forsendelse eksisterer +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Utkast eller godkjent ennå ikke bestilt DraftOrWaitingShipped=Utkast eller validert ennå ikke levert MenuOrdersToBill=Ordre levert -MenuOrdersToBill2=Billable orders +MenuOrdersToBill2=Fakturerbare ordre SearchOrder=Søk i ordre SearchACustomerOrder=Søk etter kundeordre ShipProduct=Lever produkt @@ -65,7 +67,7 @@ ValidateOrder=Valider ordre UnvalidateOrder=Devalider ordre DeleteOrder=Slett ordre CancelOrder=Avbryt ordre -AddOrder=Create order +AddOrder=Opprett ordre AddToMyOrders=Legg til mine ordre AddToOtherOrders=Lagg til andre ordre AddToDraftOrders=Legg til ordreutkast diff --git a/htdocs/langs/nb_NO/printipp.lang b/htdocs/langs/nb_NO/printipp.lang index 835e6827f12..b579c2dbb84 100644 --- a/htdocs/langs/nb_NO/printipp.lang +++ b/htdocs/langs/nb_NO/printipp.lang @@ -1,14 +1,14 @@ # Dolibarr language file - Source file is en_US - printipp -PrintIPPSetup=Setup of Direct Print module -PrintIPPDesc=This module adds a Print button to send documents directly to a printer. It requires a Linux system with CUPS installed. -PRINTIPP_ENABLED=Show "Direct print" icon in document lists -PRINTIPP_HOST=Print server +PrintIPPSetup=Oppsett av Direkteutskrift modul +PrintIPPDesc=Denne modulen legger til en knapp for å sende dokumenter direkte til en skriver. Det krever et Linux-system med CUPS installert. +PRINTIPP_ENABLED=Vis "Direkteutskrift" ikon i dokumentlister +PRINTIPP_HOST=Skriverserver PRINTIPP_PORT=Port -PRINTIPP_USER=Login -PRINTIPP_PASSWORD=Password -NoPrinterFound=No printers found (check your CUPS setup) -FileWasSentToPrinter=File %s was sent to printer -NoDefaultPrinterDefined=No default printer defined -DefaultPrinter=Default printer -Printer=Printer +PRINTIPP_USER=Innlogging +PRINTIPP_PASSWORD=Passord +NoPrinterFound=Ingen skrivere funnet (sjekk CUPS oppsett) +FileWasSentToPrinter=Filen %s ble sendt til skriveren +NoDefaultPrinterDefined=Ingen standardskriver definert +DefaultPrinter=Standardskriver +Printer=Skriver CupsServer=CUPS Server diff --git a/htdocs/langs/nb_NO/productbatch.lang b/htdocs/langs/nb_NO/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/nb_NO/productbatch.lang +++ b/htdocs/langs/nb_NO/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/nb_NO/products.lang b/htdocs/langs/nb_NO/products.lang index 6590ee183f2..7b77f870cdf 100644 --- a/htdocs/langs/nb_NO/products.lang +++ b/htdocs/langs/nb_NO/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Revisjon kode (selge) ProductOrService=Vare eller tjeneste ProductsAndServices=Varer og tjenester ProductsOrServices=Varer eller tjenester -ProductsAndServicesOnSell=Varer og tjenester i salg -ProductsAndServicesNotOnSell=Varer og tjenester ute av salg +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Statistikk over varer og tjenester ProductsStatistics=Varestatistikk -ProductsOnSell=Varer i salg -ProductsNotOnSell=Varer ute av salg -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Tjenester i salg -ServicesNotOnSell=Tjenester ute av salg -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Inter referanse LastRecorded=Siste registrerte varer/tjenester i salg LastRecordedProductsAndServices=Siste %s registrerte varer/tjenester @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/nb_NO/projects.lang b/htdocs/langs/nb_NO/projects.lang index 7b9132b42fb..1d656410bad 100644 --- a/htdocs/langs/nb_NO/projects.lang +++ b/htdocs/langs/nb_NO/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Prosjekt Projects=Prosjekter +ProjectStatus=Project status SharedProject=Alle PrivateProject=Kontaktpersoner for prosjektet MyProjectsDesc=Denne visningen er begrenset til prosjekter du er en kontakt for (hva er den type). @@ -11,7 +12,6 @@ ProjectsDesc=Denne visningen presenterer alle prosjekter (dine brukertillatelser MyTasksDesc=Denne visningen er begrenset til prosjekter eller oppgaver du er en kontakt for (hva er den type). TasksPublicDesc=Denne visningen presenterer alle prosjekter og oppgaver du har lov til å lese. TasksDesc=Denne visningen presenterer alle prosjekter og oppgaver (dine brukertillatelser gi deg tillatelse til å vise alt). -Myprojects=Mine prosjekter ProjectsArea=Prosjektområde NewProject=Nytt prosjekt AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date @@ -122,7 +123,7 @@ TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor SelectElement=Select element AddElement=Link to element -UnlinkElement=Unlink element +UnlinkElement=Koble fra element # Documents models DocumentModelBaleine=En komplett prosjektets rapport modell (logo. ..) PlannedWorkload = Planned workload diff --git a/htdocs/langs/nb_NO/resource.lang b/htdocs/langs/nb_NO/resource.lang index 32bdd92f884..4e0ae401b9f 100644 --- a/htdocs/langs/nb_NO/resource.lang +++ b/htdocs/langs/nb_NO/resource.lang @@ -1,34 +1,34 @@ -MenuResourceIndex=Resources -MenuResourceAdd=New resource -MenuResourcePlanning=Resource planning -DeleteResource=Delete resource -ConfirmDeleteResourceElement=Confirm delete the resource for this element -NoResourceInDatabase=No resource in database. -NoResourceLinked=No resource linked +MenuResourceIndex=Ressurser +MenuResourceAdd=Ny ressurs +MenuResourcePlanning=Ressursplanlegging +DeleteResource=Slett ressurs +ConfirmDeleteResourceElement=Bekreft sletting av ressursen for dette elementet +NoResourceInDatabase=Ingen ressurs i databasen +NoResourceLinked=Ingen koblet ressurs -ResourcePageIndex=Resources list -ResourceSingular=Resource -ResourceCard=Resource card -AddResource=Create a resource -ResourceFormLabel_ref=Resource name -ResourceType=Resource type -ResourceFormLabel_description=Resource description +ResourcePageIndex=Ressursliste +ResourceSingular=Ressurs +ResourceCard=Ressurskort +AddResource=Opprett ressurs +ResourceFormLabel_ref=Ressursnavn +ResourceType=Ressurstype +ResourceFormLabel_description=Beskrivelse av ressurs -ResourcesLinkedToElement=Resources linked to element +ResourcesLinkedToElement=Ressurs koblet til element -ShowResourcePlanning=Show resource planning -GotoDate=Go to date +ShowResourcePlanning=Vis ressursplanlegging +GotoDate=Gå til dato -ResourceElementPage=Element resources -ResourceCreatedWithSuccess=Resource successfully created -RessourceLineSuccessfullyDeleted=Resource line successfully deleted -RessourceLineSuccessfullyUpdated=Resource line successfully updated -ResourceLinkedWithSuccess=Resource linked with success +ResourceElementPage=Elementressurser +ResourceCreatedWithSuccess=Ressursopprettelse vellykket +RessourceLineSuccessfullyDeleted=Vellykket sletting av ressurslinje +RessourceLineSuccessfullyUpdated=Vellykket oppdatering av ressurslinje +ResourceLinkedWithSuccess=Vellykket ressurskobling -TitleResourceCard=Resource card -ConfirmDeleteResource=Confirm to delete this resource -RessourceSuccessfullyDeleted=Resource successfully deleted -DictionaryResourceType=Type of resources +TitleResourceCard=Ressurskort +ConfirmDeleteResource=Bekreft sletting av ressurs +RessourceSuccessfullyDeleted=Vellykket sletting av ressurs +DictionaryResourceType=Ressurstype -SelectResource=Select resource +SelectResource=Velg ressurs diff --git a/htdocs/langs/nb_NO/sendings.lang b/htdocs/langs/nb_NO/sendings.lang index 7c11ec56d1e..69f7e0739b4 100644 --- a/htdocs/langs/nb_NO/sendings.lang +++ b/htdocs/langs/nb_NO/sendings.lang @@ -4,7 +4,8 @@ Sending=Levering Sendings=Leveringer Shipment=Levering Shipments=Skipninger -Receivings=Mottak +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Leveringsområde ListOfSendings=Oversikt over leveringer SendingMethod=Leveringsmåte @@ -14,7 +15,7 @@ SearchASending=Finn levering StatisticsOfSendings=Statistikk NbOfSendings=Antall leveringer NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Leveringekort +SendingCard=Shipment card NewSending=Ny levering CreateASending=Lag en levering CreateSending=Lag levering @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Kansellert StatusSendingDraftShort=Kladd StatusSendingValidatedShort=Godkjent StatusSendingProcessedShort=Behandlet -SendingSheet=Pakkseddel +SendingSheet=Shipment sheet Carriers=Transportører Carrier=Transportør CarriersArea=Transportørområde @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Hendelser på forsendelse LinkToTrackYourPackage=Lenke for å spore pakken ShipmentCreationIsDoneFromOrder=For øyeblikket er opprettelsen av en ny forsendelse gjort fra ordren kortet. -RelatedShippings=Related shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Catch av kunde @@ -76,5 +81,5 @@ SumOfProductVolumes=Sum of product volumes SumOfProductWeights=Sum of product weights # warehouse details -DetailWarehouseNumber= Warehouse details -DetailWarehouseFormat= W:%s (Qty : %d) +DetailWarehouseNumber= Varehusdetaljer +DetailWarehouseFormat= W:%s (Ant : %d) diff --git a/htdocs/langs/nb_NO/stocks.lang b/htdocs/langs/nb_NO/stocks.lang index 401d409e0f1..d784469d779 100644 --- a/htdocs/langs/nb_NO/stocks.lang +++ b/htdocs/langs/nb_NO/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Lagerverdi UserWarehouseAutoCreate=Opprett lager automatisk når en bruker opprettes QtyDispatched=Antall sendt +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Ordre sendt RuleForStockManagementDecrease=Regel for lagerreduksjon RuleForStockManagementIncrease=Regel for lagerøkning @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Øk virkelig beholdning ut fra ordre ReStockOnDispatchOrder=Øk virkelige aksjer på manuelle sende ut i lagerbygninger, etter leverandør bestill mottak ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=Bestill har ikke ennå, eller ikke mer en status som gjør at ekspedering av produkter på lager lager. -StockDiffPhysicTeoric=Årsak til forskjell mellom fysisk og teoretisk beholdning +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Ingen forhåndsdefinerte produkter for dette objektet. Så nei utsending på lager er nødvendig. DispatchVerb=Dispatch StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/nb_NO/suppliers.lang b/htdocs/langs/nb_NO/suppliers.lang index a71a1ec74a4..d6457622bf2 100644 --- a/htdocs/langs/nb_NO/suppliers.lang +++ b/htdocs/langs/nb_NO/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Leverandører Supplier=Leverandør -AddSupplier=Legg til en leverandør +AddSupplier=Create a supplier SupplierRemoved=Leverandør slettet SuppliersInvoice=Leverandørfaktura NewSupplier=Ny leverandør @@ -40,5 +40,7 @@ AddSupplierInvoice=Opprett innkjøpsfaktura ListOfSupplierProductForSupplier=Oversikt over produkter og priser for leverandøren %s NoneOrBatchFileNeverRan=Ingen eller batch %s ikke løp nylig SentToSuppliers=Sendt til leverandører -ListOfSupplierOrders=List of supplier orders +ListOfSupplierOrders=Liste over leverandørordre MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/nb_NO/users.lang b/htdocs/langs/nb_NO/users.lang index f4a5d1800c3..2ba7de19731 100644 --- a/htdocs/langs/nb_NO/users.lang +++ b/htdocs/langs/nb_NO/users.lang @@ -2,7 +2,7 @@ HRMArea=HRM-område UserCard=Brukerkort ContactCard=Kontaktperson-kort -GroupCard=Guppekort +GroupCard=Gruppekort NoContactCard=Ingen kort blant kontaktpersonene Permission=Rettighet Permissions=Rettigheter @@ -19,11 +19,11 @@ UserGUISetup=Brukerens visningsoppsett DisableUser=Deaktiver DisableAUser=Deaktiver en bruker DeleteUser=Slett -DeleteAUser=Slette en bruker -DisableGroup=Slå av -DisableAGroup=Slå av en grupper -EnableAUser=Slå på en bruker -EnableAGroup=Slå på en gruppe +DeleteAUser=Slett en bruker +DisableGroup=Deaktiver +DisableAGroup=Slå av en gruppe +EnableAUser=Aktiver en bruker +EnableAGroup=Aktiver en gruppe DeleteGroup=Slett DeleteAGroup=Slett en gruppe ConfirmDisableUser=Er du sikker på at du vil deaktivere brukeren %s ? @@ -102,7 +102,7 @@ UserDisabled=Brukeren %s er deaktivert UserEnabled=Brukeren %s er aktivert UserDeleted=Brukeren %s er fjernet NewGroupCreated=Gruppen %s er oprettet -GroupModified=Group %s modified +GroupModified=Gruppe %s endret GroupDeleted=Gruppen %s er fjernet ConfirmCreateContact=Er du sikker på at du vil lage en Dolibarr-konto til denne kontaktpersonen? ConfirmCreateLogin=Er du sikker på at du vil opprette en Dolibarr konto for medlemmet? @@ -119,4 +119,4 @@ UseTypeFieldToChange=Bruk feltet Type til endring OpenIDURL=OpenID URL LoginUsingOpenID=Bruk OpenID til å logge inn WeeklyHours=Uketimer -ColorUser=Color of the user +ColorUser=Farge på bruker diff --git a/htdocs/langs/nb_NO/withdrawals.lang b/htdocs/langs/nb_NO/withdrawals.lang index 5de436e0476..2775c7f68b7 100644 --- a/htdocs/langs/nb_NO/withdrawals.lang +++ b/htdocs/langs/nb_NO/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Kreditt på WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Vis Angrerett IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Men hvis faktura har minst én tilbaketrekning betaling ennå ikke behandlet, vil det ikke bli satt som utbetales å tillate å administrere uttak før. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/nb_NO/workflow.lang b/htdocs/langs/nb_NO/workflow.lang index 19eb3838e4a..bb6ee561f38 100644 --- a/htdocs/langs/nb_NO/workflow.lang +++ b/htdocs/langs/nb_NO/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Arbeidsflyt modulen oppsett -WorkflowDesc=Denne modulen er konstruert for å endre oppførselen til automatiske handlinger inn i programmet. Som standard er arbeidsflyten åpnet (du gjør ting i rekkefølge du vil). Du kan aktivere automatiske handlinger som du er interessant i. +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Det er ingen arbeidsflyt kan du endre for modul du har aktivert. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Lag en kundeordre automatisk etter en kommersiell forslag er signert descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Lag en kunde faktura automatisk etter en kommersiell forslag er signert descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Lag en kunde faktura automatisk etter en kontrakt er validert descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Lag en kunde faktura automatisk etter en kundeordre er stengt -# descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/nl_NL/accountancy.lang b/htdocs/langs/nl_NL/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/nl_NL/accountancy.lang +++ b/htdocs/langs/nl_NL/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/nl_NL/admin.lang b/htdocs/langs/nl_NL/admin.lang index 91728e6f234..ee574b01753 100644 --- a/htdocs/langs/nl_NL/admin.lang +++ b/htdocs/langs/nl_NL/admin.lang @@ -49,7 +49,7 @@ Chartofaccounts=Chart of accounts Fiscalyear=Fiscal years ErrorReservedTypeSystemSystemAuto=De waarde 'system' en 'systemauto' als type zijn voorbehouden voor het systeem. Je kan 'user' als waarde gebruiken om je eigen gegevens-record toe te voegen. ErrorCodeCantContainZero=Code mag geen 0 bevatten -DisableJavascript=Disable JavaScript and Ajax functions (Recommended for blind person or text browsers) +DisableJavascript=JavaScript en Ajax functies uitzetten (Aanbevolen voor blinden of tekst browsers) ConfirmAjax=Gebruik AJAX bevestigingspopups UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectCompany=Gebruik automatisch aanvullende velden om relaties te kiezen ipv een lijst. @@ -137,7 +137,7 @@ Box=Vak Boxes=Vakken MaxNbOfLinesForBoxes=Max aantal regels voor de vakken PositionByDefault=Standaardvolgorde -Position=Position +Position=Positie MenusDesc=Menuverwerkers bepalen de inhoud van de 2 menubalken (horizontale en verticale menubalken). MenusEditorDesc=Met behulp van de menu-editor kunt u gepersonaliseerde items in menu's instellen. Gebruik deze functionaliteit zorgvuldig om te vermijden dat Dolibarr instabiel wordt en menu-items permanent onbereikbaar worden.
Sommige modules voegen items toe in de menu's (in de meeste gevallen in het menu Alle). Als u sommige van deze items per ongeluk verwijderd, kunt u ze herstellen de module eerst uit te schakelen en daarna opnieuw in te schakelen. MenuForUsers=Gebruikersmenu @@ -294,7 +294,7 @@ DoNotUseInProduction=Niet in productie gebruiken ThisIsProcessToFollow=Dit is ingesteld op de verwerking van: StepNb=Stap %s FindPackageFromWebSite=Vind een pakket die u de functionaliteit geeft die u wilt (bijvoorbeeld op de officiële website van %s). -DownloadPackageFromWebSite=Download pakket van website %s. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Pak het pakketbestand uit in Dolibarr's root map %s SetupIsReadyForUse=Installatie is voltooid en Dolibarr is gereed voor het gebruik van de nieuwe functionaliteit. NotExistsDirect=De alternatieve root directory is niet bepaald.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Kies module: CurrentVersion=Huidige versie van Dolibarr CallUpdatePage=Ga naar de pagina die de databasestructuur en gegevens bijwerkt: %s. LastStableVersion=Laatste stabiele versie +UpdateServerOffline=Update server offline GenericMaskCodes=U kunt elk gewenst maskernummer invoeren. In dit masker, kunnen de volgende tags worden gebruikt:
{000000} correspondeert met een nummer welke vermeerderd zal worden op elke %s. Voer zoveel nullen in als de gewenste lengte van de teller. De teller wordt aangevuld met nullen vanaf links zodat er zoveel nullen zijn als in het masker.
{000000+000} hetzelfde als voorgaand maar een offset corresponderend met het nummer aan de rechterkant van het + teken is toegevoegd startend op de eerste %s.
{000000@x} hetzelfde als voorgaande maar de teller wordt gereset naar nul, wanneer maand x is bereikt (x tussen 1 en 12). Als deze optie is gebruikt en x is 2 of hoger, dan is de volgorde {yy}{mm} of {yyyy}{mm} ook vereist.
{dd} dag (01 t/m 31).
{mm} maand (01 t/m 12).
{yy}, {yyyy} of {y} jaat over 2, 4 of 1 nummer(s).
GenericMaskCodes2={Cccc} de klant code op n tekens
{} Cccc000 de klant code op n tekens gevolgd door een teller speciaal voor de klant. Deze teller speciaal voor de klant wordt teruggezet op hetzelfde moment dan globale teller.
{Tttt} De code van relatie soort van n tekens (zie relatie contanten).
GenericMaskCodes3=Alle andere karakters in het masker zullen intact blijven.
Spaties zijn niet toegestaan.
@@ -382,13 +383,15 @@ ExtrafieldSelectList = Kies uit tabel ExtrafieldSeparator=Scheidingsteken ExtrafieldCheckBox=Aanvink-vak ExtrafieldRadio=Radioknop -ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key -ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... +ExtrafieldCheckBoxFromList= Checkbox from table +ExtrafieldParamHelpselect=Parameterlijsten hebben de waarden sleutel,waarde

bijvoorbeeld:
1,waarde1
2,waarde2
3,waarde3
...

Voor een afhankelijke lijst:
1,waarde1|parent_list_code:parent_key
2,waarde2|parent_list_code:parent_key +ExtrafieldParamHelpcheckbox=Een parameterlijst heeft de waarden sleutel,waarde

bijvoorbeeld:
1,waarde1
2,waarde2
3,waarde3
...

ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... -ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpsellist=Een parameterlijst afkomstig van een tabel
Syntax : table_name:label_field:id_field::filter
Bijvoorbeeld : c_typent:libelle:id::filter

filter kan een envoudige test zijn (bv active=1) om alleen active waarden te tonen
als u wilt filteren op extra velden gebruik syntax extra.fieldcode=... (waar fieldcode de code is van extrafield)

Om de lijst afhankelijk te maken van een andere lijst:
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Bibliotheek om PDF's te maken WarningUsingFPDF=Opgelet: je
conf.php
bevat de instelling dolibarr_pdf_force_fpdf=1. Dat betekent dat je de FPDF bibliotheek gebruikt om PDF bestanden te maken. Deze bibliotheek is oud, en ondersteunt een aantal mogelijkheden niet (Unicode, transparantie in beelden, cyrillische, arabische en aziatische talen, ...), dus er kunnen fouten optreden bij het maken van PDF's.
Om dat op te lossen, en om volledige ondersteuning van PDF-maken te hebben, download aub TCPDF library, en dan verwijder of maak commentaar van de lijn $dolibarr_pdf_force_fpdf=1, en voeg in plaats daarvan $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' toe. -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) +LocalTaxDesc=Sommige landen gebruiken 2 of 3 belastingen op iedere factuurregel. Als dit het geval is, kies type voor tweede en derde belasting en het tarief. Mogelijke typen zijn:
1 : Locale belasting van toepassing op producten en diensten zonder btw (btw wordt niet toegepast op locale belasting)
2 : Locale belasting van toepassing op producten en diensten voor btw (btw wordt berekend op bedrag + locale belasting )
3 : Locale belasting van toepassing op producten zonder btw (btw wordt niet toegepast op locale belasting)
4 : Locale belasting van toepassing op producten voor btw (btw wordt berekend op bedrag + locale belasting)
5 : Locale belasting van toepassing op diensten zonder btw (btw wordt niet toegepast op locale belasting)
6 : Locale belasting van toepassing op diensten voor btw (btw wordt berekend op bedrag + locale belasting ) SMS=SMS LinkToTestClickToDial=Geef een telefoonnummer om de ClickToDial link te testen voor gebruiker %s RefreshPhoneLink=Herladen link @@ -440,14 +443,14 @@ Module52Name=Productenvoorraad Module52Desc=Productenvoorraadbeheer Module53Name=Diensten Module53Desc=Dienstenbeheer -Module54Name=Contracts/Subscriptions -Module54Desc=Management of contracts (services or reccuring subscriptions) +Module54Name=Contracten/Abonnementen +Module54Desc=Contractmanagement (diensten of herhalende abonnementen) Module55Name=Streepjescodes Module55Desc=Streepjescodesbeheer Module56Name=Telefonie Module56Desc=Telefoniebeheer Module57Name=Tekenen -Module57Desc=Standing orders and withdrawal management. Also includes generation of SEPA file for european countries. +Module57Desc=Beheer van permanente orders en opnames. Bevat ook de generatie van een SEPA bestand voor Europese landen. Module58Name=ClickToDial Module58Desc=Integratie van een 'ClickToDial' systeem (Asterisk, etc) Module59Name=Bookmark4u @@ -478,8 +481,8 @@ Module320Name=RSS-feeds Module320Desc=Voeg een RSS feed toe in de informatieschermen van Dolibarr Module330Name=Weblinks (Favouriete internetpagina's in het menu weergeven) Module330Desc=weblinkbeheer -Module400Name=Projects/Opportunities/Leads -Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. +Module400Name=Projecten/Kansen/Leads +Module400Desc=Beheer van projecten, kansen of leads. U kunt elk willekeurig element (factuur, order, offerte, interventie, ...) toewijzen aan een project en een transversale weergave krijgen van de projectweergave. Module410Name=Webkalender Module410Desc=Integratie van een webkalender Module500Name=Bijzondere uitgaven (BTW, sociale lasten, dividenden) @@ -487,7 +490,7 @@ Module500Desc=Beheer van diverse uitgaven, zoals belastingen, sociale bijdragen, Module510Name=Salarissen Module510Desc=Beheer van de werknemers salarissen en betalingen Module600Name=Kennisgevingen -Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) +Module600Desc=Stuur EMail notificaties van bepaalde Dolibarr zakelijke gebeurtenissen naar derde-partijen contacten (setup gedefinieerd in iedere derde-partij) Module700Name=Giften Module700Desc=Donatiebeheer Module1200Name=Mantis @@ -521,8 +524,8 @@ Module5000Name=Multi-bedrijf Module5000Desc=Hiermee kunt meerdere bedrijven beheren in Dolibarr Module6000Name=Workflow Module6000Desc=Workflow beheer -Module20000Name=Leave Requests management -Module20000Desc=Declare and follow employees leaves requests +Module20000Name=Beheer van verlofverzoeken +Module20000Desc=Bevestig en volg verlofverzoeken van medewerkers Module39000Name=Product batch Module39000Desc=Batch or serial number, eat-by and sell-by date management on products Module50000Name=Paybox @@ -572,7 +575,7 @@ Permission67=Exporteer interventies Permission71=Bekijk leden Permission72=Creëer / wijzigen leden Permission74=Verwijder leden -Permission75=Stel lidsoorten en -attributen +Permission75=Setup types of membership Permission76=Exporteer datas Permission78=Bekijk abonnementen Permission79=Creëer / wijzigen abonnementen @@ -595,8 +598,8 @@ Permission106=Export zendingen Permission109=Verwijder verzendingen Permission111=Bekijk de financiële rekeningen Permission112=Creëer / wijzig / verwijder en vergelijk transacties -Permission113=Stel financiële rekeningen in (creëer, beheer, categoriseer) -Permission114=Consolideer transacties +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Exporteer transacties en rekeningafschriften Permission116=Overschrijvingen tussen rekeningen Permission117=Beheer cheques verzending @@ -613,11 +616,11 @@ Permission151=Bekijk doorlopende opdrachten Permission152=Creëer / bewerk een doorlopende opdracht verzoek Permission153=Bekijk doorlopende opdracht ontvangsten Permission154=Crediteren / afwijzen van uitstaande orderbonnen -Permission161=Read contracts/subscriptions -Permission162=Create/modify contracts/subscriptions -Permission163=Activate a service/subscription of a contract -Permission164=Disable a service/subscription of a contract -Permission165=Delete contracts/subscriptions +Permission161=Lees contracten/abonnementen +Permission162=Creëren/aanpassen contracten/abonnementen +Permission163=Een dienst/abonnement van een contract activeren +Permission164=Een dienst/abonnement van een contract uitschakelen +Permission165=Verwijderen contracten/abonnementen Permission171=Read trips and expenses (own and his subordinates) Permission172=Create/modify trips and expenses Permission173=Delete trips and expenses @@ -761,6 +764,7 @@ Permission55001=Lees polls Permission55002=Maak / wijzig polls Permission59001=Lees commerciële marges Permission59002=Definieer commerciële marges +Permission59003=Read every user margin DictionaryCompanyType=Relatie soort DictionaryCompanyJuridicalType=Juridische soorten van relaties DictionaryProspectLevel=Prospect potentiële niveau @@ -1038,7 +1042,7 @@ SendingMailSetup=Instellen van verzendingen via e-mail SendmailOptionNotComplete=Waarschuwing, op sommige Linux-systemen, e-mail verzenden vanaf uw e-mail, sendmail uitvoering setup moet conatins optie-ba (parameter mail.force_extra_parameters in uw php.ini-bestand). Als sommige ontvangers nooit e-mails ontvangen, probeer dit PHP parameter bewerken met mail.force_extra_parameters =-ba). PathToDocuments=Pad naar documenten PathDirectory=Map -SendmailOptionMayHurtBuggedMTA=Feature om e-mails met behulp van methode "PHP mail direct" te sturen zal een e-mailbericht dat niet goed zou kunnen worden ontleed door sommige het ontvangen van e-mailservers. Resultaat is dat sommige mails niet kunnen worden gelezen door mensen gehost door thoose afgeluisterd platforms. Het is het geval voor sommige Internet providers (Ex: Orange in Frankrijk). Dit is geen probleem in Dolibarr noch in PHP, maar op het ontvangen van e-mailserver. U kunt de optie MAIN_FIX_FOR_BUGGED_MTA echter toe te voegen aan 1 in setup - andere om Dolibarr wijzigen om dit te voorkomen. Echter, kunnen er problemen met andere servers dat opzicht strikt de SMTP-standaard. De andere oplossing (aanbevolen) is het gebruik van de methode "SMTP-socket bibliotheek" dat er geen nadelen heeft. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Instelling van de taal TranslationDesc=Keuze taal zichtbaar op het scherm kan worden gewijzigd:
* Wereldwijd van Home-menu - Instellingen - Scherm
* Voor de gebruiker enkel van het tabblad Gebruiker weergave van de gebruiker kaart (klik op login op de top van het scherm). TotalNumberOfActivatedModules=Totaal aantal geactiveerde modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=U gebruikt de webbrowser %s. Deze browser is in orde voor beveiligin BrowserIsKO=U gebruikt de webbrowser %s. Deze browser is een slechte keuze voor veiligheid, prestaties en betrouwbaarheid. Wij raden u aan Firefox, Chrome, Opera of Safari gebruiken. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Toon klant / leverancier-ref in de lijst (lijst of combobox) en grootste deel hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Wijziging van het veld %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Voorbeeld: +2 (alleen invullen als tijdzone offset problemen worden ervaren) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Om de opdracht te valideren na sluiting van de offer FreeLegalTextOnOrders=Vrije tekst op opdrachten WatermarkOnDraftOrders=Watermerk op ontwerp-orders (geen indien leeg) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup='Click-To-Dial' moduleinstellingen ClickToDialUrlDesc=Aangeroepen URL wanneer er geklikt wordt op een telefoonicoontje. In de URL kunt u 'tags' gebruiken
__PHONETO__ zal vervangen worden met het telefoonnummer dat gebeld moet worden
__PHONEFROM__ zal worden vervangen met het telefoonnummer van de bellende persoon (uw telefoonnummer)
__LOGIN__ zal vervangen worden door uw 'Click-To-Dial'-accountgebruikersnaam (Zoals ingesteld op uw gebruikerskaartdetails
__PASS__ zal vervangen worden door uw "Click-To-Dial"-accountwachtwoord (Zoals ingesteld op uw gebruikerskaartdetails). @@ -1392,6 +1397,7 @@ RSSUrlExample=Een interessante RSS-feed MailingSetup=EMailingmoduleinstellingen MailingEMailFrom=E-mailafzender (Van) voor e-mails die verstuurd worden door de EMailingmodule MailingEMailError=Retoure-mailadres (Errors-to) voor e-mails met fouten +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=E-mailafzender (van) voor e-mails die verstuurd worden voor kennisgevingen @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Verzendingsmoduleinstellingen SendingsReceiptModel=Verzendontvangstsjabloon SendingsNumberingModules=Verzendingen nummering modules -SendingsAbility=Ondersteun verzendingsbrieven voor afnemersleveringen +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=In de meeste gevallen worden de verzendingsbrieven gebruikt als brieven voor de afnemersleveringen (lijst van te verzenden producten ) evenals voor ontvangstbewijzen ondertekend door de afnemer. Derhalve zijn ontvangstbevestigingen een dubbele functionaliteit en worden deze zelden geactiveerd. -FreeLegalTextOnShippings=Vrije tekst op verzendingen +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=ontvangstbevestigingennummeringsmodule DeliveryOrderModel=ontvangstbevestigingensjablonen @@ -1414,7 +1420,7 @@ AdvancedEditor=Geavanceerde editor ActivateFCKeditor=Activeer FCKeditor voor: FCKeditorForCompany=WYSIWIG creatie / bewerking van bedrijfsomschrijving en notities FCKeditorForProduct=WYSIWIG creatie / bewerking van product- / dienstomschrijving en notities -FCKeditorForProductDetails=WYSIWIG creatie / bewerking van produktdetailregels voor alle entiteiten (Offertes, opdrachten, facturen, etc)
Waarschuwing: Gebruik van deze optie, voor dit doeleinde, wordt sterk afgeraden, omdat het problemen kan geven met speciale karakters en de paginaopmaak wanneer er PDF bestanden worden gegenereerd van deze gegevens. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG creatie / bewerking van mailings FCKeditorForUserSignature=WYSIWIG creatie /aanpassing van ondertekening FCKeditorForMail=WYSIWIG creatie / aanpassing voor alle email berichten (behalve mailings) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Formaat TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/nl_NL/agenda.lang b/htdocs/langs/nl_NL/agenda.lang index 7ba26ccd595..22169bc3f06 100644 --- a/htdocs/langs/nl_NL/agenda.lang +++ b/htdocs/langs/nl_NL/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Afnemersopdracht %s verzonden per e-mail InvoiceSentByEMail=Afnemersfactuur %s verzonden per e-mail SupplierOrderSentByEMail=Leveranciersopdracht %s verzonden per e-mail SupplierInvoiceSentByEMail=Leveranciersfactuur %s verzonden per e-mail -ShippingSentByEMail=Verzendkosten %s per e-mail -ShippingValidated= Verzending %s is gevalideerd +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Derde aangemaakt DateActionPlannedStart= Geplande startdatum DateActionPlannedEnd= Geplande einddatum @@ -68,7 +69,7 @@ DateActionDoneEnd= Daadwerkelijke einddatum DateActionStart= Startdatum DateActionEnd= Einddatum AgendaUrlOptions1=U kunt ook de volgende parameters gebruiken om te filteren: -AgendaUrlOptions2=login=%s om uitvoer van acties gecreëerd door, toegewezen aan of gedaan door gebruiker %s te beperken. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=login=%s om uitvoer van acties toegewezen aan gebruiker %s te beperken. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/nl_NL/banks.lang b/htdocs/langs/nl_NL/banks.lang index 0f0039ee5b8..78926b0359c 100644 --- a/htdocs/langs/nl_NL/banks.lang +++ b/htdocs/langs/nl_NL/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Rekening FinancialAccounts=Rekeningen BankAccount=Bankrekening BankAccounts=Bankrekeningen +ShowAccount=Show Account AccountRef=Financiële rekening referentie AccountLabel=Financiële rekening label CashAccount=Kasrekening diff --git a/htdocs/langs/nl_NL/bills.lang b/htdocs/langs/nl_NL/bills.lang index 2bd991f4276..1f75b981c62 100644 --- a/htdocs/langs/nl_NL/bills.lang +++ b/htdocs/langs/nl_NL/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Factuur Bills=Facturen -BillsCustomers=Afnemersfacturen -BillsCustomer=Afnemersfactuur -BillsSuppliers=Leveranciersfacturen -BillsCustomersUnpaid=Onbetaalde afnemersfacturen +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Onbetaalde afnemersfacturen voor %s BillsSuppliersUnpaid=Onbetaalde leveranciersfacturen BillsSuppliersUnpaidForCompany=Onbetaalde leveranciersfacturen voor %s BillsLate=Betalingsachterstand -BillsStatistics=Statistieken afnemersfacturen -BillsStatisticsSuppliers=Statistieken leveranciersfacturen +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Uitgeschakeld omdat niet verwijderd kan worden InvoiceStandard=Standaardfactuur InvoiceStandardAsk=Standaardfactuur @@ -348,6 +348,7 @@ ChequeNumber=Chequenummer ChequeOrTransferNumber=Cheque / Transfernummer ChequeMaker=Chequezender ChequeBank=Bank van cheque +CheckBank=Check NetToBePaid=Netto te betalen PhoneNumber=Tel FullPhoneNumber=Telefoonnummer @@ -388,7 +389,7 @@ DisabledBecausePayments=Niet beschikbaar omdat er betalingen bestaan CantRemovePaymentWithOneInvoicePaid=Verwijder onmogelijk wanneer er minstens een factuur betaald is ingedeeld. ExpectedToPay=Verwachte betaling PayedByThisPayment=Betaald door deze betaling -ClosePaidInvoicesAutomatically=Classeer betaalde facturen automatisch naar status "Betaald". +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classeer terugbetaalde creditnotas automatisch naar status "Betaald". AllCompletelyPayedInvoiceWillBeClosed=Alle betaalde facturen zullen automatisch worden gesloten naar status "Betaald". ToMakePayment=Betaal @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Verantwoordelijke verkoper fa TypeContact_invoice_supplier_external_BILLING=Leverancier factureringscontact TypeContact_invoice_supplier_external_SHIPPING=Leverancier leveringscontact TypeContact_invoice_supplier_external_SERVICE=Leverancier servicecontact +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/nl_NL/compta.lang b/htdocs/langs/nl_NL/compta.lang index 2a093d76225..58672964bbe 100644 --- a/htdocs/langs/nl_NL/compta.lang +++ b/htdocs/langs/nl_NL/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Omzet PaymentsNotLinkedToInvoice=Betalingen niet gekoppeld aan een factuur, dus niet gekoppeld aan een derde partij PaymentsNotLinkedToUser=Betalingen niet gekoppeld aan een gebruiker Profit=Winst +AccountingResult=Accounting result Balance=Saldo Debit=Debet Credit=Credit diff --git a/htdocs/langs/nl_NL/cron.lang b/htdocs/langs/nl_NL/cron.lang index e12bceca15f..bcd3b1c774f 100644 --- a/htdocs/langs/nl_NL/cron.lang +++ b/htdocs/langs/nl_NL/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Commando regel om cron jobs uit te voeren -CronExplainHowToRunUnix=In een Unix omgeving dien je de crontab te gebruiken om commando's geplanned uit te voeren -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Geplande taken CronListActive=Lijst van active/geplande taken diff --git a/htdocs/langs/nl_NL/ecm.lang b/htdocs/langs/nl_NL/ecm.lang index c71bbc57898..e1ff7c60a18 100644 --- a/htdocs/langs/nl_NL/ecm.lang +++ b/htdocs/langs/nl_NL/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Documenten gekoppeld aan contracten ECMDocsByInvoices=Documenten gekoppeld aan afnemersfacturen ECMDocsByProducts=Documenten gekoppeld aan producten ECMDocsByProjects=Documenten gekoppeld aan projecten +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=Geen map aangemaakt ShowECMSection=Toon map DeleteSection=Verwijder map diff --git a/htdocs/langs/nl_NL/errors.lang b/htdocs/langs/nl_NL/errors.lang index 6f146184c81..9d16482afa5 100644 --- a/htdocs/langs/nl_NL/errors.lang +++ b/htdocs/langs/nl_NL/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=De installatie van de module lijkt incompleet te zij ErrorBadMask=Fout bij het masker ErrorBadMaskFailedToLocatePosOfSequence=Fout, masker zonder het volgnummer ErrorBadMaskBadRazMonth=Fout, slechte resetwaarde +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Fout. Kies ten minste een item. ErrorProductWithRefNotExist=Product met referentie %s bestaan ​​niet ErrorDeleteNotPossibleLineIsConsolidated=Verwijderen niet mogelijk, omdat record is gekoppeld aan een bank transation dat is verzoend @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Verplichte setup parameters zijn nog niet gedefinieerd diff --git a/htdocs/langs/nl_NL/install.lang b/htdocs/langs/nl_NL/install.lang index 29f019e75ee..a0f1f51790b 100644 --- a/htdocs/langs/nl_NL/install.lang +++ b/htdocs/langs/nl_NL/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migratie voltooid LastStepDesc=Laatste stap: Definieer hier de login en het wachtwoord die u wilt gebruiken om verbinding te maken software. Niet los dit als het is de rekening voor alle anderen te beheren. ActivateModule=Activeer module %s ShowEditTechnicalParameters=Klik hier om verder gevorderde parameters te zien of aan te passen. (expert instellingen) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Verstreken tijd van de update in seconden MigrationActioncommElement=Bijwerken van gegevens over acties MigrationPaymentMode=Data migratie voor de betaling mode MigrationCategorieAssociation=Overzetten van categoriën +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Toon niet beschikbare opties HideNotAvailableOptions=Verberg niet beschikbare opties diff --git a/htdocs/langs/nl_NL/languages.lang b/htdocs/langs/nl_NL/languages.lang index 3d91d10631d..2a0c0ace2aa 100644 --- a/htdocs/langs/nl_NL/languages.lang +++ b/htdocs/langs/nl_NL/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Duits (Oostenrijk) Language_de_CH=Duits (Zwitserland) Language_el_GR=Grieks Language_en_AU=Engels (Australië) +Language_en_CA=English (Canada) Language_en_GB=Engels (Groot Brittannië) Language_en_IN=Engels (India) Language_en_NZ=Engels (Nieuw Zeeland) diff --git a/htdocs/langs/nl_NL/main.lang b/htdocs/langs/nl_NL/main.lang index 40ef7311c4b..104be6c74de 100644 --- a/htdocs/langs/nl_NL/main.lang +++ b/htdocs/langs/nl_NL/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd-MM-yyyy FormatDateShortJavaInput=dd-MM-yyyy FormatDateShortJQuery=dd-mm-yy FormatDateShortJQueryInput=dd-mm-yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Fout, bestand opslaan mislukt. SetDate=Stel datum in SelectDate=Selecteer een datum SeeAlso=Zie ook %s +SeeHere=See here BackgroundColorByDefault=Standaard achtergrondkleur FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=Gebruiker Users=Gebruikers Group=Groep Groups=Groepen +NoUserGroupDefined=No user group defined Password=Wachtwoord PasswordRetype=Herhaal uw wachtwoord NoteSomeFeaturesAreDisabled=Let op, veel functionaliteiten / modules zijn uitgeschakeld in deze demonstratie. @@ -258,6 +261,7 @@ days=dagen Hours=Uur Minutes=Minuten Seconds=Seconden +Weeks=Weeks Today=Vandaag Yesterday=Gisteren Tomorrow=Morgen @@ -683,6 +687,7 @@ XMoreLines=%s regel(s) verborgen PublicUrl=Openbare URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Maandag Tuesday=Dinsdag diff --git a/htdocs/langs/nl_NL/margins.lang b/htdocs/langs/nl_NL/margins.lang index 6429b4ddca9..75f05c0d882 100644 --- a/htdocs/langs/nl_NL/margins.lang +++ b/htdocs/langs/nl_NL/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Marge details ProductMargins=Product marge CustomerMargins=Klant marges SalesRepresentativeMargins=Vertegenwoordiger marges +UserMargins=User margins ProductService=Trainning of Dienst AllProducts=Alle Trainingen en Diensten ChooseProduct/Service=Kies Training of Dienst diff --git a/htdocs/langs/nl_NL/members.lang b/htdocs/langs/nl_NL/members.lang index 3e29b8dd217..4b290bdb74c 100644 --- a/htdocs/langs/nl_NL/members.lang +++ b/htdocs/langs/nl_NL/members.lang @@ -85,7 +85,7 @@ SubscriptionLateShort=Laat SubscriptionNotReceivedShort=Nooit ontvangen ListOfSubscriptions=Abonnementenlijst SendCardByMail=Stuur kaart per e-mail -AddMember=Create member +AddMember=Creeer lid NoTypeDefinedGoToSetup=Geen lidtypes ingesteld. Ga naar Home->Setup->Ledentypes NewMemberType=Nieuw lidtype WelcomeEMail=Welkomst e-mail @@ -125,7 +125,7 @@ Date=Datum DateAndTime=Datum en tijd PublicMemberCard=Publieke lidmaatschapskaart MemberNotOrNoMoreExpectedToSubscribe=Lid niet geabonneerd of niet langer verwacht te abonneren -AddSubscription=Create subscription +AddSubscription=Creëer abonnement ShowSubscription=Toon abonnement MemberModifiedInDolibarr=Lid gewijzigd in Dolibarr SendAnEMailToMember=Stuur een informatieve e-mail naar lid @@ -203,4 +203,4 @@ MembersByNature=Leden volgens aard VATToUseForSubscriptions=BTW tarief voor inschrijvingen NoVatOnSubscription=Geen BTW bij inschrijving MEMBER_PAYONLINE_SENDEMAIL=E-mail om te verwittigen dat Dolibarr een bericht ontvangen heeft voor een bevestigde betaling van een inschrijving -ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Product used for subscription line into invoice: %s +ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Product gebruikt voor abbonement regel in factuur: %s diff --git a/htdocs/langs/nl_NL/orders.lang b/htdocs/langs/nl_NL/orders.lang index a1af668f2a6..4d220f6bb16 100644 --- a/htdocs/langs/nl_NL/orders.lang +++ b/htdocs/langs/nl_NL/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Leveranciersopdracht SuppliersOrders=Leveranciersopdrachten SuppliersOrdersRunning=Huidige leveranciersopdrachten CustomerOrder=Afnemersopdracht -CustomersOrders=Afnemersopdrachten +CustomersOrders=Customers orders CustomersOrdersRunning=Lopende afnemersopdrachten CustomersOrdersAndOrdersLines=Afnemersopdrachten en opdrachtregels -OrdersToValid=Te valideren afnemersopdrachten -OrdersToBill=Te factureren afnemersopdrachten -OrdersInProcess=Afnemersopdrachten in behandeling -OrdersToProcess=Te verwerken afnemersopdrachten +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Te verwerken leveranciersopdrachten StatusOrderCanceledShort=Geannuleerd StatusOrderDraftShort=Concept StatusOrderValidatedShort=Gevalideerd StatusOrderSentShort=In proces StatusOrderSent=In verzending -StatusOrderOnProcessShort=Ontvangst +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Verwerkt StatusOrderToBillShort=Te factureren StatusOrderToBill2Short=Te factureren @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Alles ontvangen StatusOrderCanceled=Geannuleerd StatusOrderDraft=Concept (moet worden gevalideerd) StatusOrderValidated=Gevalideerd -StatusOrderOnProcess=Wacht op ontvangst +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Verwerkt StatusOrderToBill=Te factureren StatusOrderToBill2=Te factureren @@ -50,6 +50,8 @@ StatusOrderRefused=Geweigerd StatusOrderReceivedPartially=Gedeeltelijk ontvangen StatusOrderReceivedAll=Alles ontvangen ShippingExist=Een zending bestaat +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Concept of nog niet goedgekeurd DraftOrWaitingShipped=Concept of nog niet verzonden MenuOrdersToBill=Te factureren opdrachten diff --git a/htdocs/langs/nl_NL/productbatch.lang b/htdocs/langs/nl_NL/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/nl_NL/productbatch.lang +++ b/htdocs/langs/nl_NL/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/nl_NL/products.lang b/htdocs/langs/nl_NL/products.lang index 0902653a39e..bdfc6083c66 100644 --- a/htdocs/langs/nl_NL/products.lang +++ b/htdocs/langs/nl_NL/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Verkoopcode ProductOrService=Product of Dienst ProductsAndServices=Producten en Diensten ProductsOrServices=Producten of diensten -ProductsAndServicesOnSell=Beschikbare producten en diensten -ProductsAndServicesNotOnSell=Vervallen Producten en Diensten +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Producten- en dienstenstatistieken ProductsStatistics=Productenstatistieken -ProductsOnSell=Beschikbare producten -ProductsNotOnSell=Vervallen producten -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Beschikbare diensten -ServicesNotOnSell=Vervallen diensten -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Interne referentie LastRecorded=Laatste geregistreerde verkochte producten / diensten LastRecordedProductsAndServices=Laatste %s geregistreerde producten / diensten @@ -198,7 +198,7 @@ HelpAddThisServiceCard=Optie om een dienst te maken of één te kopieren als het CurrentProductPrice=Huidige prijs AlwaysUseNewPrice=Gebruik altijd huidige product/diensten prijs AlwaysUseFixedPrice=Gebruik vaste prijs -PriceByQuantity=Prijs per aantal +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Aantal bereik ProductsDashboard=Product/dienst samenvatting UpdateOriginalProductLabel=Wijzig oorspronkelijk label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Onvolledige definitie van het type o BarCodeDataForProduct=Barcodegegevens voor product %s : BarCodeDataForThirdparty=Barcodegegevens van derde partij %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/nl_NL/projects.lang b/htdocs/langs/nl_NL/projects.lang index 3485fa3faec..319c71c72dc 100644 --- a/htdocs/langs/nl_NL/projects.lang +++ b/htdocs/langs/nl_NL/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Project Projects=Projecten +ProjectStatus=Project status SharedProject=Iedereen PrivateProject=Contacten van het project MyProjectsDesc=Deze weergave is beperkt tot projecten waarvoor u een contactpersoon bent (ongeacht het type). @@ -11,7 +12,6 @@ ProjectsDesc=Deze weergave toont alle projecten (Uw gebruikersrechten staan het MyTasksDesc=Deze weergave is beperkt tot projecten en taken waarvoor u een contactpersoon bent (ongeacht het type). TasksPublicDesc=Deze weergave toont alle projecten en taken die u mag inzien. TasksDesc=Deze weergave toont alle projecten en taken (Uw gebruikersrechten staan het u toe alles in te zien). -Myprojects=Mijn projecten ProjectsArea=Projectenoverzicht NewProject=Nieuw project AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/nl_NL/sendings.lang b/htdocs/langs/nl_NL/sendings.lang index bf423135d82..b754a4dca1c 100644 --- a/htdocs/langs/nl_NL/sendings.lang +++ b/htdocs/langs/nl_NL/sendings.lang @@ -4,7 +4,8 @@ Sending=Verzending Sendings=Verzendingen Shipment=Verzending Shipments=Verzendingen -Receivings=Ontvangsten +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Zendingenoverzicht ListOfSendings=Verzendlijst SendingMethod=Verzendwijze @@ -14,7 +15,7 @@ SearchASending=Zoek een zending StatisticsOfSendings=Verzendingsstatistieken NbOfSendings=Aantal zendingen NumberOfShipmentsByMonth=Aantal verzendingen per maand -SendingCard=Verzendbon +SendingCard=Shipment card NewSending=Nieuwe verzending CreateASending=Creëer een verzending CreateSending=Creëer verzending @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Geannuleerd StatusSendingDraftShort=Concept StatusSendingValidatedShort=Gevalideerd StatusSendingProcessedShort=Verwerkt -SendingSheet=Verzendbrief +SendingSheet=Shipment sheet Carriers=Vervoerders Carrier=Vervoerder CarriersArea=verzendersoverzicht @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Acions op verzendkosten LinkToTrackYourPackage=Link naar uw pakket ShipmentCreationIsDoneFromOrder=Op dit moment, is oprichting van een nieuwe zending gedaan van de volgorde kaart. -RelatedShippings=Aanverwante verzendingen +RelatedShippings=Related shipments ShipmentLine=Verzendingslijn CarrierList=Lijst van transporteurs -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Afhalen door de afnemer diff --git a/htdocs/langs/nl_NL/stocks.lang b/htdocs/langs/nl_NL/stocks.lang index f72c7aa88a7..d8019eb9d0d 100644 --- a/htdocs/langs/nl_NL/stocks.lang +++ b/htdocs/langs/nl_NL/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=Waarde EnhancedValueOfWarehouses=Voorraadwaardering UserWarehouseAutoCreate=Creëer automatisch een magazijn bij het aanmaken van een gebruiker QtyDispatched=Hoeveelheid verzonden +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Voorraadverzending RuleForStockManagementDecrease=Regel voor voorraadbeheerafname RuleForStockManagementIncrease=Regel voor voorraadbeheertoename @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Verhoog de echte voorraad na het valideren van leverancie ReStockOnDispatchOrder=Verhoog de echte voorraad na het handmatig verzenden naar magazijnen, nadat de leveranciersopdracht ontvangst ReStockOnDeleteInvoice=Verhoog echte voorraad bij verwijderen factuur OrderStatusNotReadyToDispatch=Opdracht heeft nog geen, of niet langer, een status die het verzenden van producten naar een magazijn toestaat. -StockDiffPhysicTeoric=Reden voor het verschil tussen de feitelijke en theoretische voorraad +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Geen vooraf ingestelde producten voor dit object. Daarom is verzending in voorraad niet vereist. DispatchVerb=Verzending StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Globale voorraadbeweging SelectProductInAndOutWareHouse=Kies een product, een aantal, een van-magazijn, een naar-magazijn, en klik "%s". Als alle nodige bewegingen zijn aangeduid, klik op "%s". RecordMovement=Kaart overbrengen -ReceivingForSameOrder=Ontvangsten voor dit order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Geregistreerde voorraadbewegingen RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/nl_NL/suppliers.lang b/htdocs/langs/nl_NL/suppliers.lang index b7608db10a3..d468bff689e 100644 --- a/htdocs/langs/nl_NL/suppliers.lang +++ b/htdocs/langs/nl_NL/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Leveranciers Supplier=Leverancier -AddSupplier=Voeg een leverancier toe +AddSupplier=Create a supplier SupplierRemoved=Leverancier verwijderd SuppliersInvoice=Leveranciersfactuur NewSupplier=Nieuwe leverancier @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Geen of bundel (batch) %s niet recentelijk gedraa SentToSuppliers=Stuur naar leveranciers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/nl_NL/withdrawals.lang b/htdocs/langs/nl_NL/withdrawals.lang index 191a09d27f3..24019c213e4 100644 --- a/htdocs/langs/nl_NL/withdrawals.lang +++ b/htdocs/langs/nl_NL/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Crediteer op WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Toon intrekking IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Echter, als factuur is ten minste een terugtrekking betaling nog niet verwerkt, zal het niet worden ingesteld als betaald om tot terugtrekking te beheren voor. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/nl_NL/workflow.lang b/htdocs/langs/nl_NL/workflow.lang index 450e2d7e93c..a69c45d685d 100644 --- a/htdocs/langs/nl_NL/workflow.lang +++ b/htdocs/langs/nl_NL/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow module setup -WorkflowDesc=Deze module is designed om het gedrag van automatische acties die passen in de applicatie. Is standaard workflow geopend (je ding in volgorde die u wilt). Je kan ingeschakeld automatische acties die u interessant inch +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Er is geen workflow die u kunt aanpassen aan je module hebt geactiveerd. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatisch een bestelling van de klant na een commerciële voorstel is ondertekend descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Automatisch een factuur klant na een commerciële voorstel is ondertekend descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Automatisch een factuur nadat de klant een contract is gevalideerd descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Automatisch een factuur klant na een bestelling van de klant wordt gesloten -# descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/pl_PL/accountancy.lang b/htdocs/langs/pl_PL/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/pl_PL/accountancy.lang +++ b/htdocs/langs/pl_PL/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/pl_PL/admin.lang b/htdocs/langs/pl_PL/admin.lang index 9dd96d2668b..05f40c55bd3 100644 --- a/htdocs/langs/pl_PL/admin.lang +++ b/htdocs/langs/pl_PL/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Nie używaj w produkcji ThisIsProcessToFollow=Jest to proces konfiguracji do: StepNb=Krok %s FindPackageFromWebSite=Znaleźć pakiet, który zapewnia funkcję chcesz (np. na oficjalnej stronie internetowej %s). -DownloadPackageFromWebSite=Pobierz pakiet z internetowej witryny %s. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Rozpakuj pakiet plików do katalogu głównego Dolibarr %s SetupIsReadyForUse=Instalacja jest zakończona i Dolibarr jest gotowy do użycia z tym nowym elementem. NotExistsDirect=Alternatywna ścieżka root nie została zdefiniowana.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Wybierz moduł: CurrentVersion=Dolibarr aktualnej wersji CallUpdatePage=Wejdź na stronę aktualizacji struktury bazy danych i danych %s. LastStableVersion=Ostatnia wersja stabilna +UpdateServerOffline=Update server offline GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=Wszystkie inne znaki w masce pozostaną nienaruszone.
Spacje są niedozwolone.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Wybierz z tabeli ExtrafieldSeparator=Separator ExtrafieldCheckBox=Pole wyboru ExtrafieldRadio=Przełącznik +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Eksport interwencji Permission71=Czytaj użytkowników Permission72=Tworzenie / modyfikować użytkowników Permission74=Usuwanie użytkowników -Permission75=Konfiguracja typów i atrybutów dla członków +Permission75=Setup types of membership Permission76=Eksport danych Permission78=Czytaj subskrypcje Permission79=Tworzenie / zmodyfikować subskrypcje @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Usuń sendings Permission111=Czytaj finansowych Permission112=Tworzenie / modyfikować / usuwać i porównać transakcji -Permission113=Konfiguracja kont finansowych (tworzenie, zarządzanie kategoriami) -Permission114=Skonsoliduj transakcji +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Transakcji eksportowych i konta Permission116=Przelewy pomiędzy rachunkami Permission117=Zarządzanie czeków wysyłkowe @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Ustawienie sendings emailem SendmailOptionNotComplete=Uwaga, w niektórych systemach Linux, aby wysłać e-mail z poczty elektronicznej, konfiguracja wykonanie sendmail musi conatins opcja-ba (mail.force_extra_parameters parametr w pliku php.ini). Jeśli nigdy niektórzy odbiorcy otrzymywać e-maile, spróbuj edytować ten parametr PHP z mail.force_extra_parameters =-ba). PathToDocuments=Ścieżka do dokumentów PathDirectory=Katalog -SendmailOptionMayHurtBuggedMTA=Funkcja wysyłania wiadomości za pomocą metody "PHP mail bezpośrednie" wygeneruje wiadomość e-mail, które mogą nie być prawidłowo przetwarzany przez niektórych serwerach odbieraniem poczty. Powoduje to, że niektóre maile nie mogą być odczytywane przez ludzi hostowanych przez thoose podsłuchu platform. Jest tak w przypadku niektórych dostawców internetowych (np.: Orange w Francji). To nie jest problem w Dolibarr ani w PHP, ale na otrzymaniu serwera poczty jest. Można jednak dodać MAIN_FIX_FOR_BUGGED_MTA opcji do 1 w konfiguracji - inne zmiany Dolibarr aby tego uniknąć. Jednak może wystąpić problem z innych serwerów, które ścisłego przestrzegania standardowych SMTP. Innym rozwiązaniem (zaleciły) jest użycie metody "SMTP gniazdo biblioteki", który ma wady. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Aby zatwierdzić wniosek, aby po bliższa, umożliwi FreeLegalTextOnOrders=Wolny tekst na zamówienie WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Kliknij, aby Dial konfiguracji modułu ClickToDialUrlDesc=Url called when a click on phone picto is done. Dans l'url, vous pouvez utiliser les balises
__PHONETO__ qui sera remplacé par le téléphone de l'appelé
__PHONEFROM__ qui sera remplacé par le téléphone de l'appelant (le votre)
__LOGIN__ qui sera remplacé par votre login clicktodial (défini sur votre fiche utilisateur)
__PASS__ qui sera remplacé par votre mot de passe clicktodial (défini sur votre fiche utilisateur). @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=Moduł konfiguracji e-maila MailingEMailFrom=Nadawca wiadomości e-mail (Z) na e-maile wysyłane przez e-maila modułu MailingEMailError=Powrót e-mail (Errors-do) na e-maile z błędami +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Nadawca wiadomości e-mail (Z) na e-maile wysyłane do powiadomień @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Wysyłanie konfiguracji modułu SendingsReceiptModel=Wysyłanie otrzymania modelu SendingsNumberingModules=Sendings numerowania modułów -SendingsAbility=Wsparcie dla klientów sendings arkuszy dostaw +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=W większości przypadków, sendings wpływy są wykorzystywane zarówno jako karty klienta dostaw (wykaz produktów wysłać) i arkusze, które są recevied i podpisana przez klienta. Więc produktu dostaw wpływów jest powielony funkcji i rzadko jest włączony. -FreeLegalTextOnShippings=Dowolny tekst na shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Produkty dostaw otrzymania numeracji modułu DeliveryOrderModel=Produkty dostaw otrzymania modelu @@ -1414,7 +1420,7 @@ AdvancedEditor=Zaawansowany edytor ActivateFCKeditor=Uaktywnij FCKeditor za: FCKeditorForCompany=WYSIWIG tworzenie / edycja spółek opis i notatki FCKeditorForProduct=WYSIWIG tworzenie / edycja produktów / usług "opis i notatki -FCKeditorForProductDetails=WYSIWIG tworzenie / edycja szczegółów linii produktów dla wszystkich podmiotów (wnioski, zamówienia, faktury, itp. ..)
Ostrzeżenie: Użycie tej opcji nie jest poważnie zaleciły, ponieważ może powodować problemy ze znaków specjalnych i strona w trakcie budowy formatowania plików PDF. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG tworzenie / edycja wiadomości FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/pl_PL/agenda.lang b/htdocs/langs/pl_PL/agenda.lang index 35b55585299..58e41af52ac 100644 --- a/htdocs/langs/pl_PL/agenda.lang +++ b/htdocs/langs/pl_PL/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Zamówienie %s Klienta wysłane e-mailem InvoiceSentByEMail=Faktura %s wysłana e-mailem SupplierOrderSentByEMail=Zamówienie %s wysłane do dostawcy e-mailem SupplierInvoiceSentByEMail=Faktura %s wysłana do dostawcy e-mailem -ShippingSentByEMail=Informacje o dostawie %s wysłane e-mailem -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Stworzono kontrahenta DateActionPlannedStart= Planowana data rozpoczęcia DateActionPlannedEnd= Planowana data zakończenia @@ -68,7 +69,7 @@ DateActionDoneEnd= Rzeczywista data zakończenia DateActionStart= Data rozpoczęcia DateActionEnd= Data zakończenia AgendaUrlOptions1=Możesz także dodać następujące parametry do filtr wyjściowy: -AgendaUrlOptions2=login= %s, aby ograniczyć wyjście do działań stworzonych lub przypisanych do użytkownika %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=%s, aby ograniczyć wyjścia do działań przypisanych do użytkownika %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/pl_PL/banks.lang b/htdocs/langs/pl_PL/banks.lang index f19fddffc3f..612aab42806 100644 --- a/htdocs/langs/pl_PL/banks.lang +++ b/htdocs/langs/pl_PL/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Konto FinancialAccounts=Konta BankAccount=Konto bankowe BankAccounts=Konta bankowe +ShowAccount=Show Account AccountRef=Rachunek finansowy ref AccountLabel=Etykieta rachunku finansowego CashAccount=Rachunek gotówkowy diff --git a/htdocs/langs/pl_PL/bills.lang b/htdocs/langs/pl_PL/bills.lang index cf049d56d8e..9e72e149a44 100644 --- a/htdocs/langs/pl_PL/bills.lang +++ b/htdocs/langs/pl_PL/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Faktura Bills=Faktury -BillsCustomers=Faktury Klientów -BillsCustomer=Klienta faktura -BillsSuppliers=Dostawców faktur -BillsCustomersUnpaid=Należne wpłaty klientów faktury +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Należne wpłaty klientów faktur dla %s BillsSuppliersUnpaid=Należne wpłaty dostawców faktur BillsSuppliersUnpaidForCompany=Nieodpłatnej dostawcy faktury za %s BillsLate=Opóźnienia w płatnościach -BillsStatistics=Klientów faktury statystyki -BillsStatisticsSuppliers=Dostawców faktur statystyki +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Wyłączone, ponieważ nie mogą być skasowane InvoiceStandard=Standard faktury InvoiceStandardAsk=Standard faktury @@ -348,6 +348,7 @@ ChequeNumber=Czek N ChequeOrTransferNumber=Cheque / Transferu N ChequeMaker=Sprawdź nadajnikiem ChequeBank=Bank czek +CheckBank=Check NetToBePaid=Netto do wypłaty PhoneNumber=Tel FullPhoneNumber=Telefon @@ -388,7 +389,7 @@ DisabledBecausePayments=Nie możliwe, ponieważ istnieją pewne płatności CantRemovePaymentWithOneInvoicePaid=Nie można usunąć płatności, ponieważ istnieje przynajmniej na fakturze sklasyfikowane płatne ExpectedToPay=Oczekuje płatności PayedByThisPayment=Wypłacana przez płatność -ClosePaidInvoicesAutomatically=Klasyfikowanie "Opłacone" wszystkie standardy lub fakturach zastępczych entirely zapłaci. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=Wszystko faktura bez pozostawać do zapłaty zostanie automatycznie zamknięta do statusu "płatny". ToMakePayment=Pay @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Przedstawiciela w ślad za fa TypeContact_invoice_supplier_external_BILLING=kontakt fakturze dostawcy TypeContact_invoice_supplier_external_SHIPPING=kontakt koszty dostawcy TypeContact_invoice_supplier_external_SERVICE=Dostawca usługi kontakt +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/pl_PL/compta.lang b/htdocs/langs/pl_PL/compta.lang index 32f6c94a9ef..75f3244f729 100644 --- a/htdocs/langs/pl_PL/compta.lang +++ b/htdocs/langs/pl_PL/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Obrót PaymentsNotLinkedToInvoice=Płatności związane z wszelkich faktur, więc nie są związane z jakąkolwiek osobą trzecią PaymentsNotLinkedToUser=Płatności związane z dowolnego użytkownika Profit=Zysk +AccountingResult=Accounting result Balance=Saldo Debit=Rozchody Credit=Kredyt diff --git a/htdocs/langs/pl_PL/cron.lang b/htdocs/langs/pl_PL/cron.lang index 69d99203c3e..a1a4ba56588 100644 --- a/htdocs/langs/pl_PL/cron.lang +++ b/htdocs/langs/pl_PL/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/pl_PL/ecm.lang b/htdocs/langs/pl_PL/ecm.lang index 0512198ed15..45b1445b898 100644 --- a/htdocs/langs/pl_PL/ecm.lang +++ b/htdocs/langs/pl_PL/ecm.lang @@ -23,10 +23,10 @@ ECMNewDocument=Nowy dokument ECMCreationDate=Data utworzenia ECMNbOfFilesInDir=Liczba plików w katalogu ECMNbOfSubDir=Liczba pod-katalogi -# ECMNbOfFilesInSubDir=Number of files in sub-directories +ECMNbOfFilesInSubDir=Number of files in sub-directories ECMCreationUser=Twórca -# ECMArea=EDM area -# ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. +ECMArea=EDM area +ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. ECMAreaDesc2=* Automatyczne katalogi wypełnione automatycznie podczas dodawania dokumentów z karty elementu.
* Podręcznik katalogów mogą być wykorzystane do zapisywania dokumentów nie są powiązane z konkretnym elementem. ECMSectionWasRemoved=Katalog %s została usunięta. ECMDocumentsSection=Dokument katalogu @@ -35,14 +35,16 @@ ECMSearchByEntity=Szukaj wg obiektu ECMSectionOfDocuments=Katalogi dokumentów ECMTypeManual=Podręcznik ECMTypeAuto=Automatyczne -# ECMDocsBySocialContributions=Documents linked to social contributions +ECMDocsBySocialContributions=Documents linked to social contributions ECMDocsByThirdParties=Dokumenty związane z trzecim ECMDocsByProposals=Dokumenty związane z wnioskami ECMDocsByOrders=Dokumenty związane z zamówień klientów ECMDocsByContracts=Dokumenty związane z umowami ECMDocsByInvoices=Dokumenty związane z odbiorców faktur ECMDocsByProducts=Dokumenty związane z produktami -# ECMDocsByProjects=Documents linked to projects +ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=Nr katalogu stworzonym ShowECMSection=Pokaż katalog DeleteSection=Usuwanie katalogu @@ -51,5 +53,5 @@ ECMDirectoryForFiles=Względna katalog plików CannotRemoveDirectoryContainsFiles=Usuwane nie możliwe, ponieważ zawiera ona pewne pliki ECMFileManager=Menedżer plików ECMSelectASection=Wybierz katalog na lewym drzewa ... -# DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. +DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. diff --git a/htdocs/langs/pl_PL/errors.lang b/htdocs/langs/pl_PL/errors.lang index 43efc8be99c..a97ed635e4d 100644 --- a/htdocs/langs/pl_PL/errors.lang +++ b/htdocs/langs/pl_PL/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Instalacja modułu wygląda na uncomplete. Idź na i ErrorBadMask=Błąd na masce ErrorBadMaskFailedToLocatePosOfSequence=Błąd, maska ​​bez kolejnego numeru ErrorBadMaskBadRazMonth=Błąd, zła wartość zresetowane +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Błąd. Wybierz co najmniej jeden wpis. ErrorProductWithRefNotExist=Produkt z '%s "odniesienia nie istnieje ErrorDeleteNotPossibleLineIsConsolidated=Usuń nie możliwe, ponieważ zapis jest związany z transation bankowego, który jest conciliated @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/pl_PL/install.lang b/htdocs/langs/pl_PL/install.lang index 6c409971889..474e25cf13d 100644 --- a/htdocs/langs/pl_PL/install.lang +++ b/htdocs/langs/pl_PL/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migracja zakończona LastStepDesc=Ostatni krok: Zdefiniuj tutaj login i hasło masz zamiar użyć do połączenia z oprogramowaniem. Nie trać tego, ponieważ jest to konto do administrowania wszystkimi innymi. ActivateModule=Aktywuj moduł %s ShowEditTechnicalParameters=Kliknij tutaj, aby pokazać / edytować zaawansowane parametry (tryb ekspert) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Oppdater tid i sekunder MigrationActioncommElement=Aktualizacja danych na temat działań MigrationPaymentMode=Migracji danych w trybie płatności MigrationCategorieAssociation=Migracja kategorii +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/pl_PL/languages.lang b/htdocs/langs/pl_PL/languages.lang index 10aba092a4b..4ab987ec5fb 100644 --- a/htdocs/langs/pl_PL/languages.lang +++ b/htdocs/langs/pl_PL/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Niemiecki (Austria) Language_de_CH=German (Switzerland) Language_el_GR=Grecki Language_en_AU=Angielski (Australia) +Language_en_CA=English (Canada) Language_en_GB=Angielski (Zjednoczone Królestwo) Language_en_IN=Angielski (Indie) Language_en_NZ=Angielski (Nowa Zelandia) diff --git a/htdocs/langs/pl_PL/main.lang b/htdocs/langs/pl_PL/main.lang index 49f64e5b926..ddad87dc664 100644 --- a/htdocs/langs/pl_PL/main.lang +++ b/htdocs/langs/pl_PL/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd-MM-yyyy FormatDateShortJavaInput=dd-MM-yyyy FormatDateShortJQuery=dd-mm-yy FormatDateShortJQueryInput=dd-mm-yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Błąd, nie udało się zapisać pliku. SetDate=Set date SelectDate=Select a date SeeAlso=See also %s +SeeHere=See here BackgroundColorByDefault=domyślny kolor tła FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=Użytkownik Users=Użytkownicy Group=Grupa Groups=Grupy +NoUserGroupDefined=No user group defined Password=Hasło PasswordRetype=Powtórz hasło NoteSomeFeaturesAreDisabled=Należy pamiętać, że wiele funkcji / modułów są wyłączone w tej demonstracji. @@ -258,6 +261,7 @@ days=dzień Hours=Godziny Minutes=Protokoły Seconds=Sekund +Weeks=Weeks Today=Dzisiaj Yesterday=Wczoraj Tomorrow=Jutro @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Poniedziałek Tuesday=Wtorek diff --git a/htdocs/langs/pl_PL/margins.lang b/htdocs/langs/pl_PL/margins.lang index f8b405f2218..d6822f8b2c9 100644 --- a/htdocs/langs/pl_PL/margins.lang +++ b/htdocs/langs/pl_PL/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Produkt lub usługa AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/pl_PL/orders.lang b/htdocs/langs/pl_PL/orders.lang index a1caf98c9dd..235096ce352 100644 --- a/htdocs/langs/pl_PL/orders.lang +++ b/htdocs/langs/pl_PL/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Dostawca celu SuppliersOrders=Dostawcy zleceń SuppliersOrdersRunning=Aktualna dostawców zleceń CustomerOrder=Zamówieniem -CustomersOrders=Klienci zleceń +CustomersOrders=Customers orders CustomersOrdersRunning=Aktualna klientów zleceń CustomersOrdersAndOrdersLines=Zamówień i zleceń linii -OrdersToValid=Zamówienia do ważnych -OrdersToBill=Zamówienia na rachunku -OrdersInProcess=Zamówienia w procesie -OrdersToProcess=Zamówienia na proces +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Dostawcy zamówienia na przetwarzanie StatusOrderCanceledShort=Odwołany StatusOrderDraftShort=Szkic StatusOrderValidatedShort=Zatwierdzona StatusOrderSentShort=W procesie StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Na proces +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Przetworzone StatusOrderToBillShort=Do rachunku StatusOrderToBill2Short=Do rachunku @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Wszystko otrzymała StatusOrderCanceled=Odwołany StatusOrderDraft=Projekt (musi zostać zatwierdzone) StatusOrderValidated=Zatwierdzona -StatusOrderOnProcess=Na proces +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Przetworzone StatusOrderToBill=Do rachunku StatusOrderToBill2=Do rachunku @@ -50,6 +50,8 @@ StatusOrderRefused=Odmowa StatusOrderReceivedPartially=Częściowo otrzymała StatusOrderReceivedAll=Wszystko otrzymała ShippingExist=Przesyłka istnieje +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Projekt nie został jeszcze zatwierdzony lub sortowane DraftOrWaitingShipped=Projekt lub zatwierdzonych jeszcze nie wysłane MenuOrdersToBill=Zamówienia na rachunku diff --git a/htdocs/langs/pl_PL/productbatch.lang b/htdocs/langs/pl_PL/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/pl_PL/productbatch.lang +++ b/htdocs/langs/pl_PL/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/pl_PL/products.lang b/htdocs/langs/pl_PL/products.lang index a334b7f2828..3db6a921c2d 100644 --- a/htdocs/langs/pl_PL/products.lang +++ b/htdocs/langs/pl_PL/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Kod księgowy (sprzedaż) ProductOrService=Produkt lub usługa ProductsAndServices=Produkty i usługi ProductsOrServices=Produkty lub Usługi -ProductsAndServicesOnSell=Dostępne produkty i usługi -ProductsAndServicesNotOnSell=Produkty i usługi nieaktualne +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Statystyki produktów i usług ProductsStatistics=Statystyki produktów -ProductsOnSell=Produkty dostępne -ProductsNotOnSell=Produkty nieaktualne -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Usługi dostępne -ServicesNotOnSell=Usługi nieaktualne -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Wewnętrzny nr referencyjny LastRecorded=Ostatnie produkty / usługi na sprzedaż rejestrowana LastRecordedProductsAndServices=Ostatnie %s zarejestrowanych produktów / usług @@ -198,7 +198,7 @@ HelpAddThisServiceCard=Ta opcja pozwala na tworzenie lub klonowanie usługi, je CurrentProductPrice=Aktualna cena AlwaysUseNewPrice=Zawsze używaj aktualnej ceny produktu / usługi AlwaysUseFixedPrice=Zastosuj stałą cenę -PriceByQuantity=Cena w zależności od ilości +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Zakres ilości ProductsDashboard=Podsumowanie Produkty / Usługi UpdateOriginalProductLabel=Modyfikacja oryginalnej etykiety @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/pl_PL/projects.lang b/htdocs/langs/pl_PL/projects.lang index 9acde90020b..08e1f21fcd9 100644 --- a/htdocs/langs/pl_PL/projects.lang +++ b/htdocs/langs/pl_PL/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Project Projects=Projekty +ProjectStatus=Project status SharedProject=Współużytkowane projektu PrivateProject=Kontakt z projektu MyProjectsDesc=Ten widok jest ograniczony do projektów jesteś kontaktu (cokolwiek to typ). @@ -11,7 +12,6 @@ ProjectsDesc=Ten widok przedstawia wszystkie projekty (uprawnień użytkownika p MyTasksDesc=Ten widok jest ograniczony do projektów i zadań, które są do kontaktu (cokolwiek to typ). TasksPublicDesc=Ten widok przedstawia wszystkich projektów i zadań, które możesz przeczytać. TasksDesc=Ten widok przedstawia wszystkich projektów i zadań (uprawnień użytkownika przyznać uprawnienia do wyświetlania wszystko). -Myprojects=Moje projekty ProjectsArea=Projekty obszaru NewProject=Nowy projekt AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/pl_PL/sendings.lang b/htdocs/langs/pl_PL/sendings.lang index 3ff7b8f5fb7..a93c41f5c23 100644 --- a/htdocs/langs/pl_PL/sendings.lang +++ b/htdocs/langs/pl_PL/sendings.lang @@ -4,7 +4,8 @@ Sending=Wysyłanie Sendings=Sendings Shipment=Wysyłanie Shipments=Wysyłek -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Sendings obszarze ListOfSendings=Lista sendings SendingMethod=Wysyłanie metody @@ -14,7 +15,7 @@ SearchASending=Wyszukaj wysyłanie StatisticsOfSendings=Statystyka sendings NbOfSendings=Liczba sendings NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Wysyłanie kart +SendingCard=Shipment card NewSending=Nowe wysyłanie CreateASending=Utwórz wysyłanie CreateSending=Utwórz wysyłanie @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Odwołany StatusSendingDraftShort=Szkic StatusSendingValidatedShort=Zatwierdzona StatusSendingProcessedShort=Przetworzony -SendingSheet=Wysyłanie arkusza +SendingSheet=Shipment sheet Carriers=Przewoźnicy Carrier=Przewoźnik CarriersArea=Przewoźnicy obszarze @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Wydarzenia na dostawy LinkToTrackYourPackage=Link do strony śledzenia paczki ShipmentCreationIsDoneFromOrder=Na razie utworzenie nowego przesyłki odbywa się z karty zamówienia. -RelatedShippings=Related shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Catch przez klientów diff --git a/htdocs/langs/pl_PL/stocks.lang b/htdocs/langs/pl_PL/stocks.lang index 86f5d735d69..e1d1314519c 100644 --- a/htdocs/langs/pl_PL/stocks.lang +++ b/htdocs/langs/pl_PL/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Magazyny wartości UserWarehouseAutoCreate=Tworzenie stanie automatycznie podczas tworzenia użytkownika QtyDispatched=Ilość wysyłanych +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Postanowienie wysyłkowe RuleForStockManagementDecrease=Artykuł na zarządzanie zapasami spadek RuleForStockManagementIncrease=Artykuł na zarządzanie zapasami wzrost @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Wzrost realnego zasobów zamówień notatek ReStockOnDispatchOrder=Wzrost rzeczywisty stan zapasów w magazynach ręcznego wysyłki, po otrzymaniu zamówienia dostawca ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=Zamówienie nie jest jeszcze lub nie więcej status, który umożliwia wysyłanie produktów w magazynach czas. -StockDiffPhysicTeoric=Powód różnica stanie fizycznym i teoretycznego +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Nie gotowych produktów dla tego obiektu. Więc nie w czas wysyłki jest wymagane. DispatchVerb=Wysyłka StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/pl_PL/suppliers.lang b/htdocs/langs/pl_PL/suppliers.lang index 2f6cdd78859..0ae0e045149 100644 --- a/htdocs/langs/pl_PL/suppliers.lang +++ b/htdocs/langs/pl_PL/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Dostawcy Supplier=Dostawca -AddSupplier=Dodaj dostawcę +AddSupplier=Create a supplier SupplierRemoved=Dostawca usunięty SuppliersInvoice=Faktury dostawców NewSupplier=Nowy dostawca @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Brak lub partii %s nie prowadził niedawno SentToSuppliers=Wysyłane do dostawców ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/pl_PL/withdrawals.lang b/htdocs/langs/pl_PL/withdrawals.lang index f4a7f570e6b..d1cb2e1ebb1 100644 --- a/htdocs/langs/pl_PL/withdrawals.lang +++ b/htdocs/langs/pl_PL/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Kredyt na WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Pokaż Wypłata IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Jeśli jednak faktura nie co najmniej jeden wypłaty płatności jeszcze przetworzone, nie będzie ustawiony jako zapłaci, aby umożliwić zarządzanie wycofanie wcześniej. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/pl_PL/workflow.lang b/htdocs/langs/pl_PL/workflow.lang index 5c0220ab418..62b7ba48b97 100644 --- a/htdocs/langs/pl_PL/workflow.lang +++ b/htdocs/langs/pl_PL/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow konfiguracji modułu -WorkflowDesc=Moduł ten jest Zaprojektowane aby zmodyfikować zachowanie automatycznych działań w aplikacji. Domyślnie przepływ pracy jest otwarty (można zrobić coś w celu chcesz). Można włączyć automatyczne akcje, które są interesujące w. +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Nie ma przepływu pracy można modyfikować modułu został uaktywniony. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Tworzenie zlecenia klienta automatycznie po handlowego wniosek jest podpisany descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Tworzenie faktury klienta automatycznie po handlowego wniosek jest podpisany descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Tworzenie faktury klienta automatycznie po zatwierdzeniu umowy descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Tworzenie faktury klienta automatycznie po zamówienie klienta jest zamknięty -# descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/pt_PT/accountancy.lang b/htdocs/langs/pt_PT/accountancy.lang index 91d161ef1c6..05a0f457b36 100644 --- a/htdocs/langs/pt_PT/accountancy.lang +++ b/htdocs/langs/pt_PT/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=A configuração do módulo especialista em contabilidade Journaux=Diarios JournalFinancial=Diarios financeiros Exports=Exportados +Export=Export Modelcsv=Modelo de exportação +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Selecione um modelo de exportação Modelcsv_normal=Exportação classica Modelcsv_CEGID=Exportação em direção Especialista CEGID @@ -66,7 +68,7 @@ Lineofinvoice=Linha de fatura VentilatedinAccount=Limpo com succeso na conta de contabilidade NotVentilatedinAccount=Por limpar na conta de contabilidade -ACCOUNTING_SEPARATORCSV=Separador CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Número de elementos a ser mostrado por página (máxima recomendada: 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Comece a classificação das páginas repartição "Tem que repartir" pelos elementos mais recentes diff --git a/htdocs/langs/pt_PT/admin.lang b/htdocs/langs/pt_PT/admin.lang index 9bd8dc355ed..306b940d879 100644 --- a/htdocs/langs/pt_PT/admin.lang +++ b/htdocs/langs/pt_PT/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Não utilizar em ambiente de produção ThisIsProcessToFollow=Procedimento a seguir: StepNb=Passo %s FindPackageFromWebSite=Encontre um pacote que fornece a funcionalidade desejada (por exemplo, %s site oficial). -DownloadPackageFromWebSite=Descarregar o pacote do sitio %s. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Descompactar o pacote na pasta raiz do ERP %s SetupIsReadyForUse=A Instalação está finalizada e o ERP/CRM está disponivel com o novo componente. NotExistsDirect=A diretoria raiz alternativa não está definida.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Seleccione o módulo: CurrentVersion=Versão actual do ERP/CRM CallUpdatePage=Chamar a página de actualização da estrutura da base de dados %s. LastStableVersion=Última Versão estável +UpdateServerOffline=Update server offline GenericMaskCodes=Pode introduzir qualquer máscara numérica. Nesta máscara, pode utilizar as seguintes etiquetas:
{000000} corresponde a um número que se incrementa em cada um de %s. Introduza tantos zeros como longitude que deseja mostrar. O contador completar-se-á a partir de zeros pela esquerda com o fim de ter tantos zeros como a máscara.
{000000+000} Igual que o anterior, com uma compensação correspondente ao número da direita do sinal + aplica-se a partir do primeiro %s.
{000000@x} igual que o anterior, mas o contador restablece-se a zero quando se chega a x meses (x entre 1 e 12). Se esta opção se utiliza e x é de 2 ou superior, então a sequência {yy}{mm} ou {yyyy}{mm} também é necessário.
{dd} días (01 a 31).
{mm} mês (01 a 12).
{yy}, {yyyy} ou {e} ano em 2, 4 ou 1 figura.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=Qualquer outro caractere na máscara fica sem alterações.
Não são permitidos espaços
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Selecionar da tabela ExtrafieldSeparator=Separador ExtrafieldCheckBox=Caixa de verificação ExtrafieldRadio=Botão +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Biblioteca usada para gerar PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Exportar Intervenções Permission71=Consultar Membros Permission72=Criar/Modificar Membros Permission74=Eliminar Membros -Permission75=Configurar tipos e atributos dos Membros +Permission75=Setup types of membership Permission76=Exportar Bolsas Permission78=Consultar honorários Permission79=Criar/Modificar honorários @@ -595,8 +598,8 @@ Permission106=Exportar envios Permission109=Eliminar envios Permission111=Consultar contas financeiras (contas bancarias, caixas) Permission112=Criar/Modificar quantidade/eliminar registos bancarios -Permission113=Configurar contas financeiras (criar, controlar as categorías) -Permission114=Exportar transacções e registos bancarios +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Exportar transacções e extractos Permission116=Captar transferencias entre contas Permission117=Gerir envío de cheques @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Tipo de Terceiros DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Configuração de envios por correio eletrónico SendmailOptionNotComplete=Aviso, em alguns sistemas Linux, para enviar e-mails, a configuração sendmail deve conter a opção ba-(mail.force_extra_parameters parâmetro em seu arquivo php.ini). Se alguns destinatários não receberem e-mails, tente editar este parâmetro PHP com mail.force_extra_parameters PathToDocuments=Caminhos de acesso a documentos PathDirectory=Catálogo -SendmailOptionMayHurtBuggedMTA=Recurso para enviar e-mails utilizando o método " +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuração da tradução TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total de módulos de funcionalidades ativos: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=Corrigir Fuso Horário FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Confirmar o pedido depois de fechar o orçamento, pe FreeLegalTextOnOrders=Texto livre em pedidos WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Configuração do módulo Click To Dial ClickToDialUrlDesc=Efectue uma chamada, fazendo click no icon (URL) do telefone .
a 'url completa da chamada será: URL?login @@ -1392,6 +1397,7 @@ RSSUrlExample=Um feed RSS interessante MailingSetup=configuração do módulo E-Mailing MailingEMailFrom=E-Mail emissor (From) dos correios enviados por E-Mailing MailingEMailError=Retorno EMail (Erros a) para e-mails com erros +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=E-Mail emissor (From) dos correios enviados a traves de Notificações @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Configuração do módulos envíos SendingsReceiptModel=Modelo da ficha de expedição SendingsNumberingModules=Envios módulos numerados -SendingsAbility=Suporte para notas de expedição para as entregas de cliente +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=Na maioria dos casos, as entregas utilizam a nota de entregas ao cliente (lista de produtos a enviar), quando recebido assinam pelo cliente. Portanto, a hora de entregas de produtos é uma operação duplicada sendo rara a vez que é ativada. -FreeLegalTextOnShippings=Texto livre em embarques +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Módulo de numeração dos envios a clientes DeliveryOrderModel=Modelo de ordem de envío @@ -1414,7 +1420,7 @@ AdvancedEditor=Edição avançada ActivateFCKeditor=Activar FCKeditor para : FCKeditorForCompany=Criação/Edição WYSIWIG da descrição e notas dos Terceiros FCKeditorForProduct=Criação/Edição WYSIWIG da descrição e notas dos produtos/serviços -FCKeditorForProductDetails=Criação/Edição WYSIWIG das linhas de detalhe dos produtos (em pedidos, Orçamentos, facturas, etc.) +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= Criação/Edição WYSIWIG dos E-Mails FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/pt_PT/agenda.lang b/htdocs/langs/pt_PT/agenda.lang index 37be1a827f9..74a87737d21 100644 --- a/htdocs/langs/pt_PT/agenda.lang +++ b/htdocs/langs/pt_PT/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Encomenda de cliente %s enviada por email InvoiceSentByEMail=Factura de cliente %s enviada por e-mail SupplierOrderSentByEMail=Encomenda a fornecedor %s enviada por email SupplierInvoiceSentByEMail=Factura de fornecedor %s enviada por e-mail -ShippingSentByEMail=Expedição %s enviada por email -ShippingValidated= Transporte %s validado +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Nova Empresa Adicionada DateActionPlannedStart= Planeada data de início DateActionPlannedEnd= Planeada data de fim @@ -68,7 +69,7 @@ DateActionDoneEnd= Data Real de Fim DateActionStart= Data de Início DateActionEnd= Data Fim AgendaUrlOptions1=Também pode adicionar os seguintes parâmetros de filtro de saída: -AgendaUrlOptions2=login=%spara restringir a produção para acções criadas por, ou afectadas a fazer pelo utilizador %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=%s para restringir a produção para as acções para o utilizador afectado %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/pt_PT/banks.lang b/htdocs/langs/pt_PT/banks.lang index 933eb74ef5f..18e2a01c67f 100644 --- a/htdocs/langs/pt_PT/banks.lang +++ b/htdocs/langs/pt_PT/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Conta FinancialAccounts=Contas BankAccount=Conta bancária BankAccounts=Contas Bancárias +ShowAccount=Show Account AccountRef=Ref. Conta financeira AccountLabel=Etiqueta Conta financeira CashAccount=Conta Caixa/efectivo @@ -28,7 +29,7 @@ EndBankBalance=Saldo Final CurrentBalance=Saldo Actual FutureBalance=Saldo Previsto ShowAllTimeBalance=Mostrar Balanço Desde o Início -AllTime=From start +AllTime=Do início Reconciliation=Conciliação RIB=Conta bancária IBAN=Identificador IBAN @@ -105,7 +106,7 @@ ConciliatedBy=Conciliado por DateConciliating=Data Conciliação BankLineConciliated=Registo conciliado CustomerInvoicePayment=Pagamento de cliente -CustomerInvoicePaymentBack=Customer payment back +CustomerInvoicePaymentBack=Devolução pagamento de cliente SupplierInvoicePayment=Pagamento a fornecedor WithdrawalPayment=Pagamento de retirada SocialContributionPayment=Pagamento carga social @@ -133,7 +134,7 @@ CashBudget=Orçamento de tesouraria PlannedTransactions=Transacções previstas Graph=Gráficos ExportDataset_banque_1=Transacção bancária e extracto -ExportDataset_banque_2=Deposit slip +ExportDataset_banque_2=Comprovativo de depósito TransactionOnTheOtherAccount=Transacção sobre outra Conta TransactionWithOtherAccount=Transferência de Conta PaymentNumberUpdateSucceeded=Número de pagamento modificado @@ -147,14 +148,14 @@ BackToAccount=Voltar à Conta ShowAllAccounts=Mostrar para todas as Contas FutureTransaction=Transacção futura. Não há forma de conciliar. SelectChequeTransactionAndGenerate=Selecione o que pretende incluir no recibo de depósito e clique em "Criar". -InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value (such as, YYYYMM) -EventualyAddCategory=Eventually, specify a category in which to classify the records +InputReceiptNumber=Escolha o extrato bancário relacionadas com a conciliação. Use um valor numérico ordenável (como, YYYYMM) +EventualyAddCategory=Eventualmente, especifique uma categoria que deseja classificar os movimentos ToConciliate=Para conciliar? -ThenCheckLinesAndConciliate=Then, check the lines present in the bank statement and click +ThenCheckLinesAndConciliate=Em seguida, verifique as linhas presentes no extrato bancário e clique BankDashboard=Sumário das contas de banco -DefaultRIB=Default BAN -AllRIB=All BAN -LabelRIB=BAN Label -NoBANRecord=No BAN record -DeleteARib=Delete BAN record -ConfirmDeleteRib=Are you sure you want to delete this BAN record ? +DefaultRIB=BAN Padrão +AllRIB=Todos os BAN +LabelRIB=Etiqueta BAN +NoBANRecord=Nenhum registro de BAN +DeleteARib=Excluir registro BAN +ConfirmDeleteRib=Tem certeza de que deseja excluir este registro BAN? diff --git a/htdocs/langs/pt_PT/bills.lang b/htdocs/langs/pt_PT/bills.lang index 57682ef6df2..be47a167a5e 100644 --- a/htdocs/langs/pt_PT/bills.lang +++ b/htdocs/langs/pt_PT/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Factura Bills=Facturas -BillsCustomers=Facturas de Clientes -BillsCustomer=Fatura do Cliente -BillsSuppliers=Facturas de Fornecedores -BillsCustomersUnpaid=Facturas a Clientes Pendentes de Cobrança +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Facturas a Clientes Pendentes de Cobrança de %s BillsSuppliersUnpaid=Facturas de Fornecedores Pendentes de Pagamento BillsSuppliersUnpaidForCompany=Facturas de fornecedores não remunerado para a %s BillsLate=Os pagamentos em atraso -BillsStatistics=Estatísticas facturas a clientes -BillsStatisticsSuppliers=Estatísticas facturas de Fornecedores +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Desactivada porque não podem ser apagados InvoiceStandard=Factura Standard InvoiceStandardAsk=Factura Standard @@ -348,6 +348,7 @@ ChequeNumber=Cheque nº ChequeOrTransferNumber=Cheque/Transferência nº ChequeMaker=Emissor do cheque ChequeBank=Banco do cheque +CheckBank=Check NetToBePaid=Neto a pagar PhoneNumber=Tel. FullPhoneNumber=telefone @@ -388,7 +389,7 @@ DisabledBecausePayments=Não é possível, pois há alguns pagamentos CantRemovePaymentWithOneInvoicePaid=Não é possível remover o pagamento desde há pelo menos na factura paga classificados ExpectedToPay=Pagamento esperado PayedByThisPayment=Pago por esse pagamento -ClosePaidInvoicesAutomatically=Classificar "Pago" padrão tudo ou facturas de substituição inteiramente pagas. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=Tudo sem nota fiscal continuam a pagar será automaticamente fechada ao status de "payed". ToMakePayment=Pagar @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up s TypeContact_invoice_supplier_external_BILLING=Fornecedor Contactar com factura TypeContact_invoice_supplier_external_SHIPPING=Fornecedor Contactar com transporte TypeContact_invoice_supplier_external_SERVICE=Supplier service contact +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/pt_PT/categories.lang b/htdocs/langs/pt_PT/categories.lang index e0bf9a1007d..92a16ef7f3d 100644 --- a/htdocs/langs/pt_PT/categories.lang +++ b/htdocs/langs/pt_PT/categories.lang @@ -97,16 +97,16 @@ CatCusList=Lista de clientes / perspectiva categorias CatProdList=Lista dos produtos categorias CatMemberList=Categorias Lista de membros CatContactList=Lista de categorias de contato e contato -CatSupLinks=Links between suppliers and categories -CatCusLinks=Links between customers/prospects and categories -CatProdLinks=Links between products/services and categories -CatMemberLinks=Links between members and categories +CatSupLinks=Ligações entre os fornecedores e categorias +CatCusLinks=Ligações entre os clientes/prospetos e categorias +CatProdLinks=Ligações entre produtos/serviços e categorias +CatMemberLinks=Ligações entre os membros e categorias DeleteFromCat=Remover da categoria DeletePicture=Apagar Imagem ConfirmDeletePicture=Confirmar eliminação da imagem? -ExtraFieldsCategories=Complementary attributes +ExtraFieldsCategories=Atributos Complementares CategoriesSetup=Configurar Categorias -CategorieRecursiv=Link with parent category automatically -CategorieRecursivHelp=If activated, product will also linked to parent category when adding into a subcategory -AddProductServiceIntoCategory=Add the following product/service -ShowCategory=Show category +CategorieRecursiv=Ligar automaticamente com a categoria fonte +CategorieRecursivHelp=Se ativado, o produto também irá estar ligado à categoria fonte quando adicionar a uma subcategoria +AddProductServiceIntoCategory=Adicioanr o produto/serviço seguinte +ShowCategory=Mostrar categoria diff --git a/htdocs/langs/pt_PT/compta.lang b/htdocs/langs/pt_PT/compta.lang index e28633c2e24..8098ab7c1d5 100644 --- a/htdocs/langs/pt_PT/compta.lang +++ b/htdocs/langs/pt_PT/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Volume de Negócios PaymentsNotLinkedToInvoice=Pagamentos vinculados a nenhuma factura, sem Terceiro PaymentsNotLinkedToUser=Pagamentos não vinculados a um utilizador Profit=Beneficio +AccountingResult=Accounting result Balance=Saldo Debit=Débito Credit=Crédito diff --git a/htdocs/langs/pt_PT/cron.lang b/htdocs/langs/pt_PT/cron.lang index 7894645a502..d3cf487ddd2 100644 --- a/htdocs/langs/pt_PT/cron.lang +++ b/htdocs/langs/pt_PT/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Tarefas agendadas CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/pt_PT/ecm.lang b/htdocs/langs/pt_PT/ecm.lang index b88e25a0416..2527487d249 100644 --- a/htdocs/langs/pt_PT/ecm.lang +++ b/htdocs/langs/pt_PT/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Documentos associados a contratos ECMDocsByInvoices=Documentos associados a faturas ECMDocsByProducts=Documentos associados a produtos ECMDocsByProjects=Documentos associados a projectos +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=Nenhuma pasta criada ShowECMSection=Mostrar Pasta DeleteSection=Apagar Pasta diff --git a/htdocs/langs/pt_PT/errors.lang b/htdocs/langs/pt_PT/errors.lang index 625f05a06b8..d7d6a8f61f0 100644 --- a/htdocs/langs/pt_PT/errors.lang +++ b/htdocs/langs/pt_PT/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Instalação do módulo parece ser incompleto. Vá e ErrorBadMask=Erro na máscara ErrorBadMaskFailedToLocatePosOfSequence=Máscara de erro, sem número de seqüência ErrorBadMaskBadRazMonth=Erro, o valor de reset ruim +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Erro. Selecione pelo menos uma entrada. ErrorProductWithRefNotExist=Produto com "%s" de referência não existem ErrorDeleteNotPossibleLineIsConsolidated=Excluir registro não é possível porque está ligado a uma transacção bancária conciliada @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Os parâmetros de configuração obrigatórios ainda não estão definidos diff --git a/htdocs/langs/pt_PT/install.lang b/htdocs/langs/pt_PT/install.lang index 8c6632c56ab..2a038935c53 100644 --- a/htdocs/langs/pt_PT/install.lang +++ b/htdocs/langs/pt_PT/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migração terminada LastStepDesc=Último passo: Defina aqui o login ea senha que você planeja usar para se conectar ao software. Não perca isso, pois é a conta para administrar todos os outros. ActivateModule=Ative o módulo %s ShowEditTechnicalParameters=Clique aqui para mostrar/editar os parâmetros avançados (modo avançado) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Atualização do tempo despendido em segundos MigrationActioncommElement=Atualizar os dados nas ações MigrationPaymentMode=A migração de dados para o modo de pagamento MigrationCategorieAssociation=Migração de categorias +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Mostrar opções indisponíveis HideNotAvailableOptions=Ocultar opções indisponíveis diff --git a/htdocs/langs/pt_PT/languages.lang b/htdocs/langs/pt_PT/languages.lang index df457e8d64f..473dd490106 100644 --- a/htdocs/langs/pt_PT/languages.lang +++ b/htdocs/langs/pt_PT/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Alemão (Áustria) Language_de_CH=Alemão (Suíça) Language_el_GR=Grego Language_en_AU=Inglês (Austrália) +Language_en_CA=English (Canada) Language_en_GB=Inglês (Reino Unido) Language_en_IN=Inglês (Índia) Language_en_NZ=Inglês (Nova Zelândia) @@ -28,7 +29,7 @@ Language_es_MX=Espanhol (México) Language_es_PY=Espanhol (Paraguai) Language_es_PE=Espanhol (Peru) Language_es_PR=Espanhol (Porto Rico) -Language_et_EE=Estónia +Language_et_EE=Estónio Language_eu_ES=Basco Language_fa_IR=Persa Language_fi_FI=Finlandês diff --git a/htdocs/langs/pt_PT/main.lang b/htdocs/langs/pt_PT/main.lang index 8bde1900e18..23c51af82a8 100644 --- a/htdocs/langs/pt_PT/main.lang +++ b/htdocs/langs/pt_PT/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd/MM/yyyy FormatDateShortJavaInput=dd/MM/yyyy FormatDateShortJQuery=dd/mm/yy FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Erro, o registo do ficheiro falhou. SetDate=Definir data SelectDate=Seleccionar uma data SeeAlso=Ver também %s +SeeHere=See here BackgroundColorByDefault=Cor de fundo por omissão FileNotUploaded=O ficheiro não foi enviado FileUploaded=O ficheiro foi enviado com sucesso @@ -169,6 +171,7 @@ User=Utilizador Users=Utilizadores Group=Grupo Groups=Grupos +NoUserGroupDefined=No user group defined Password=Senha PasswordRetype=Contrassenha NoteSomeFeaturesAreDisabled=Note que estão desativados muitos módulos/funções nesta demonstração. @@ -258,6 +261,7 @@ days=dias Hours=Horas Minutes=Minutos Seconds=Segundos +Weeks=Weeks Today=Hoje Yesterday=Ontem Tomorrow=Amanhã @@ -683,6 +687,7 @@ XMoreLines=%s linhas(s) ocultas PublicUrl=URL público AddBox=Adicionar Caixa SelectElementAndClickRefresh=Selecione um elemento e actualize a pagina +PrintFile=Print File %s # Week day Monday=Segunda-feira Tuesday=Terça-feira diff --git a/htdocs/langs/pt_PT/margins.lang b/htdocs/langs/pt_PT/margins.lang index c62ee64a5f3..6ac9001ddfa 100644 --- a/htdocs/langs/pt_PT/margins.lang +++ b/htdocs/langs/pt_PT/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Detalhes da margem ProductMargins=Margens do produto CustomerMargins=Margens do cliente SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Produto ou Serviço AllProducts=Todos os produtos e serviços ChooseProduct/Service=Escolher produto ou serviço diff --git a/htdocs/langs/pt_PT/orders.lang b/htdocs/langs/pt_PT/orders.lang index bb19acee7dd..781be21e4db 100644 --- a/htdocs/langs/pt_PT/orders.lang +++ b/htdocs/langs/pt_PT/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Pedido a Fornecedor SuppliersOrders=Pedidos a Fornecedores SuppliersOrdersRunning=Pedidos a Fornecedores em Curso CustomerOrder=Pedido do Cliente -CustomersOrders=Pedidos de Clientes +CustomersOrders=Customers orders CustomersOrdersRunning=Pedidos de Clientes em Curso CustomersOrdersAndOrdersLines=Pedidos de Clientes e Linhas de Pedido -OrdersToValid=Pedidos a Confirmar -OrdersToBill=Pedidos por Facturar -OrdersInProcess=Pedidos em Processo -OrdersToProcess=Pedidos a Processar +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Ordens do Fornecedor para processar StatusOrderCanceledShort=Anulado StatusOrderDraftShort=Rascunho StatusOrderValidatedShort=Validado StatusOrderSentShort=No processo StatusOrderSent=Expedição em processamento -StatusOrderOnProcessShort=Em curso +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Processado StatusOrderToBillShort=A Facturar StatusOrderToBill2Short=A facturar @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Recebido StatusOrderCanceled=Anulado StatusOrderDraft=Rascunho (a Confirmar) StatusOrderValidated=Validado -StatusOrderOnProcess=Em processo +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Processado StatusOrderToBill=A Facturar StatusOrderToBill2=A facturar @@ -50,6 +50,8 @@ StatusOrderRefused=Reprovado StatusOrderReceivedPartially=Recebido Parcialmente StatusOrderReceivedAll=Recebido ShippingExist=Um existe um envio +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Rascunho aprovado mas ainda não aprovado DraftOrWaitingShipped=Rascunho o validado mas ainda não expedido MenuOrdersToBill=Pedidos por Facturar diff --git a/htdocs/langs/pt_PT/printipp.lang b/htdocs/langs/pt_PT/printipp.lang index 835e6827f12..d284d07e866 100644 --- a/htdocs/langs/pt_PT/printipp.lang +++ b/htdocs/langs/pt_PT/printipp.lang @@ -1,14 +1,14 @@ # Dolibarr language file - Source file is en_US - printipp -PrintIPPSetup=Setup of Direct Print module -PrintIPPDesc=This module adds a Print button to send documents directly to a printer. It requires a Linux system with CUPS installed. -PRINTIPP_ENABLED=Show "Direct print" icon in document lists -PRINTIPP_HOST=Print server -PRINTIPP_PORT=Port -PRINTIPP_USER=Login -PRINTIPP_PASSWORD=Password -NoPrinterFound=No printers found (check your CUPS setup) -FileWasSentToPrinter=File %s was sent to printer -NoDefaultPrinterDefined=No default printer defined -DefaultPrinter=Default printer -Printer=Printer -CupsServer=CUPS Server +PrintIPPSetup=Configuração do módulo Impressão Direta +PrintIPPDesc=Este módulo adiciona um botão de 'Impressora' para enviar os documentos diretamente para uma impressora. Este requer um sistema Linux com CUPS instalados. +PRINTIPP_ENABLED=Mostrar o ícone de "Impressão Direta" nas listas de documento +PRINTIPP_HOST=Servidor de impressão +PRINTIPP_PORT=Porta +PRINTIPP_USER=Iniciar Sessão +PRINTIPP_PASSWORD=Palavra-passe +NoPrinterFound=Não foram encontradas impressoras (verifique a sua configuração de CUPS) +FileWasSentToPrinter=O filcheiro %s foi enviado para a impressora +NoDefaultPrinterDefined=Não está definida a impressora predefinida +DefaultPrinter=Impressora predefinida +Printer=Impressora +CupsServer=Servido CUPS diff --git a/htdocs/langs/pt_PT/productbatch.lang b/htdocs/langs/pt_PT/productbatch.lang index b4f6455d41d..ff72b80058d 100644 --- a/htdocs/langs/pt_PT/productbatch.lang +++ b/htdocs/langs/pt_PT/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Gerir lote/série -ProductStatusOnBatch=Gerido -ProductStatusNotOnBatch=Não Gerido -ProductStatusOnBatchShort=Gerido -ProductStatusNotOnBatchShort=Não Gerido +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Lote/Série atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Número de Lote/Série @@ -18,3 +18,4 @@ printQty=Qt.: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Não Definido WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/pt_PT/products.lang b/htdocs/langs/pt_PT/products.lang index a8d228293be..15842116ed5 100644 --- a/htdocs/langs/pt_PT/products.lang +++ b/htdocs/langs/pt_PT/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Contabilidade (código vender) ProductOrService=Produto ou Serviço ProductsAndServices=Produtos e Serviços ProductsOrServices=Produtos ou Serviços -ProductsAndServicesOnSell=Produtos e Serviços de Venda -ProductsAndServicesNotOnSell=Produtos e Serviços Fora de Venda +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Estatísticas Produtos e Serviços ProductsStatistics=Estatísticas Produtos -ProductsOnSell=Produtos em Venda -ProductsNotOnSell=Produtos Fora de Venda -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Serviços em Venda -ServicesNotOnSell=Serviços Fora de Venda -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Referencia Interna LastRecorded=Ultimos Produtos/Serviços em Venda Registados LastRecordedProductsAndServices=Os %s Ultimos Produtos/Perviços Registados @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Preço atual AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Preço por quantidade +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Resumo Produtos/Serviços UpdateOriginalProductLabel=Modificar etiqueta original @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Informações de código de barras do produto %s: BarCodeDataForThirdparty=Informações de código de barras do terceiro %s: ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Preço por cliente +PriceByCustomer=Different price for each customer PriceCatalogue=Preço único por produto/serviço -PricingRule=Regras de Preços +PricingRule=Rules for customer prices AddCustomerPrice=Adicionar preço por clientes ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Preço por registo de cliente @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/pt_PT/projects.lang b/htdocs/langs/pt_PT/projects.lang index 37d32c854d4..f969b074f3f 100644 --- a/htdocs/langs/pt_PT/projects.lang +++ b/htdocs/langs/pt_PT/projects.lang @@ -3,31 +3,31 @@ RefProject=Ref. do projeto ProjectId=Id. do Projeto Project=Projeto Projects=Projetos -SharedProject=Todos +ProjectStatus=Project status +SharedProject=Toda a Gente PrivateProject=Contactos do projeto -MyProjectsDesc=Essa visão é limitada a projetos onde você é o contacto(seja qual for o tipo). -ProjectsPublicDesc=Essa visão apresenta todos os projetos que está autorizado a ler. -ProjectsDesc=Essa visão apresenta todos os projetos (as permissões de usuário concedar-lhe-ao permissão para ver tudo). -MyTasksDesc=Essa visão é limitada a projetos ou tarefas que são de um contacto(seja qual for o tipo). -TasksPublicDesc=Essa visão apresenta todos os projetos e tarefas que têm permissão para ler. -TasksDesc=Essa visão apresenta todos os projetos e tarefas (as permissões de usuário concedar-lhe-ao permissão para ver tudo). -Myprojects=Meus Projetos +MyProjectsDesc=Esta visualização está limitada a projetos onde é um contacto para (seja qual for o tipo). +ProjectsPublicDesc=Esta visualização apresenta todos os projetos que está autorizado a ler. +ProjectsDesc=Esta visualização apresenta todos os projetos (as suas permissões de utilizador concedem-lhe a permissão para ver tudo). +MyTasksDesc=Esta visualização está limitada aos projetos ou tarefas em que é um contacto para (seja qual for o tipo). +TasksPublicDesc=Esta visualização apresenta todos os projetos e tarefas que está autorizado a ler. +TasksDesc=Esta visualização apresenta todos os projetos e tarefas (as suas permissões de utilizador concedem-lhe permissão para ver tudo). ProjectsArea=Área de Projetos NewProject=Novo Projeto -AddProject=Create project -DeleteAProject=Eliminar um Projeto -DeleteATask=Eliminar uma Tarefa -ConfirmDeleteAProject=Tem a certeza que quer eliminar este projeto? -ConfirmDeleteATask=Tem a certeza que quer eliminar esta tarefa? +AddProject=Criar Projeto +DeleteAProject=Apagar um Projeto +DeleteATask=Apagar uma Tarefa +ConfirmDeleteAProject=Deseja apagar este projeto? +ConfirmDeleteATask=Deseja apagar esta tarefa? OfficerProject=Responsável pelo Projeto -LastProjects=Últimos Projetos +LastProjects=Últimos %s projetos AllProjects=Todos os Projetos ProjectsList=Lista de Projetos ShowProject=Mostrar Projeto SetProject=Definir Projeto -NoProject=Nenhum Projeto Definido -NbOpenTasks=Nº de Tarefas Abertas -NbOfProjects=Nº de Projetos +NoProject=Nenhum projeto definido ou possuído +NbOpenTasks=Nr. de Tarefas Abertas +NbOfProjects=Nr. de Projetos TimeSpent=Tempo Dispendido TimesSpent=Tempos Dispendidos RefTask=Ref. da Tarefa @@ -36,24 +36,24 @@ TaskTimeSpent=Tempo despendido nas tarefas TaskTimeUser=Utilizador TaskTimeNote=Nota TaskTimeDate=Data -TasksOnOpenedProject=Tasks on opened projects -WorkloadNotDefined=Workload not defined +TasksOnOpenedProject=Tarefas nos projetos abertos +WorkloadNotDefined=Carga de trabalho não definida NewTimeSpent=Novo Tempo Dispendido MyTimeSpent=Meu Tempo Dispendido -MyTasks=Minhas Tarefas +MyTasks=As Minhas Tarefas Tasks=Tarefas Task=Tarefa -TaskDateStart=Task start date -TaskDateEnd=Task end date +TaskDateStart=Data de início da tarefa +TaskDateEnd=Data do fim da tarefa TaskDescription=Descrição da tarefa NewTask=Nova Tarefa -AddTask=Create task +AddTask=Criar Tarefa AddDuration=Adicionar Duração Activity=Atividade Activities=Tarefas/Atividades -MyActivity=Minha Actividade -MyActivities=Minhas Tarefas/Actividades -MyProjects=Meus Projetos +MyActivity=A Minha Atividade +MyActivities=As Minhas Tarefas/Atividades +MyProjects=Os Meus Projetos DurationEffective=Duração Efetiva Progress=Progresso ProgressDeclared=Progresso declarado @@ -88,12 +88,12 @@ YouAreNotContactOfProject=Não é um contato deste projeto privado DeleteATimeSpent=Excluir o tempo gasto ConfirmDeleteATimeSpent=Tem certeza que quer eliminar este tempo dispensado? DoNotShowMyTasksOnly=See also tasks not assigned to me -ShowMyTasksOnly=View only tasks assigned to me +ShowMyTasksOnly=Ver só as tarefas que me foram atribuídas TaskRessourceLinks=Recursos ProjectsDedicatedToThisThirdParty=Projetos dedicados a este terceiro NoTasks=Não existem tarefas para este projeto LinkedToAnotherCompany=Vinculado a Terceiros -TaskIsNotAffectedToYou=Task not assigned to you +TaskIsNotAffectedToYou=Tarefas que não lhe foram atribuidas ErrorTimeSpentIsEmpty=Tempo dispensado está vazio ThisWillAlsoRemoveTasks=Esta ação também vai excluir todas as tarefas do projeto (%s tarefas no momento) e todas as entradas de tempo dispensadas. IfNeedToUseOhterObjectKeepEmpty=Caso alguns objetos (fatura, encomenda, ...), pertencentes a um terceiro, deve estar vinculado ao projeto para criar, manter este vazio para ter o projeto sendo multi-terceiros. @@ -103,32 +103,33 @@ CloneContacts=Clonar contactos CloneNotes=Clonar notas CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Tem a certeza para clonar este projeto? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date ProjectsAndTasksLines=Projetos e tarefas ProjectCreatedInDolibarr=Projeto %s criado -TaskCreatedInDolibarr=Task %s created -TaskModifiedInDolibarr=Task %s modified -TaskDeletedInDolibarr=Task %s deleted +TaskCreatedInDolibarr=%s tarefas criadas +TaskModifiedInDolibarr=%s tarefas modificadas +TaskDeletedInDolibarr=%s tarefas apagadas ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Líder do projeto TypeContact_project_external_PROJECTLEADER=Líder do projeto -TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor -TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor +TypeContact_project_internal_PROJECTCONTRIBUTOR=Colaborador +TypeContact_project_external_PROJECTCONTRIBUTOR=Colaborador TypeContact_project_task_internal_TASKEXECUTIVE=Tarefa executiva TypeContact_project_task_external_TASKEXECUTIVE=Tarefa executiva -TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor -TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor +TypeContact_project_task_internal_TASKCONTRIBUTOR=Colaborador +TypeContact_project_task_external_TASKCONTRIBUTOR=Colaborador SelectElement=Selecionar elemento -AddElement=Link to element -UnlinkElement=Unlink element +AddElement=Ligar ao elemento +UnlinkElement=Desligar o elemento # Documents models DocumentModelBaleine=modelo de um projeto completo do relatório (logo. ..) PlannedWorkload = Carga de trabalho planeada WorkloadOccupation= Afectação da carga de trabalho ProjectReferers=Refering objects -SearchAProject=Search a project +SearchAProject=Procurar um projeto ProjectMustBeValidatedFirst=Project must be validated first -ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +ProjectDraft=Esboço de projetos +FirstAddRessourceToAllocateTime=Associar um recuirso para alocar a hora diff --git a/htdocs/langs/pt_PT/sendings.lang b/htdocs/langs/pt_PT/sendings.lang index fa7ca1d6070..ad26c2228cd 100644 --- a/htdocs/langs/pt_PT/sendings.lang +++ b/htdocs/langs/pt_PT/sendings.lang @@ -4,7 +4,8 @@ Sending=Envio Sendings=Envios Shipment=Envio Shipments=Envios -Receivings=Recepções +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Área de Envios ListOfSendings=Lista de Envios SendingMethod=Método de Envio @@ -14,7 +15,7 @@ SearchASending=Procurar Envio StatisticsOfSendings=Estatísticas de Envios NbOfSendings=Número de Envios NumberOfShipmentsByMonth=Número de envios por mês -SendingCard=Ficha de Envio +SendingCard=Shipment card NewSending=Novo Envio CreateASending=Criar um Envio CreateSending=Criar Envio @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Cancelado StatusSendingDraftShort=Rascunho StatusSendingValidatedShort=Validado StatusSendingProcessedShort=Processado -SendingSheet=Ficha de envio +SendingSheet=Shipment sheet Carriers=Distribuidores Carrier=Distribuidor CarriersArea=Área de Distribuidores @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Eventos em embarque LinkToTrackYourPackage=Link para acompanhar o seu pacote ShipmentCreationIsDoneFromOrder=A criação de uma nova remessa é efectuada a partir da encomenda. -RelatedShippings=Envios relacionados +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=Lista de transportadores -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Capturas por cliente diff --git a/htdocs/langs/pt_PT/stocks.lang b/htdocs/langs/pt_PT/stocks.lang index df7fffc4016..7211c46b431 100644 --- a/htdocs/langs/pt_PT/stocks.lang +++ b/htdocs/langs/pt_PT/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=PMP EnhancedValueOfWarehouses=Valor de stocks UserWarehouseAutoCreate=Criar existencias automáticamente na criação de um utilizador QtyDispatched=Quantidade desagregada +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Recepção de stocks RuleForStockManagementDecrease=Regra de Gestão de decrementos de stock RuleForStockManagementIncrease=Regra de Gestão de incrementos de stock @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Incrementar os stocks físicos sobre os pedidos ReStockOnDispatchOrder=Aumentar o stock real de manual de expedição em armazéns, após receber ordem de fornecedor ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=Pedido não está pronto para despacho. -StockDiffPhysicTeoric=Motivo da diferença entre valores físicos e teóricos +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Não há produtos pré-definidos para este objeto. Portanto, não despachando em stock é exigido. DispatchVerb=Expedição StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/pt_PT/suppliers.lang b/htdocs/langs/pt_PT/suppliers.lang index 116f00ca116..1e0e55d1422 100644 --- a/htdocs/langs/pt_PT/suppliers.lang +++ b/htdocs/langs/pt_PT/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Fornecedores Supplier=Fornecedor -AddSupplier=Adicionar Fornecedor +AddSupplier=Create a supplier SupplierRemoved=Fornecedor Eliminado SuppliersInvoice=Facturas do Fornecedor NewSupplier=Novo Fornecedor @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Nenhum lote ou %s não executou recentemente SentToSuppliers=Enviado para os fornecedores ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/pt_PT/withdrawals.lang b/htdocs/langs/pt_PT/withdrawals.lang index e227553e4c9..618fa876467 100644 --- a/htdocs/langs/pt_PT/withdrawals.lang +++ b/htdocs/langs/pt_PT/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Crédito em WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Mostrar levantamento IfInvoiceNeedOnWithdrawPaymentWontBeClosed=No entanto, se não tiver factura, pelo menos, um pagamento levantamento ainda processado, que não irá ser definido como pago para permitir o levantamento antes de administrar. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=arquivo retirado SetToStatusSent=Definir o estado como "arquivo enviado" ThisWillAlsoAddPaymentOnInvoice=Isso também irá criar pagamentos em facturas e classificá-los para pagar diff --git a/htdocs/langs/pt_PT/workflow.lang b/htdocs/langs/pt_PT/workflow.lang index fcc2d742259..e3e82fc3596 100644 --- a/htdocs/langs/pt_PT/workflow.lang +++ b/htdocs/langs/pt_PT/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Configuração do módulo de Workflow -WorkflowDesc=Este módulo é desenhado para modificar o comportamento de acções automáticas na aplicação. Por padrão, o fluxo de trabalho é aberto (você fazer a coisa de forma que você quiser). Você pode habilitar ações automáticas . +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Não há fluxo de trabalho você pode modificar para o módulo que você tenha ativado. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Criar um pedido do cliente automaticamente, após uma proposta comercial ser assinada descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Criar uma factura de cliente automaticamente, após uma proposta comercial ser assinada diff --git a/htdocs/langs/ro_RO/accountancy.lang b/htdocs/langs/ro_RO/accountancy.lang index 784f5324381..fa60ab7a5b4 100644 --- a/htdocs/langs/ro_RO/accountancy.lang +++ b/htdocs/langs/ro_RO/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configurare modul expert contabil Journaux=Jurnale JournalFinancial=Jurnale financiale Exports=Exporturi +Export=Export Modelcsv=Model export +OptionsDeactivatedForThisExportModel=Pentru acest model de export, optiunile sunt dezactivate Selectmodelcsv=Selectează un model de export Modelcsv_normal=Classic export Modelcsv_CEGID=Export către CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Linia facturii VentilatedinAccount=Ventilare cu succes in conturi contabile NotVentilatedinAccount=Ne ventilate in conturi contabile -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Separator coloane in fisierul export ACCOUNTING_LIMIT_LIST_VENTILATION=Numărul de elemente de ventilat afişat pe pagină (maxim recomandat: 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Începe sortarea paginilor ventilate "Trebuie ventilate" începand cu cele mai recente elemente diff --git a/htdocs/langs/ro_RO/admin.lang b/htdocs/langs/ro_RO/admin.lang index a0d02d59e15..ed875d3ec11 100644 --- a/htdocs/langs/ro_RO/admin.lang +++ b/htdocs/langs/ro_RO/admin.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - admin -Foundation=Fundaţie\n +Foundation=Fundaţie Version=Versiune VersionProgram=Versiune program VersionLastInstall=Versiune iniţial instalată @@ -36,7 +36,7 @@ GlobalSetup=Setări generale GUISetup=Afişare SetupArea=CONFIGURARE FormToTestFileUploadForm=Formular pentru testarear încărcării de fişiere (în funcţie de configurare) -IfModuleEnabled=Notă: Da este eficient numai dacă modul %s este activat +IfModuleEnabled=Notă: Da este folositor numai dacă modul %s este activat RemoveLock=Eliminaţi fişierul %s dacă acesta există, pentru a permite utilizarea instrumentelor de actualizare. RestoreLock=Înlocuiţi un fisier %s cu permisiunea citit doar pe fişier pentru a dezactiva orice utilizare de update. SecuritySetup=Setări Securitate @@ -53,7 +53,7 @@ DisableJavascript=Dezactivează funcţiile JavaScript si Ajax (Recomandat pentru ConfirmAjax=Utilizaţi pop-up de confirmare Ajax UseSearchToSelectCompanyTooltip= De asemenea, dacă aveți un număr mare de terţi (> 100 000), puteți crește viteza prin setarea constantei COMPANY_DONOTSEARCH_ANYWHERE la 1 la Setup->Other. Căutarea va fi limitată la începutul șirului. UseSearchToSelectCompany=Utilizați autocompletarea câmpurilor pentru alegerea terţilor în loc de a folosi o casetă listă. -ActivityStateToSelectCompany= Adaugă o opţiune de filtru pentru a afişa / ascunde thirdparties, care sunt în prezent în activitate sau le-a încetat +ActivityStateToSelectCompany= Adaugă o opţiune de filtru pentru a afişa / ascunde terti care sunt în prezent în activitate sau le-a încetat UseSearchToSelectContactTooltip=De asemenea, dacă aveți un număr mare de terţi (> 100 000), puteți crește viteza prin setarea constantei COMPANY_DONOTSEARCH_ANYWHERE la 1 la Setup->Other. Căutarea va fi limitată la începutul șirului. UseSearchToSelectContact=Utilizați un câmp cu autocompletare pentru a selecta un contact (în loc de lista derulantă). DelaiedFullListToSelectCompany=Aşteaptă să tastaţi o tastă înaintea încărcării a listei combo de terţi (Acest lucru poate crește performanța dacă aveți un număr mare de terţi) @@ -153,7 +153,7 @@ PurgeDeleteLogFile=Ştergere jurnal fişier %s definite pentru Syslog mod PurgeDeleteTemporaryFiles=Ştergeţi toate fişierele temporare (fără riscul de a pierde date) PurgeDeleteAllFilesInDocumentsDir=Ştergeţi toate fişierele în directorul %s. Fisiere temporare, dar de asemenea, fişierele ataşate la elemente (terţe părţi, facturi, ...) şi a trimis în modul ECM vor fi şterse. PurgeRunNow=Elimină acum -PurgeNothingToDelete=Nici un director sau fişier de şters. +PurgeNothingToDelete=Niciun director sau fişier de şters. PurgeNDirectoriesDeleted= %s fişiere sau directoare şterse. PurgeAuditEvents=Elimină toate evenimentele de securitate ConfirmPurgeAuditEvents=Sunteţi sigur că doriţi să eliminaţi toate evenimentele de securitate? Toate jurnalele de securitate vor fi şterse, nu şi alte date vor fi eliminate. @@ -270,7 +270,7 @@ MAIN_DISABLE_ALL_MAILS=Dezactivaţi toate e-mail-uri sendings (pentru scopuri de MAIN_MAIL_SENDMODE=Metoda de a folosi pentru a trimite email-uri MAIN_MAIL_SMTPS_ID=SMTP ID-ul de autentificare necesare în cazul în MAIN_MAIL_SMTPS_PW=SMTP parola, dacă se cere autentificare -MAIN_MAIL_EMAIL_TLS= Utilizaţi TLS (SSL) cripta +MAIN_MAIL_EMAIL_TLS= Utilizaţi criptare TLS (SSL) MAIN_DISABLE_ALL_SMS=Dezactivaţi toate trimiteri SMS (în scopuri de testare sau demo-uri) MAIN_SMS_SENDMODE=Metoda de utilizare pentru trimiterea SMS-urilor MAIN_MAIL_SMS_FROM=Numărul de telefon expeditor implicit pentru trimiterea de SMS @@ -294,7 +294,7 @@ DoNotUseInProduction=Nu utilizaţi în producţie ThisIsProcessToFollow=Acesta este procesul de configurare pentru a: StepNb=Pasul %s FindPackageFromWebSite=Găsiţi un pachet care ofera facilitate dorit (de exemplu, pe site-ul web %s). -DownloadPackageFromWebSite=Descărcaţi pachetul de la site-ul %s. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Unpack pachet de fişiere în directorul rădăcină Dolibarr lui %s SetupIsReadyForUse=Instalarea este terminat şi Dolibarr este gata pentru a fi utilizate cu această nouă componentă. NotExistsDirect=Nu este definit directorroot alternativ.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Selectaţi modulul: CurrentVersion=Dolibarr versiunea curentă CallUpdatePage=Du-te la pagina care se actualizează datele şi structura bazei de date %s. LastStableVersion=Ultima versiune stabilă +UpdateServerOffline=Update server offline GenericMaskCodes=Puteți introduce orice mască de numerotare. În această mască, ar putea fi folosit următoarele etichete:
{000000} corespunde unui număr care va fi incrementat pe fiecare% s. Introduceți cât mai multe zerouri ca lungimea dorită a contra. Contorul va fi completat cu zerouri la stânga, în scopul de a avea cât mai multe zerouri ca masca.
{000000} +000 fel ca și anterior, dar o compensare corespunzător cu numărul din dreapta semnului + se aplică începând cu prima% s.
{000000 @ x} fel ca și anterior, dar contorul este resetat la zero atunci când se ajunge la o lună x (x între 1 și 12, sau 0 pentru a folosi primele luni ale anului fiscal definite în configurația dvs., sau 99 pentru a reseta la zero în fiecare lună ). Dacă această opțiune este folosită și x este 2 sau mai mare, atunci secvența {aa} {mm} sau {AAAA} {mm} este de asemenea necesară.
{Dd} zi (01 la 31).
{Mm} luni (01 la 12).
{AA}, {AAAA} sau {y} an peste 2, 4 sau 1 numere.
GenericMaskCodes2={Cccc} codul de client pe n caractere
{Cccc000} codul de client pe n caractere este urmată de un contor dedicat pentru client. Acest contor dedicat clientului este resetat în același timp de contor global.
{tttt}Tipul codului terţului pe n caractere (a se vedea tipurile dicționarului-terţi).
GenericMaskCodes3=Toate celelalte caractere în masca va rămâne intactă.
Spaţiile nu sunt permise.
@@ -338,12 +339,12 @@ NumberOfModelFilesFound=Numărul de şabloane fişiere ODT/ODS găsite în ace ExampleOfDirectoriesForModelGen=Exemple de sintaxa:
c: mydir \\
/ Home / mydir
DOL_DATA_ROOT / ECM / ecmdir FollowingSubstitutionKeysCanBeUsed=
Pentru a şti cum să vă creaţi şabloane DOCX, ODT documente, înainte de a le stoca în aceste directoare, citiţi documentaţia wiki: FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template -FirstnameNamePosition=Poziţia Prenumele / numele +FirstnameNamePosition=Poziţia Prenume / Nume DescWeather=Următoarele imagini vor fi afişate pe tabloul de bord atunci când numărul de acţiuni întârziere atinge următoarele valori: KeyForWebServicesAccess=Pentru a utiliza Web Services (parametru "dolibarrkey" în WebServices) TestSubmitForm=Intrare test de formă ThisForceAlsoTheme=Folosind acest meniu managerul va folosi, de asemenea, propria temă tot ce este alegerea de către utilizator. De asemenea, acest manager de meniu specializat pentru smartphone-uri nu functioneaza pe toate smartphone-uri. Utilizaţi un alt manager de meniu, dacă aveţi probleme pe a ta. -ThemeDir=Skins director +ThemeDir=Director Teme ConnectionTimeout=Conexiune timeout ResponseTimeout=Răspuns timeout SmsTestMessage=Mesaj de test de la PHONEFROM__ __ la __ PHONETO__ @@ -382,10 +383,12 @@ ExtrafieldSelectList = Select din tabel ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio buton +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Lista de parametri trebuie să fie ca cheie, valoare

pentru exemplul:
1, valoare1
2, valoare2
3, value3
...

Pentru a avea listă în funcție de o alta:
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Lista de parametri trebuie să fie de tip cheie, valoare

pentru exemplul:
1, valoare1
2, valoare2
3, value3
... ExtrafieldParamHelpradio=Lista de parametri trebuie să fie de tip cheie, valoare

pentru exemplul:
1, valoare1
2, valoare2
3, value3
... ExtrafieldParamHelpsellist=Lista de parametri a venit de la tabelul
Sintaxa: able_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filtru poate fi un test simplu (de exemplu, activ = 1), pentru a afișa doar valoare activă
dacă doriți să filtrați pe extracâmpuri folosi sintaxa extra.fieldcode=... (unde codul de câmp este codul de extracâmp)

În scopul de avea lista depinzând de alta :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Librairie utilizată la construirea PDF ului WarningUsingFPDF=Atenție: conf.php contine Directiva dolibarr_pdf_force_fpdf = 1. Acest lucru înseamnă că utilizați biblioteca FPDF pentru a genera fișiere PDF. Această bibliotecă este vechi și nu suportă o mulțime de caracteristici (Unicode, transparența imagine, cu litere chirilice, limbi arabe și asiatice, ...), astfel încât este posibil să apară erori în timpul generație PDF.
Pentru a rezolva acest lucru și au un suport complet de generare PDF, vă rugăm să descărcați biblioteca TCPDF , atunci comentariu sau elimina linia $ dolibarr_pdf_force_fpdf = 1, și se adaugă în schimb $ dolibarr_lib_TCPDF_PATH = 'path_to_TCPDF_dir' LocalTaxDesc=Unele țări aplică 2 sau 3 impozite la fiecare linie de factura. Dacă este cazul, alege tipul al doilea și al treilea de taxă și ratele lor. Tipuri posibile sunt:
1: Taxa hoteliera se aplică pe produse și servicii, fără TVA (TVA nu este aplicată la taxa locala)
2: taxa locala pe produse și servicii fără TVA (TVA-ul este calculat la suma + localtax)
3: Taxa locală se aplică la produsele fara TVA (TVA nu se aplică la taxa locala)
4: Taxa locală se aplică la produsele fără TVA (TVA-ul este calculat la suma + localtax)
5: Taxa locală se aplică pe servicii fara TVA (TVA nu este aplicată la taxa locala)
6: Taxa locală se aplică pe servicii fără TVA (TVA-ul este calculat la suma + localtax) @@ -572,7 +575,7 @@ Permission67=Export intervenţii Permission71=Citeşte membrii Permission72=Creare / Modificare membri Permission74=Ştergere membri -Permission75=Configurare tipuri şi atribute pentru membri +Permission75=Setup types of membership Permission76=Export Date Permission78=Citeşte abonamente Permission79=Creare / Modificare abonamente @@ -595,8 +598,8 @@ Permission106=Export livrări Permission109=Ştergere sendings Permission111=Citeşte conturile financiare Permission112=Crea / modifica / delete şi compara tranzacţiile -Permission113=Setup financiel conturile (a crea, gestiona categorii) -Permission114=Consolidarea tranzacţiilor +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Tranzacţii de export şi în declaraţiile Permission116=Transferuri între conturile Permission117=Gestionare cecuri de expediţie @@ -761,6 +764,7 @@ Permission55001=Cieşte sondaje Permission55002=Creare / Modificare sondaje Permission59001=Citeşte marje comerciale Permission59002=Defineşte marje comerciale +Permission59003=Read every user margin DictionaryCompanyType=Tip Terţ DictionaryCompanyJuridicalType=Tipuri juridice terţi DictionaryProspectLevel=Nivel potenţial Prospect @@ -888,14 +892,14 @@ DefaultMenuManager= Manager meniul Standard DefaultMenuSmartphoneManager=Manager meniul Smartphone Skin=Tema vizuală DefaultSkin=Tema vizuală Implicită -MaxSizeList=Max lungime pentru lista -DefaultMaxSizeList=Implicit lungime max pentru lista -MessageOfDay=Mesaj de zi -MessageLogin=Login pagina mesaj -PermanentLeftSearchForm=Permanent formularul de căutare de pe stânga de meniu -DefaultLanguage=Implicit de a folosi limba (limba) +MaxSizeList=Lungime max pentru lista +DefaultMaxSizeList=Lungime max implicita pentru lista +MessageOfDay=Mesajul zilei +MessageLogin=Mesaj pagina login +PermanentLeftSearchForm=Formular de căutare permanent in meniu din stânga +DefaultLanguage=Limba folosita implicit (cod limba) EnableMultilangInterface=Activaţi multilingv interfaţă -EnableShowLogo=logo-ul Afişare meniu în stânga +EnableShowLogo=Afişare logo în meniul stânga EnableHtml5=Activare HTML5 (Dezvoltare - disponibil doar pe șablonul ELDY) SystemSuccessfulyUpdated=Sistemul dumneavoastră a fost actualizat cu succes CompanyInfo=Companie / fundaţie informaţii @@ -909,7 +913,7 @@ CompanyCurrency=Deviza principală Logo=Logo DoNotShow=Nu mai afişa DoNotSuggestPaymentMode=Nu sugerează -NoActiveBankAccountDefined=Nu cont bancar activ definit +NoActiveBankAccountDefined=Niciun cont bancar activ definit OwnerOfBankAccount=Titular de cont bancar %s BankModuleNotActive=Conturi bancare de module nu a permis ShowBugTrackLink=Arata link-ul "Raportaţi o eroare" @@ -973,11 +977,11 @@ DictionaryDesc=Definiți aici toate Date de referință. Puteți completa valoar ConstDesc=Această pagină vă permite să editaţi toate alţi parametri care nu sunt disponibile în ultimele pagini. Acestea sunt rezervate pentru parametrii avansat dezvoltatorii sau pentru troubleshouting. OnceSetupFinishedCreateUsers=Atenţie, esti un utilizator Dolibarr administrator. Administrator utilizatori sunt utilizate pentru a instala Dolibarr. Pentru o utilizare obişnuită a Dolibarr, este recomandat să folosiţi un administrator de utilizator creat de utilizatori şi grupuri de meniu. MiscellaneousDesc=Definiţi parametrii de aici toate celelalte legate de securitate. -LimitsSetup=Limitele / precizie setup -LimitsDesc=Puteţi defini limitele, precisions şi optimisations utilizate de către Dolibarr aici -MAIN_MAX_DECIMALS_UNIT=Max zecimale pentru unitate de preţuri -MAIN_MAX_DECIMALS_TOT=Max zecimale pentru cantitatea totală de preţuri -MAIN_MAX_DECIMALS_SHOWN=Max zecimale pentru preţuri afişate pe ecran (Adăugaţi ... după acest număr, dacă doriţi să vezi ... când numărul este trunchiat atunci când afişate pe ecran) +LimitsSetup=Limitele / Precizie +LimitsDesc=Puteţi defini limitele, preciziile şi optimizarile utilizate de către Dolibarr aici +MAIN_MAX_DECIMALS_UNIT=Zecimale max pentru preturi unitare +MAIN_MAX_DECIMALS_TOT=Zecimale max pentru preturi totale +MAIN_MAX_DECIMALS_SHOWN=Zecimale max pentru preţurile afişate pe ecran (Adăugaţi ... după acest număr, dacă doriţi să vezi ... când numărul este trunchiat atunci când sunt afişate pe ecran) MAIN_DISABLE_PDF_COMPRESSION=Utilizaţi PDF generate de compresie pentru fişiere PDF. MAIN_ROUNDING_RULE_TOT= Dimensiune de rotunjire gama (pentru ţările rare în care rotunjirea se face pe altceva decât baza 10) UnitPriceOfProduct=preţul unitar net al unui produs @@ -1002,7 +1006,7 @@ WeekStartOnDay=Prima zi din saptamana RunningUpdateProcessMayBeRequired=Rularea procesului de upgrade pare să fie necesară (Programe versiunea %s diferă de %s versiunea bazei de date) YouMustRunCommandFromCommandLineAfterLoginToUser=Trebuie să rulaţi această comandă de la linia de comandă, după login la un raft cu %s utilizator. YourPHPDoesNotHaveSSLSupport=SSL funcţii nu sunt disponibile în PHP dvs. -DownloadMoreSkins=piei Mai mult pentru a descărca +DownloadMoreSkins=Mai multe teme de descărcat SimpleNumRefModelDesc=Întoarce numărul de referinţă cu formatul %syymm-NNNN unde YY este anul, MM este luna şi NNNN este o secvenţă, fără gaură şi fără a nu putea suporta ShowProfIdInAddress=Arată id professionnal cu adrese pe documente ShowVATIntaInAddress=Ascunde codul TVA Intra cu adresa pe documente @@ -1038,7 +1042,7 @@ SendingMailSetup=Setup de trimiteri prin e-mail SendmailOptionNotComplete=Atenţie, pe unele sisteme Linux, pentru a trimite e-mail de la e-mail, sendmail configurare execuţie trebuie să conatins optiunea-ba (mail.force_extra_parameters parametri în fişierul php.ini). Dacă nu unor destinatari a primi e-mailuri, încercaţi să editaţi acest parametru PHP cu mail.force_extra_parameters =-BA). PathToDocuments=Cale de acces documente PathDirectory=Director -SendmailOptionMayHurtBuggedMTA=Caracteristică pentru a trimite mesaje utilizând metoda "mail PHP directă" va genera un mesaj e-mail care nu s-ar putea să fie corect interpretat de către unele servere de e-mail primit. Rezultatul este că unele mail-uri nu pot fi citite de persoane găzduite de platforme thoose bugged. Este cazul unor furnizori de Internet (Ex: Orange în Franţa). Aceasta nu este o problemă în Dolibarr nici în PHP, dar primesc pe serverul de poştă electronică. Puteţi adăuga toate acestea, opţiunea MAIN_FIX_FOR_BUGGED_MTA la 1 în configurare - pentru a modifica alte Dolibarr pentru a evita acest lucru. Cu toate acestea, este posibil să aveţi probleme cu alte servere care sens strict standard SMTP. Altă soluţie (recommanded) este de a utiliza metoda "SMTP socket bibliotecă", care nu are dezavantaje. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configurarea traducerii TranslationDesc=Alegerea limbiilor vizibile pe ecran pot fi modificate:
* La nivel global din meniul Home - Configurare - Afişare
* Pe utilizator numai ,la Tabul Afișare utilizator al fişei de utilizator (click pe login din partea de sus a ecranului). TotalNumberOfActivatedModules=Numărul total al modulelor funcţionale activate: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=Folosiţi navigatorul web %s. Acest navigator este ok pentru perform BrowserIsKO=Folosiţi browser-ul % s. Acest browser-ul pare a fi o alegere proasta pentru securitate, performanță și fiabilitate. Noi recomandam sa folositi Firefox, Chrome, Opera sau Safari. XDebugInstalled=XDebug este încărcat. XCacheInstalled=XCache este încărcată. -AddRefInList=Afişează referinţele clienţilor şi furnizorilor într-o listă ( selectează lista sau casutele ) si in plus a linkurilor. +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Editarea campului %s FixTZ=Fixează TimeZone FillThisOnlyIfRequired=Exemplu: +2 (completați numai dacă problemele decalajjului fusului orar sunt cunoscute) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Pentru a valida comanda după închiderea ofertei, FreeLegalTextOnOrders=Free text de pe ordinele de WatermarkOnDraftOrders=Filigranul pe comenzile schiţă (niciunul daca e gol) ShippableOrderIconInList=Adaugă un icon în lista Comenzilor care indica daca comanda este expediabilă +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Click pentru a Dial modul setup ClickToDialUrlDesc=Url called when a click on phone picto is done. Dans l'url, vous pouvez utiliser les balises
__PHONETO__ qui sera remplac� par le t�l�phone de l'appel�
__PHONEFROM__ qui sera remplac� par le t�l�phone de l'appelant (le votre)
__LOGIN__ qui sera remplac� par votre login clicktodial (d�fini sur votre fiche utilisateur)
__PASS__ qui sera remplac� par votre mot de passe clicktodial (d�fini sur votre fiche utilisateur). @@ -1392,6 +1397,7 @@ RSSUrlExample=Un interesant RSS feed MailingSetup=Să trimiteţi un email la modul de instalare MailingEMailFrom=Expeditorul e-mail (la) pentru e-mail-uri trimise prin email-uri de module MailingEMailError=Întoarcere Email (Erori-a) pentru e-mailuri cu erori +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=Configurare Modul Notificări Email NotificationEMailFrom=Expeditorul e-mail (la) pentru e-mail-uri trimise pentru notificări @@ -1401,9 +1407,9 @@ FixedEmailTarget=Targhet email fixat SendingsSetup=Trimiterea de modul de configurare SendingsReceiptModel=Trimiterea primirea model SendingsNumberingModules=Trimiteri de numerotare module -SendingsAbility=Suport sendings foi de client pentru livrările +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=În cele mai multe cazuri, sendings încasări sunt utilizate atât ca foi de client pentru livrări (lista de produse pentru a trimite) şi foi de faptul că este recevied şi semnat de către client. Deci, livrările de produse încasări este un duplicat caracteristică şi este rareori activat. -FreeLegalTextOnShippings=Text liber pe shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Produse livrările primirea modul de numerotare DeliveryOrderModel=Produse livrările primirea model @@ -1414,7 +1420,7 @@ AdvancedEditor=Editor avansat ActivateFCKeditor=Activaţi FCKeditor pentru: FCKeditorForCompany=WYSIWIG crearea / editie a companiilor şi de note descriere FCKeditorForProduct=WYSIWIG crearea / editie a produselor / serviciilor "descrierea şi nota -FCKeditorForProductDetails=WYSIWIG crearea / ediție a produselor detalii linii pentru toate entitățile (oferte, comenzi, facturi, etc ...) Atenție:. Folosind această opțiune pentru acest caz nu este serios recomandata deoarece poate crea probleme cu caractere speciale și pagina formatări atunci când construirea PDF fișiere. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG crearea / ediţie de mailing FCKeditorForUserSignature=Creare/editare WYSIWIG a semnăturii utilizatorilor FCKeditorForMail=Creare/editare WYSIWIG a tuturor emailurilor (exceptând Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Configurare modul salarii SortOrder=Ordine sortare Format=Format TypePaymentDesc=0:Tip plata Client, 1:Tip plata Furnizor, 2:Ambele tipuri plata Client sau Furnizor +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/ro_RO/agenda.lang b/htdocs/langs/ro_RO/agenda.lang index bb09848dbb9..8f109cb5e98 100644 --- a/htdocs/langs/ro_RO/agenda.lang +++ b/htdocs/langs/ro_RO/agenda.lang @@ -7,37 +7,37 @@ Agendas=Agende Calendar=Calendar Calendars=Calendare LocalAgenda=Calendar intern -ActionsOwnedBy=Evenimente aparţinând de +ActionsOwnedBy=Evenimentul lui AffectedTo=Atribuit lui DoneBy=Realizat de Event=Eveniment Events=Evenimente EventsNb=Număr evenimente -MyEvents=Evenimentele mele -OtherEvents=Evenimente altora +MyEvents=Ev. mele +OtherEvents=Ev. altora ListOfActions=Lista evenimente Location=Locație EventOnFullDay=Eveniment toată zi(ua)lele SearchAnAction= Caută un eveniment / sarcină -MenuToDoActions=Toate evenimentele neterminate -MenuDoneActions=Toate evenimentele terminate -MenuToDoMyActions=Evenimentele mele neterminate -MenuDoneMyActions=Evenimentele mele terminate -ListOfEvents=Lista evenimentelor ( calendar intern) -ActionsAskedBy=Evenimente înregistarte de -ActionsToDoBy=Evenimente atribuite lui -ActionsDoneBy=Evenimente efectuate de -ActionsForUser=Evenimente pentru utilizator -ActionsForUsersGroup=Evenimente pentru toți utilizatorii din grup -ActionAssignedTo=Eveniment atribuit la -AllMyActions= Toate evenimentele / sarcinile mele -AllActions= Toate evenimentele / sarcini -ViewList=Vezi listă -ViewCal=Vezi lunar -ViewDay=Vezi zilnic -ViewWeek=Vezi săptămânal -ViewPerUser=Vezi pe utilizator -ViewWithPredefinedFilters= Vezi cu filtre predefinite +MenuToDoActions=Toate Ev. neterminate +MenuDoneActions=Toate Ev. terminate +MenuToDoMyActions=Ev. mele neterminate +MenuDoneMyActions=Ev. mele terminate +ListOfEvents=Lista Evenimente (calendar intern) +ActionsAskedBy=Ev. înregistrate de +ActionsToDoBy=Ev. atribuite lui +ActionsDoneBy=Ev. efectuate de +ActionsForUser=Ev. pentru utilizator +ActionsForUsersGroup=Ev. pentru toți utilizatorii din grup +ActionAssignedTo=Eveniment atribuit lui +AllMyActions= Toate Ev. / sarcinile mele +AllActions= Toate Ev. / sarcini +ViewList=Vedere listă +ViewCal=Vedere lunara +ViewDay=Vedere zilnica +ViewWeek=Vedere săptămânala +ViewPerUser=Vedere pe utilizator +ViewWithPredefinedFilters= Vedere cu filtre predefinite AutoActions= Completarea automată AgendaAutoActionDesc= Definiți aici evenimentele pentru care doriți ca Dolibarr să creeze automat un eveniment în agendă. În cazul în care nimic nu este bifat(implicit), doar acțiunile manuale vor fi incluse în agendă. AgendaSetupOtherDesc= Această pagină permite configurarea unor opțiuni pentru exportul de evenimente Dolibarr într-un calendar extern (Thunderbird, Google Calendar, ...) @@ -58,8 +58,9 @@ OrderSentByEMail=Comanda client %s trimisă prin e-mail InvoiceSentByEMail=Factura client %s trimisă prin e-mail SupplierOrderSentByEMail=Comanda furnizor %s trimisă prin e-mail SupplierInvoiceSentByEMail=Factura furnizor %s trimise prin e-mail -ShippingSentByEMail=Avizul de expediţie %s trimis prin e-mail +ShippingSentByEMail=Avizul de expediţie %s trimis prin e-mail ShippingValidated= Livrarea %s validata +InterventionSentByEMail=Intervenţia %s trimisă prin e-mail NewCompanyToDolibarr= Terţ creat DateActionPlannedStart= Data planificată a începerii DateActionPlannedEnd= Data planificată a terminării @@ -68,14 +69,14 @@ DateActionDoneEnd= Data reală a terminării DateActionStart= Data începerii DateActionEnd= Data terminării AgendaUrlOptions1=Puteţi, de asemenea, să adăugaţi următorii parametri pentru filtrarea rezultatelor: -AgendaUrlOptions2=login=%s ​​pentru a limita exportul de acțiuni create de, atribuite lui sau făcut de utilizatorul% s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logind=%s ​​pentru a limita exportul de acțiuni deţinute de utilizatorul %s AgendaUrlOptions4=logint=% s ​​pentru a limita exportul de acțiuni atribuite utilizatorului % s. AgendaUrlOptionsProject=project=PROJECT_ID pentru a limita exportul de acțiuni asociate la proiectul PROJECT_ID. AgendaShowBirthdayEvents=Afişează ziua de naştere a contactelor AgendaHideBirthdayEvents=Ascunde ziua de naştere a contactelor Busy=Ocupat -ExportDataset_event1=Lista evenimentelor din agenda +ExportDataset_event1=Lista Ev. din agenda DefaultWorkingDays=Rangul zilelor lucrătoare predefinite in săptămână (Examplu:1-5, 1-6) DefaultWorkingHours=Orele lucrătoare predefinite ale zilei (Examplu: 9-18) # External Sites ical @@ -85,7 +86,7 @@ ExtSitesEnableThisTool=Afişează calendarele externe (definite in setup global) ExtSitesNbOfAgenda=Număr calendare AgendaExtNb=Calendar nr %s ExtSiteUrlAgenda=URL-ul pentru a accesa fişierul . ical -ExtSiteNoLabel=Nici o descriere +ExtSiteNoLabel=Nicio descriere WorkingTimeRange=Rang timp muncă WorkingDaysRange=Rang zile muncă AddEvent=Creare eveniment diff --git a/htdocs/langs/ro_RO/banks.lang b/htdocs/langs/ro_RO/banks.lang index 782a58ab96c..ce9ea8d39b4 100644 --- a/htdocs/langs/ro_RO/banks.lang +++ b/htdocs/langs/ro_RO/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Cont FinancialAccounts=Conturi BankAccount=Cont bancar BankAccounts=Conturi bancare +ShowAccount=Show Account AccountRef=Contul financiar ref AccountLabel=Contul financiar etichetă CashAccount=Cont Casa @@ -111,7 +112,7 @@ WithdrawalPayment=Retragerea de plată SocialContributionPayment=Plată contribuţie socială FinancialAccountJournal=Jurnal Cont Financiar BankTransfer=Virament bancar -BankTransfers=Viramente bancare +BankTransfers=Viramente TransferDesc=Viramentul de la un cont la altul, Dolibarr va creea două înregistrări (una de debit în cont sursă şi una de credit în contul destinaţie, cu aceeaşi valoare. Aceeaşi etichetă şi data vor fi utilizate pentru această tranzacţie) TransferFrom=De la TransferTo=La diff --git a/htdocs/langs/ro_RO/bills.lang b/htdocs/langs/ro_RO/bills.lang index 565b654f58f..5885b7a76a8 100644 --- a/htdocs/langs/ro_RO/bills.lang +++ b/htdocs/langs/ro_RO/bills.lang @@ -4,7 +4,7 @@ Bills=Facturi BillsCustomers=Facturi Clienţi BillsCustomer=Factura Client BillsSuppliers=Facturi Furnizori -BillsCustomersUnpaid=Facturi Clienţi Neîncasate +BillsCustomersUnpaid=Facturi clienţi neîncasate BillsCustomersUnpaidForCompany=Facturi Clienţi Neîncasate pentru %s BillsSuppliersUnpaid=Facturi Furnizori Neachitate BillsSuppliersUnpaidForCompany=Facturi Furnizori Neachitate pentru %s @@ -39,8 +39,8 @@ CorrectionInvoice=Factură corecţie UsedByInvoice=Aplicată pe factura %s ConsumedBy=Consumat de NotConsumed=Neconsumat -NoReplacableInvoice=Nici o factură înlocuibilă -NoInvoiceToCorrect=Nici o factură de corectat +NoReplacableInvoice=Nicio factură înlocuibilă +NoInvoiceToCorrect=Nicio factură de corectat InvoiceHasAvoir=Corectată de una sau mai multe facturi CardBill=Fişă Factură PredefinedInvoices=Facturi Predefinite @@ -200,7 +200,7 @@ SendBillRef=Trimitere factura %s SendReminderBillRef=Trimitere factura %s ( reamintire) StandingOrders=Ordine de plată StandingOrder=Ordin de plată -NoDraftBills=Nici o factură schiţă +NoDraftBills=Nicio factură schiţă NoOtherDraftBills=Nicio altă factură schiţă NoDraftInvoices=Nicio factură schiţă RefBill=Ref Factură @@ -213,7 +213,7 @@ MenuToValid=De validat DateMaxPayment=Data limită a plăţii DateEcheance=Data limită DateInvoice=Data facturării -NoInvoice=Nici o factură +NoInvoice=Nicio factură ClassifyBill=Clasează factura SupplierBillsToPay=Facturi furnizori de plată CustomerBillsUnpaid=Facturi clienţi neîncasate @@ -330,8 +330,8 @@ PaymentTypeTIP=TIP PaymentTypeShortTIP=TIP PaymentTypeVAD=Online PaymentTypeShortVAD=Online -PaymentTypeTRA=Bilet la ordin -PaymentTypeShortTRA=Bilet la ordin +PaymentTypeTRA=Plata factura +PaymentTypeShortTRA=Factura BankDetails=Coordonate Bancă BankCode=Cod Bancă DeskCode=Cod Ghiseu @@ -348,6 +348,7 @@ ChequeNumber=Cec Nr ChequeOrTransferNumber=Cec / Transfer Nr ChequeMaker=Emiţător Cec ChequeBank=Banca Cec +CheckBank=Verifică NetToBePaid=Net de plată PhoneNumber=Tel FullPhoneNumber=Telefon @@ -388,7 +389,7 @@ DisabledBecausePayments=Nu este posibil, deoarece există unele plăţi CantRemovePaymentWithOneInvoicePaid=Nu se poate elimina plata deoarece există cel puțin o factură clasificată plătită ExpectedToPay=Plată prevăzută PayedByThisPayment=Achitat prin aceasta plată -ClosePaidInvoicesAutomatically=Clasează "Platită" toate facturile standard sau de înlocuire în întregime platite. +ClosePaidInvoicesAutomatically=Clasează "Platită" toate facturile standard, de situatie sau de înlocuire în întregime platite. ClosePaidCreditNotesAutomatically=Clasează "Platită" toate credit notele returnate în întregime AllCompletelyPayedInvoiceWillBeClosed=Toate facturile cu rest de plată zero vor fi închise automat cu statusul "Plătită". ToMakePayment=Plăteşte @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Responsabil urmarire factură TypeContact_invoice_supplier_external_BILLING=Contact facturare furnizor TypeContact_invoice_supplier_external_SHIPPING=Contact livrare furnizor TypeContact_invoice_supplier_external_SERVICE=Contact service furnizor +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situatie factura +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progres +ModifyAllLines=Modifica toate liniile +CreateNextSituationInvoice=Creaza urmatoarea situatie +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=URmatoarea situatie deja exista +DisabledBecauseFinal=Aceasta situatie este finala +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=Nicio situatie deschisa +InvoiceSituationLast=Factura finala si generala diff --git a/htdocs/langs/ro_RO/cashdesk.lang b/htdocs/langs/ro_RO/cashdesk.lang index f40aaeae237..c454f2afa78 100644 --- a/htdocs/langs/ro_RO/cashdesk.lang +++ b/htdocs/langs/ro_RO/cashdesk.lang @@ -20,10 +20,10 @@ AddThisArticle=Adauga acest articol RestartSelling=Du-te inapoi la vânzare SellFinished=Vânzare terminată PrintTicket=Print bon -NoProductFound=Nici un articol gasit +NoProductFound=Niciun articol gasit ProductFound=produs găsit ProductsFound=produse găsite -NoArticle=Nici un articol +NoArticle=Niciun articol Identification=Identificare Article=Articol Difference=Diferenţă diff --git a/htdocs/langs/ro_RO/categories.lang b/htdocs/langs/ro_RO/categories.lang index ee71f82dd42..89e052dbc09 100644 --- a/htdocs/langs/ro_RO/categories.lang +++ b/htdocs/langs/ro_RO/categories.lang @@ -30,7 +30,7 @@ CatCreated=Categorie creată CreateCat=Crează categorie CreateThisCat=Crează această categorie ValidateFields=Validează câmpurile -NoSubCat=Nici o subcategorie. +NoSubCat=Nicio subcategorie. SubCatOf=Subcategorie FoundCats=Categorii găsite FoundCatsForName=Categorii găsite pentru numele: @@ -51,7 +51,7 @@ CompanyIsInCustomersCategories=Această societate este în următoarele categor CompanyIsInSuppliersCategories=Această societate este în următoarele categorii de furnizori MemberIsInCategories=Acest membru este în următoarele categorii de membri ContactIsInCategories=Acest contact face parte din următoarele categorii de contacte -ProductHasNoCategory=Acest produs / serviciu nu este în nici o categorie +ProductHasNoCategory=Acest produs / serviciu nu este în nicio categorie SupplierHasNoCategory=Acest furnizor nu este în nici o categorie CompanyHasNoCategory=Aceasta companie nu este în nici o categorie MemberHasNoCategory=Acest membru nu este în nici o categorie @@ -71,7 +71,7 @@ DeleteCategory=Şterge categorie ConfirmDeleteCategory=Sigur doriţi să ştergeţi această categorie? RemoveFromCategory=Eliminaţi link-ul cu Categoria RemoveFromCategoryConfirm=Sigur doriţi să eliminaţi legătura dintre tranzacţie şi de categorie? -NoCategoriesDefined=Nici o categorie definită +NoCategoriesDefined=Nicio categorie definită SuppliersCategoryShort=Categorie Furnizori CustomersCategoryShort=Categorie Clienţii ProductsCategoryShort=Categorie Produse diff --git a/htdocs/langs/ro_RO/companies.lang b/htdocs/langs/ro_RO/companies.lang index 40a002486d0..93c5f0623d7 100644 --- a/htdocs/langs/ro_RO/companies.lang +++ b/htdocs/langs/ro_RO/companies.lang @@ -49,7 +49,7 @@ ToCreateContactWithSameName=Va crea automat un contact fizic cu aceleaşi Inform ParentCompany=Societatea-mamă Subsidiary=Filială Subsidiaries=Filiale -NoSubsidiary=Nici o filială +NoSubsidiary=Nicio filială ReportByCustomers=Raport pe client ReportByQuarter=Raport pe rată CivilityCode=Mod adresare @@ -360,7 +360,7 @@ ProspectsByStatus=Prospectele pe status BillingContact=Contatc Facturare NbOfAttachedFiles=Număr fişiere ataşate AttachANewFile=Ataşaţi un fişier nou -NoRIB=Nici un BAN definit +NoRIB=Niciun BAN definit NoParentCompany=Niciunul ExportImport=Import-Export ExportCardToFormat=Export fişă în format diff --git a/htdocs/langs/ro_RO/compta.lang b/htdocs/langs/ro_RO/compta.lang index 16f207b90e9..e400f9eab79 100644 --- a/htdocs/langs/ro_RO/compta.lang +++ b/htdocs/langs/ro_RO/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Cifra de afaceri PaymentsNotLinkedToInvoice=Plăţile nu sunt legate de orice factură, astfel încât nu au legătură cu o terţă parte PaymentsNotLinkedToUser=Plăţile nu sunt legate de orice utilizator Profit=Profit +AccountingResult=Accounting result Balance=Sold Debit=Debit Credit=Credit @@ -112,7 +113,7 @@ LastCheckReceiptShort=Ultimele %s cecuri remise NewCheckReceipt=Discount nou NewCheckDeposit=New verifica depozit NewCheckDepositOn=New verifica depozit în contul: %s -NoWaitingChecks=Nici un cec de depus. +NoWaitingChecks=Niciun cec de depus. DateChequeReceived=Data primire Cec NbOfCheques=Nr cecuri PaySocialContribution=Plătesc o contribuţie socială @@ -141,7 +142,7 @@ RulesResultDue=- Sumele indicate sunt cu toate taxele incluse
- Ea include RulesResultInOut=- Include plățile reale efectuate pe facturi, cheltuielile și TVA.
- Se bazează pe data plăţilor facturilor, cheltuielilor și TVA . RulesCADue=- Ea include clientilor din cauza facturilor, indiferent dacă acestea sunt plătite sau nu.
- Se bazează pe data de validare a acestor facturi.
RulesCAIn=- Ea include toate plăţile efective a facturilor primite de la clienti.
- Se bazează pe data de plată a acestor facturi
-DepositsAreNotIncluded=- Facturile de depozit sunt nici nu sunt incluse +DepositsAreNotIncluded=- Facturile de depozit nu sunt incluse DepositsAreIncluded=- Facturile de depozit sunt incluse LT2ReportByCustomersInInputOutputModeES=Raport de terţă parte IRPF LT1ReportByCustomersInInputOutputModeES=Raport pe terţ RE diff --git a/htdocs/langs/ro_RO/contracts.lang b/htdocs/langs/ro_RO/contracts.lang index 739a7d2f2f8..c90c961b9b9 100644 --- a/htdocs/langs/ro_RO/contracts.lang +++ b/htdocs/langs/ro_RO/contracts.lang @@ -20,7 +20,7 @@ ServiceStatusClosed=Închis ServicesLegend=Legendă Servicii Contracts=Contracte Contract=Contract -NoContracts=Nici un contract +NoContracts=Niciun contract MenuServices=Servicii MenuInactiveServices=Servicii inactive MenuRunningServices=Servicii active diff --git a/htdocs/langs/ro_RO/cron.lang b/htdocs/langs/ro_RO/cron.lang index c774dfce023..173adce646a 100644 --- a/htdocs/langs/ro_RO/cron.lang +++ b/htdocs/langs/ro_RO/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL-ul pentru a verifica și a lansa joburi cron, dacă este OrToLaunchASpecificJob=Sau pentru a verifica și a lansa un anumit job KeyForCronAccess=Cheie de securitate pentru URL de lansare a joburilor cron FileToLaunchCronJobs=Linie de comandă pentru lansare joburi cron -CronExplainHowToRunUnix=Pe mediul Unix veţi utiliza instrumentul crontab pentru a rula linia de comanda la fiecare minut -CronExplainHowToRunWin=Pe mediul Microsoft(tm) Windows puteţi utiliza instrumentul Scheduled task pentru a rula linia de comanda la fiecare minut +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Joburi programate CronListActive=Lista activelor/programatelor joburi diff --git a/htdocs/langs/ro_RO/ecm.lang b/htdocs/langs/ro_RO/ecm.lang index 28b152a9bf9..49c4ce3bb8e 100644 --- a/htdocs/langs/ro_RO/ecm.lang +++ b/htdocs/langs/ro_RO/ecm.lang @@ -43,7 +43,9 @@ ECMDocsByContracts=Documente legate de contractele d ECMDocsByInvoices=Documente legate de facturi clienţi ECMDocsByProducts=Documente legate de produse ECMDocsByProjects=Documente legate de proiecte -ECMNoDirectoryYet=Nici un directorul creat +ECMDocsByUsers=Documente legate de utilizatori +ECMDocsByInterventions=Documente legate de interventii +ECMNoDirectoryYet=Niciun directorul creat ShowECMSection=Arată director DeleteSection=Elimină director ConfirmDeleteSection=Sigur doriţi să ştergeţi directorul %s? diff --git a/htdocs/langs/ro_RO/errors.lang b/htdocs/langs/ro_RO/errors.lang index 0f8dbb21b0a..943cfbc57d5 100644 --- a/htdocs/langs/ro_RO/errors.lang +++ b/htdocs/langs/ro_RO/errors.lang @@ -66,7 +66,7 @@ ErrorNoValueForRadioType=Completaţi valorile pentru lista radio ErrorBadFormatValueList=Valorile din lista nu pot aveae mai mult de o virgulă: % s , dar trebuie să aibă cel puțin una: cheie, valoare ErrorFieldCanNotContainSpecialCharacters=Câmp %s trebuie să nu conţine caractere speciale. ErrorFieldCanNotContainSpecialNorUpperCharacters=Câmpul %s nu trebuie să conțină caractere speciale, nici litere mari. -ErrorNoAccountancyModuleLoaded=Nu activat modul de contabilitate +ErrorNoAccountancyModuleLoaded=Modul de contabilitate neactivat ErrorExportDuplicateProfil=Acest profil nume există deja pentru acest set de export. ErrorLDAPSetupNotComplete=Dolibarr-LDAP de potrivire nu este completă. ErrorLDAPMakeManualTest=A. Ldif fişier a fost generat în directorul %s. Încercaţi să încărcaţi manual de la linia de comandă pentru a avea mai multe informatii cu privire la erori. @@ -82,7 +82,7 @@ ErrorWrongValueForField=Valoarea greşit pentru %s numărul de câmp (val ErrorFieldValueNotIn=Valoare greşită pentru %s numărul de câmp ("%s" valoare nu este o valoare disponibile în %s teren de %s de masă) ErrorFieldRefNotIn=Valoare greşită pentru %s numărul de câmp ("%s" valoarea nu este o ref %s existente) ErrorsOnXLines=Erori pe liniile sursă %s -ErrorFileIsInfectedWithAVirus=Programul antivirus nu a fost în măsură să valideze dosar (dosar ar putea fi infectat cu un virus) +ErrorFileIsInfectedWithAVirus=Programul antivirus nu a validet fisierul (fisierul ar putea fi infectat cu un virus) ErrorSpecialCharNotAllowedForField=Caractere speciale nu sunt permise pentru domeniul "%s" ErrorDatabaseParameterWrong=parametru de configurare baza de date '%s "are o valoare care nu este compatibil de a folosi Dolibarr (valoarea trebuie să aibă" %s "). ErrorNumRefModel=O referire există în baza de date (%s) şi nu este compatibilă cu această regulă de numerotare. înregistra Remove sau redenumite de referinţă pentru a activa acest modul. @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Configurarea modulului pare a fi uncomplete. Du-te l ErrorBadMask=Eroare pe masca ErrorBadMaskFailedToLocatePosOfSequence=Eroare, fără a masca numărul de ordine ErrorBadMaskBadRazMonth=Eroare, Bad resetare valoarea +ErrorMaxNumberReachForThisMask=Numar max atins pentru aceasta masca +ErrorCounterMustHaveMoreThan3Digits=Contorul trebuie sa aiba mai mult de 3 cifre ErrorSelectAtLeastOne=Eroare. Selectaţi cel puţin o intrare. ErrorProductWithRefNotExist=Produs cu "%s" de referinţă, nu există ErrorDeleteNotPossibleLineIsConsolidated=Ştergerea nu este posibilă, deoarece înregistrarea este legată de tranzacţie bancară, care a fost decontată @@ -116,7 +118,7 @@ ErrorBadValueForCode=Bad valoare tipuri de cod. Încercaţi din nou cu o nouă v ErrorBothFieldCantBeNegative=%s Domenii şi %s nu poate fi atât negativ ErrorQtyForCustomerInvoiceCantBeNegative=Cantitatea pentru linia unei facturi client nu poate fi negativa. ErrorWebServerUserHasNotPermission=Contul de utilizator %s folosite pentru a executa serverul de web nu are permisiunea, pentru că -ErrorNoActivatedBarcode=Nici un tip de coduri de bare activat +ErrorNoActivatedBarcode=Niciun tip de coduri de bare activat ErrUnzipFails=Eşec la dezarhivarea fişierului %s cu ZipArchive ErrNoZipEngine=Niciun motor pentru dezarhivarea fișierului %s în acest PHP ErrorFileMustBeADolibarrPackage=Fșierul %s trebuie să fie un pachet zip Dolibarr @@ -156,6 +158,8 @@ ErrorPriceExpression21=Rezultat gol '%s' ErrorPriceExpression22=Rezultat negativ '%s' ErrorPriceExpressionInternal=Eroare internă '%s' ErrorPriceExpressionUnknown=Eroare Necunoscută '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Depozitul sursă și țintă trebuie să difere +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Parametri de setare obligatorii nu sunt încă definiţi diff --git a/htdocs/langs/ro_RO/install.lang b/htdocs/langs/ro_RO/install.lang index 8229522a90d..e74102c3b63 100644 --- a/htdocs/langs/ro_RO/install.lang +++ b/htdocs/langs/ro_RO/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migraţia terminată LastStepDesc=Ultimul pas: Definirea aici nume de utilizator şi parola pe care intenţionaţi să îl utilizaţi pentru conectarea la software-ul. Nu pierde aceasta ca este cont pentru a administra toate celelalte. ActivateModule=Activaţi modul %s ShowEditTechnicalParameters=Click aici pentru a vedea / edita parametrii avansaţi (mod expert) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Actualizare de timp petrecut în secunde MigrationActioncommElement=Actualizare date pe acţiuni MigrationPaymentMode=Migrare de date pentru modul de plată MigrationCategorieAssociation=Migrarea categoriilor +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Afişează opţiunile nedisponibile HideNotAvailableOptions=Acunde opţiunile nedisponibile diff --git a/htdocs/langs/ro_RO/languages.lang b/htdocs/langs/ro_RO/languages.lang index 9bed1e1f8a3..d2edf76d388 100644 --- a/htdocs/langs/ro_RO/languages.lang +++ b/htdocs/langs/ro_RO/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Germană (Austria) Language_de_CH=Germană (Elveţia) Language_el_GR=Greacă Language_en_AU=Engleză (Australia) +Language_en_CA=English (Canada) Language_en_GB=Engleză (Marea Britanie) Language_en_IN=Engleză (India) Language_en_NZ=Engleză (Noua Zeelandă) diff --git a/htdocs/langs/ro_RO/mails.lang b/htdocs/langs/ro_RO/mails.lang index 355cca1880f..0865602554a 100644 --- a/htdocs/langs/ro_RO/mails.lang +++ b/htdocs/langs/ro_RO/mails.lang @@ -54,7 +54,7 @@ ConfirmResetMailing=Atenţie, de reinitializing email-uri %s, va permite ConfirmDeleteMailing=Sunteţi sigur că doriţi să ştergeţi acest emailling? NbOfRecipients=Numărul de beneficiari NbOfUniqueEMails=Nb unic de e-mail-uri -NbOfEMails=Nb de mesaje de poştă electronică +NbOfEMails=Nr EMailuri TotalNbOfDistinctRecipients=Numărul de distincte destinatari NoTargetYet=Nu destinatari definit încă (Du-te la tab-ul 'Recipients') AddRecipients=Adăugaţi destinatari diff --git a/htdocs/langs/ro_RO/main.lang b/htdocs/langs/ro_RO/main.lang index e2932712fd9..c540d9d4dc2 100644 --- a/htdocs/langs/ro_RO/main.lang +++ b/htdocs/langs/ro_RO/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd.MM.yyyy FormatDateShortJavaInput=dd.MM.yyyy FormatDateShortJQuery=dd.mm.yy FormatDateShortJQueryInput=dd.mm.yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y @@ -24,8 +25,8 @@ FormatDateHourTextShort=%d %b %Y %H:%M FormatDateHourText=%d %B %Y %H:%M DatabaseConnection=Conexiunea la baza de date NoTranslation=Fără traducere -NoRecordFound=Nici o înregistrare gasită -NoError=Nici o eroare +NoRecordFound=Nicio înregistrare gasită +NoError=Nicio eroare Error=Eroare ErrorFieldRequired=Câmpul " %s" este obligatoriu ErrorFieldFormat=Câmpul " %s" are o valoare incorectă @@ -49,7 +50,7 @@ ErrorYourCountryIsNotDefined=Țara dvs nu este definită. Cotrectaţi mergînd l ErrorRecordIsUsedByChild=Eşec la ștergerea aceastei înregistrări. Această înregistrare este utilizată de cel puțin o înregistrarei copil. ErrorWrongValue=Valoarea incorectă ErrorWrongValueForParameterX=Valoarea incorectă pentru parametrul% s -ErrorNoRequestInError=Nici o cerere în eroare +ErrorNoRequestInError=Nicio cerere în eroare ErrorServiceUnavailableTryLater=Serviciul indisponibil pentru moment. Încercaţi din nou mai târziu. ErrorDuplicateField=Valoare duplicat într-un câmp unic ErrorSomeErrorWereFoundRollbackIsDone=Câteva erori găsite . Vom reveni asupra modificarilor @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Eroare, salvarea fişierului eşuată. SetDate=setează data SelectDate=selectează data SeeAlso=Vezi şi %s +SeeHere=Vezi aici BackgroundColorByDefault=Culoarea de fundal implicită FileNotUploaded=Fişierul nu a fost încărcat FileUploaded=Fişierul a fost încărcat cu succes @@ -169,6 +171,7 @@ User=Utilizator Users=Utilizatori Group=Grup Groups=Grupuri +NoUserGroupDefined=Niciun grup utilizator definit Password=Parola PasswordRetype=Repetă parola NoteSomeFeaturesAreDisabled=Atenţie, o mulţime de funcţionalităţi / module sunt dezactivate în această demonstraţie. @@ -258,6 +261,7 @@ days=zile Hours=Ore Minutes=Minute Seconds=Secunde +Weeks=Săptămâni Today=Azi Yesterday=Ieri Tomorrow=Mâine @@ -412,7 +416,7 @@ New=Nou Discount=Discount Unknown=Necunoscut General=General -Size=Măsură +Size=Dimensiune Received=Primit Paid=Platit Topic=Subiect @@ -554,7 +558,7 @@ SendByMail=Trimite prin e-mail MailSentBy=E-mail trimis de TextUsedInTheMessageBody=Continut Email SendAcknowledgementByMail=Trimite A.R. prin e-mail -NoEMail=Nici un email +NoEMail=Niciun email NoMobilePhone=Fără număr mobil Owner=Proprietar DetectedVersion=Versiunea Detectată @@ -593,7 +597,7 @@ MenuAWStats=AWStats MenuMembers=Membri MenuAgendaGoogle=Agenda Google ThisLimitIsDefinedInSetup=Limită Dolibarr (Menu Home-setup-securitate): %s Kb, PHP limita: %s Kb -NoFileFound=Nici un document salvat în acest director, +NoFileFound=Niciun document salvat în acest director, CurrentUserLanguage=Limba curentă CurrentTheme=Tema curentă CurrentMenuManager=Manager meniu curent @@ -617,7 +621,7 @@ PDFMerge=Îmbină PDF Merge=Îmbină PrintContentArea=Afişaţi pagina pentru imprimat în zona conţinutului principal MenuManager=Manager Meniu -NoMenu=Nici un submeniu +NoMenu=Niciun submeniu WarningYouAreInMaintenanceMode=Atenție, vă aflați în modul de întreținere, astfel încât numai %s este permis să utilizeze aplicația în acest moment. CoreErrorTitle=Eroare de sistem CoreErrorMessage=Ne pare rau, a aparut o eroare. Verificaţi jurnalele sau contactaţi administratorul de sistem. @@ -662,11 +666,11 @@ BySalesRepresentative=Pe reprezentant de vânzări LinkedToSpecificUsers=Link către un contact utilizator particular DeleteAFile=Şterge fişier ConfirmDeleteAFile=Sigur doriţi să ştergeţi fişierul -NoResults=Nici un Rezultat +NoResults=Niciun Rezultat ModulesSystemTools=Module Instrumente Test=Test Element=Element -NoPhotoYet=Nici o imagine încă disponibilă +NoPhotoYet=Nicio imagine disponibilă HomeDashboard=Home Deductible=Deductibile from=de la @@ -683,6 +687,7 @@ XMoreLines=%s linii(e) ascunse PublicUrl=URL Public AddBox=Adauga box SelectElementAndClickRefresh=Selectează un element şi click Refresh +PrintFile=Printeaza Fisierul %s # Week day Monday=Luni Tuesday=Marţi diff --git a/htdocs/langs/ro_RO/margins.lang b/htdocs/langs/ro_RO/margins.lang index 93c5976147a..d2e5621b25e 100644 --- a/htdocs/langs/ro_RO/margins.lang +++ b/htdocs/langs/ro_RO/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Detalii Marjă ProductMargins=Marjă Produs CustomerMargins=Marje Client SalesRepresentativeMargins=Marje Reprezentanţi vănzări +UserMargins=Marje Utilizator ProductService=Produs sau serviciu AllProducts=Toate produsele şi serviciile ChooseProduct/Service=Alege produs sau serviciu diff --git a/htdocs/langs/ro_RO/members.lang b/htdocs/langs/ro_RO/members.lang index 2699157a357..88e34a08e29 100644 --- a/htdocs/langs/ro_RO/members.lang +++ b/htdocs/langs/ro_RO/members.lang @@ -86,7 +86,7 @@ SubscriptionNotReceivedShort=Neîncasată ListOfSubscriptions=Lista cotizaţii SendCardByMail=Trimite fişa pe email AddMember=Creare membru -NoTypeDefinedGoToSetup=Nici un tip de membru definit. Du-te la meniull "Tipuri Membri" +NoTypeDefinedGoToSetup=Niciun tip de membru definit. Du-te la meniul "Tipuri Membri" NewMemberType=Tip nou Membru WelcomeEMail=Email de bun venit SubscriptionRequired=Necxesită Cotizaţie @@ -151,7 +151,7 @@ GlobalConfigUsedIfNotDefined=Textul definit în configurarea modulului Fundaţie MayBeOverwrited=Acest text poate fi suprascris de valoarea definită pentru tipul de membru ShowTypeCard=Arată tipul ' %s' HTPasswordExport=Generare fişier htpassword -NoThirdPartyAssociatedToMember=Nici un terţ asociat la acest membru +NoThirdPartyAssociatedToMember=Niciun terţ asociat la acest membru ThirdPartyDolibarr=Terţ Dolibarr MembersAndSubscriptions= Membrii şi cotizaţii MoreActions=Acţiuni suplimentare la înregistrare @@ -173,7 +173,7 @@ MembersStatisticsByTown=Statistici Membri după oraşe MembersStatisticsByRegion=Statistici Membri după regiune MemberByRegion=Membrii după regiune NbOfMembers=Număr membri -NoValidatedMemberYet=Nici un membru validat găsit +NoValidatedMemberYet=Niciun membru validat găsit MembersByCountryDesc=Acest ecran vă arată statisticile cu privire la membrii după ţări. Graficul depinde serviciul on-line Google grafic şi este disponibil numai în cazul în care conexiunea la internet este activă. MembersByStateDesc=Acest ecran vă arată statisticile cu privire la membrii după regiuni / judeţe. MembersByTownDesc=Acest ecran vă arată statisticile cu privire la membrii după oraşe. diff --git a/htdocs/langs/ro_RO/orders.lang b/htdocs/langs/ro_RO/orders.lang index ef95a5c8097..e1604cf5fd4 100644 --- a/htdocs/langs/ro_RO/orders.lang +++ b/htdocs/langs/ro_RO/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Comandă Furnizor SuppliersOrders=Comenzi Furnizori SuppliersOrdersRunning=Comenzi Furnizori în curs CustomerOrder=Comandă client -CustomersOrders=Comenzi Clienţi +CustomersOrders=Comenzi clienți CustomersOrdersRunning=Comenzi Clienţi în curs CustomersOrdersAndOrdersLines=Comenzi Clienţi şi linii comenzi OrdersToValid=Comenzi clienţi de validat OrdersToBill=Comenzi Clienţi livrate OrdersInProcess=Comenzi Clienţi în desfăşurare -OrdersToProcess=Comenzi Clienţi de tratat +OrdersToProcess=Comenzi Clienţi de procesat SuppliersOrdersToProcess=Comenzi Furnizori de tratat -StatusOrderCanceledShort=Anulat +StatusOrderCanceledShort=Anulata StatusOrderDraftShort=Schiţă StatusOrderValidatedShort=Validat StatusOrderSentShort=În curs de procesare StatusOrderSent=Livrare în curs -StatusOrderOnProcessShort=Recepţie +StatusOrderOnProcessShort=Comandat StatusOrderProcessedShort=Procesate StatusOrderToBillShort=Livrate StatusOrderToBill2Short=De facturat @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Integral recepţionată StatusOrderCanceled=Anulată StatusOrderDraft=Schiţă (de validat) StatusOrderValidated=Validată -StatusOrderOnProcess=Asteptând recepţia +StatusOrderOnProcess=Comandate - receptie standby StatusOrderProcessed=Procesată StatusOrderToBill=Livrată StatusOrderToBill2=De facturat @@ -50,6 +50,8 @@ StatusOrderRefused=Refuzată StatusOrderReceivedPartially=Parţial recepţionată StatusOrderReceivedAll=Integral recepţionată ShippingExist=O expediţie există +ProductQtyInDraft=Cantitate produs in comenzi draft +ProductQtyInDraftOrWaitingApproved=Cantitate produs in comenzi draft sau aprobate necomandate inca DraftOrWaitingApproved=Comenzi Schiţă sau încă neaprobate DraftOrWaitingShipped=Comenzi Schiţă sau validate încă neexpediate MenuOrdersToBill=Comenzi livrate @@ -72,7 +74,7 @@ AddToDraftOrders=Adaugă la comanda schiţă ShowOrder=Afişează comanda NoOpenedOrders=Nu sunt comenzi deschise NoOtherOpenedOrders=Nu sunt alte comenzi deschise -NoDraftOrders=Nici o comandă schiţă +NoDraftOrders=Nicio comandă schiţă OtherOrders=Alte comenzi LastOrders=Ultimele %s comenzi LastModifiedOrders=Ultimele %s comenzi modificate @@ -130,7 +132,7 @@ Error_COMMANDE_SUPPLIER_ADDON_NotDefined=Constanta COMMANDE_SUPPLIER_ADDON nedef Error_COMMANDE_ADDON_NotDefined=Constanta COMMANDE_ADDON nedefinită Error_FailedToLoad_COMMANDE_SUPPLIER_ADDON_File=Eşec la încărcarea fișierului modul '%s' Error_FailedToLoad_COMMANDE_ADDON_File=Eşec la încărcarea fișierului modul '%s' -Error_OrderNotChecked=Nici o comandă de facturat selectată +Error_OrderNotChecked=Nicio comandă de facturat selectată # Sources OrderSource0=Ofertă Comercială OrderSource1=Internet @@ -152,7 +154,7 @@ OrderByEMail=Email OrderByWWW=Online OrderByPhone=Telefon CreateInvoiceForThisCustomer=Comenzi facturate -NoOrdersToInvoice=Nici o comandă facturabilă +NoOrdersToInvoice=Nicio comandă facturabilă CloseProcessedOrdersAutomatically=Clasează automat "Procesat" toate comenzile selectate. OrderCreation=Creare comandă Ordered=Comandat diff --git a/htdocs/langs/ro_RO/other.lang b/htdocs/langs/ro_RO/other.lang index 8e456987b22..b5114764699 100644 --- a/htdocs/langs/ro_RO/other.lang +++ b/htdocs/langs/ro_RO/other.lang @@ -136,7 +136,7 @@ VolumeUnitinch3=in3 VolumeUnitounce=uncie VolumeUnitlitre=litru VolumeUnitgallon=galon -Size=măsură +Size=dimensiune SizeUnitm=m SizeUnitdm=dm SizeUnitcm=cm diff --git a/htdocs/langs/ro_RO/productbatch.lang b/htdocs/langs/ro_RO/productbatch.lang index fe1147cc7b1..3adfd9dfc8d 100644 --- a/htdocs/langs/ro_RO/productbatch.lang +++ b/htdocs/langs/ro_RO/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Gestionează lot/serie -ProductStatusOnBatch=Gestionat -ProductStatusNotOnBatch=Negestionat -ProductStatusOnBatchShort=Gestionat -ProductStatusNotOnBatchShort=Negestionat +ManageLotSerial=Foloseşte Lot / Număr de serie +ProductStatusOnBatch=Da(Lot / Număr de serie cerut) +ProductStatusNotOnBatch=Nu(Lot / Număr de serie nefolosit) +ProductStatusOnBatchShort=Da +ProductStatusNotOnBatchShort=Nu Batch=Lot / Serie atleast1batchfield=Data expirare sau data de vânzare sau numărul de lot batch_number=Lot / Număr de serie @@ -18,3 +18,4 @@ printQty=Cant: %d AddDispatchBatchLine=Adauga o linie pentru Perioada de valabilitate expediere BatchDefaultNumber=Nedefinit WhenProductBatchModuleOnOptionAreForced=Când modulul de lot / serial este pornit, modul de creștere / scădere a stocului este fortat la ultima alegere și nu poate fi editat. Alte opțiuni pot fi definite după cum doriți. +ProductDoesNotUseBatchSerial=Acest produs nu foloseste numarul de lot / serie diff --git a/htdocs/langs/ro_RO/products.lang b/htdocs/langs/ro_RO/products.lang index eb7b5a7d622..be764a715a5 100644 --- a/htdocs/langs/ro_RO/products.lang +++ b/htdocs/langs/ro_RO/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Cont Contabilitate (vânzare) ProductOrService=Produs sau serviciu ProductsAndServices=Produse si Servicii ProductsOrServices=Produse sau servicii -ProductsAndServicesOnSell=Produse si Servicii disponibile -ProductsAndServicesNotOnSell=Produse si Servicii fără miscare +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Statistici Produse si Servicii ProductsStatistics=Statistici Produse -ProductsOnSell=Produse disponibile -ProductsNotOnSell=Produse fără mişcare -ProductsOnSellAndOnBuy=Produse nesupuse vânzării sau cumpărării -ServicesOnSell=Servicii disponibile -ServicesNotOnSell=Servicii fără miscare -ServicesOnSellAndOnBuy=Servicii nesupuse vânzării sau cumpărării +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Referinţă internă LastRecorded=Ultimele produse / servicii disponibile înregistrate LastRecordedProductsAndServices=Ultimele %s produse / servicii înregistrate @@ -130,7 +130,7 @@ CategoryFilter=Categorie filtru ProductToAddSearch=Cauta produse de adăugat AddDel=Adăugare / Retrage Quantity=Cantitate -NoMatchFound=Nici un rezultat găsit +NoMatchFound=Niciun rezultat găsit ProductAssociationList=Lista de legate de produse / servicii: nume de produse / servicii (cantitatea afectate) ProductParentList=Lista de pachete produse / servicii cu acest produs, ca o componentă ErrorAssociationIsFatherOfThis=Un produs este selectat de părinte cu curent produs @@ -145,10 +145,10 @@ ImportDataset_produit_1=Produse ImportDataset_service_1=Servicii DeleteProductLine=Ştergeţi linia de produse ConfirmDeleteProductLine=Sunteţi sigur că doriţi să ştergeţi această linie de produse? -NoProductMatching=Nici un produs / serviciu se potrivesc cu criteriile +NoProductMatching=Niciun produs / serviciu nu se potriveste cu criteriile MatchingProducts=Potrivire a produselor / serviciilor -NoStockForThisProduct=Nici un stoc pentru acest produs -NoStock=Nici un stoc +NoStockForThisProduct=Niciun stoc pentru acest produs +NoStock=Niciun stoc Restock=Reaprovizionează ProductSpecial=Special QtyMin=Cantitatea minimă @@ -198,7 +198,7 @@ HelpAddThisServiceCard=Această opţiune vă permite să creaţi sau clonaţi un CurrentProductPrice=Preţ curent AlwaysUseNewPrice=Întotdeauna foloseşte preţul curent al produsului/serviciului AlwaysUseFixedPrice=Foloseşte preţul fix -PriceByQuantity=Preţ pe cantitate +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Interval cantitate ProductsDashboard=Sumar Produse/Servicii UpdateOriginalProductLabel=Modifică eticheta originală @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definiția tipului sau valoarea codu BarCodeDataForProduct=Informaţii cod bare al produsului %s : BarCodeDataForThirdparty=Informaţii cod bare al terţului %s : ResetBarcodeForAllRecords=Defineşte valoare coduri de bare pentru toate înregistrările (aceasta va reseta, de asemenea, valorile deja definite, cu valori noi) -PriceByCustomer=Preţ pe client +PriceByCustomer=Different price for each customer PriceCatalogue=Preţ unic pe produs/serviciu -PricingRule=Reguli preturi +PricingRule=Reguli pentru preţuri clienţi AddCustomerPrice=Adaugă Preţ pe client ForceUpdateChildPriceSoc=Setează acelasi preţ pe subsidiarele clientuli PriceByCustomerLog=Log Preţ pe client @@ -244,6 +244,9 @@ MinimumPriceLimit=Preţul minim nu poate fi mai mic decat %s MinimumRecommendedPrice=Preţul minim recomandat este: %s PriceExpressionEditor=Editor expresie preț PriceExpressionSelected=Expresie preț selectatată -PriceExpressionEditorHelp="preț = 2 + 2" sau "2 + 2" pentru stabilirea prețului
Extra câmpurile sunt variabile, cum ar fi ""#options_myextrafieldkey# * 2"
Există variabile speciale, cum ar fi#quantity# and #tva_tx#
Folosiți ; pentru a separa expresiile +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Mod preț PriceNumeric=Număr diff --git a/htdocs/langs/ro_RO/projects.lang b/htdocs/langs/ro_RO/projects.lang index 7c1260c8c9e..52938a5e6eb 100644 --- a/htdocs/langs/ro_RO/projects.lang +++ b/htdocs/langs/ro_RO/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. proiect ProjectId=ID proiect Project=Proiect Projects=Proiecte +ProjectStatus=Project status SharedProject=Toată lumea PrivateProject=Contacte proiect MyProjectsDesc=Această vedere este limitată la proiecte sau sarcini pentru care sunteţi contact(indiferent de tip). @@ -11,7 +12,6 @@ ProjectsDesc=Această vedere prezintă toate proiectele (permisiuni de utilizat MyTasksDesc=Această vedere este limitată la proiecte sau sarcini pentru care sunteţi contact(indiferent de tip). TasksPublicDesc=Această vedere prezintă toate proiectele şi activităţile care sunt permise să le citiţi. TasksDesc=Această vedere prezintă toate proiectele şi sarcinile (permisiuni de utilizator va acorda permisiunea de a vizualiza totul). -Myprojects=Proiectele mele ProjectsArea=Proiecte NewProject=Proiect nou AddProject=Creare proiect @@ -25,9 +25,9 @@ AllProjects=Toate proiectele ProjectsList=Lista proiecte ShowProject=Afişează proiect SetProject=Setare proiect -NoProject=Nici un proiect definit sau responsabil +NoProject=Niciun proiect definit sau responsabil NbOpenTasks=Nr taskuri deschise -NbOfProjects=Nb proiecte +NbOfProjects=Nr proiecte TimeSpent=Timp comsumat TimesSpent=Timpi consumaţi RefTask=Ref. Task @@ -61,7 +61,7 @@ ProgressCalculated=Progres calculat Time=Timp ListProposalsAssociatedProject=Lista oferte comerciale asociate la proiect ListOrdersAssociatedProject=Lista comenzi asociate la proiect -ListInvoicesAssociatedProject=Lista facturi lasociate la proiect +ListInvoicesAssociatedProject=Lista facturi clienti asociate la proiect ListPredefinedInvoicesAssociatedProject=Lista facturi clienţi predefinite asociate la proiect ListSupplierOrdersAssociatedProject=Lista comenzi furnizori asociate la proiectul ListSupplierInvoicesAssociatedProject=Lista facturi furnizori asociate la proiect @@ -103,6 +103,7 @@ CloneContacts=Clonează contacte CloneNotes=Clonează note CloneProjectFiles=Clonează proiect fişiere ataşate CloneTaskFiles=Clonează task(uri) fişiere ataşate (dacă task (urile) clonate) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Sigur vreţi să clonaţi acest proiect? ProjectReportDate=Schimbă data taskului conform cu data de debut a proiectului ErrorShiftTaskDate=Imposibil de schimbat data taskului conform cu noua data de debut a proiectului diff --git a/htdocs/langs/ro_RO/resource.lang b/htdocs/langs/ro_RO/resource.lang index 8a2f531d677..99956badd1a 100644 --- a/htdocs/langs/ro_RO/resource.lang +++ b/htdocs/langs/ro_RO/resource.lang @@ -4,8 +4,8 @@ MenuResourceAdd=Resursă nouă MenuResourcePlanning=Planificare resursă DeleteResource=Şterge resursa ConfirmDeleteResourceElement=Confirmaţi ştergerea resursei pentru acest element -NoResourceInDatabase=Nici o resursă în baza de date. -NoResourceLinked=Nici o resursă legată +NoResourceInDatabase=Nicio resursă în baza de date. +NoResourceLinked=Nicio resursă legată ResourcePageIndex=Lista resurse ResourceSingular=Resursă diff --git a/htdocs/langs/ro_RO/sendings.lang b/htdocs/langs/ro_RO/sendings.lang index ac7cdf554b2..b023dbc1610 100644 --- a/htdocs/langs/ro_RO/sendings.lang +++ b/htdocs/langs/ro_RO/sendings.lang @@ -4,7 +4,8 @@ Sending=Livrare Sendings=Livrari Shipment=Livrare Shipments=Livrari -Receivings=Recepţii +ShowSending=Arata expedieri +Receivings=Receptii SendingsArea=Livrari ListOfSendings=Lista Livrari SendingMethod=Metodă Livrare @@ -14,7 +15,7 @@ SearchASending=Caută o Livrare StatisticsOfSendings=Statistici Livrari NbOfSendings=Număr Livrari NumberOfShipmentsByMonth=Număr livrări pe lună -SendingCard=Fişă Livrare +SendingCard=Fisa Livrare NewSending=Livrare nouă CreateASending=Crează Livrare CreateSending=Crează Livrare @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Anulată StatusSendingDraftShort=Schiţă StatusSendingValidatedShort=Validată StatusSendingProcessedShort=Procesată -SendingSheet=Borderou de livrare +SendingSheet=Aviz expediere Carriers=Transportatori Carrier=Transportator CarriersArea=Transportatori @@ -61,8 +62,12 @@ ShipmentCreationIsDoneFromOrder=Pentru moment, crearea unei noi livrări se face RelatedShippings=Livrări asociate ShipmentLine=Linie de livrare CarrierList=Lista transportatori -SendingRunning=Produs pentru comanda client deja trimis -SuppliersReceiptRunning=Produs pentru comanda furnizor deja recepţionată +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Colectată de client diff --git a/htdocs/langs/ro_RO/stocks.lang b/htdocs/langs/ro_RO/stocks.lang index 0f237212e6f..24a5083aae4 100644 --- a/htdocs/langs/ro_RO/stocks.lang +++ b/htdocs/langs/ro_RO/stocks.lang @@ -8,7 +8,7 @@ MenuNewWarehouse=Depozit nou WarehouseOpened=Depozit deschis WarehouseClosed=Depozit închis WarehouseSource=Depozit Sursa -WarehouseSourceNotDefined=Nici un depozit definit, +WarehouseSourceNotDefined=Niciun depozit definit, AddOne=Adaugă unul WarehouseTarget=Depozit ţintă ValidateSending=Şterge expedierea @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Stoc valoric UserWarehouseAutoCreate=Creaţi un stoc în mod automat atunci când se creează un utilizator QtyDispatched=Cantitate dipecerizată +QtyDispatchedShort=Cant Expediate +QtyToDispatchShort=Cant de expediat OrderDispatch=Dispecerizare Stoc RuleForStockManagementDecrease=Regulă de gestionare a scăderilor de stoc RuleForStockManagementIncrease=Regulă de gestionare a creşterilor de stoc @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Creşterea stocului fizic bazată pe aprobarea comenzilo ReStockOnDispatchOrder=Creşterea stocului fizic bazată pe dispecerizarea manuală , dupa recepţia comenzii ReStockOnDeleteInvoice=Creşterea stocului fizic bazată pe stergerea facturilor OrderStatusNotReadyToDispatch=Comanda nu mai este sau nu mai are un statut care să permită dipecerizarea produselor în depozit -StockDiffPhysicTeoric=Motivul pentru diferenţa dintre stocurile fizice şicele teoretice +StockDiffPhysicTeoric=Explicatie pentru diferenţa dintre stocul fizic şi cel teoretic NoPredefinedProductToDispatch=Nu sunt produse predefinite pentru acest obiect. Deci, nici o dispecerizare în stoc necesară. DispatchVerb=Dispecerizează StockLimitShort=Limita pentru alerta @@ -88,7 +90,7 @@ PersonalStock=Stoc Personal %s ThisWarehouseIsPersonalStock=Acest depozit reprezinta stocul personal al lui %s %s SelectWarehouseForStockDecrease=Alege depozitul pentru scăderea stocului SelectWarehouseForStockIncrease=Alege depozitul pentru creşterea stocului -NoStockAction=Nici o actiune pe stoc +NoStockAction=Nicio actiune pe stoc LastWaitingSupplierOrders=Comenzi nereceptionate DesiredStock=Stoc dorit StockToBuy=De comandat @@ -122,4 +124,9 @@ RuleForStockAvailability=Reguli pentru cereri stoc StockMustBeEnoughForInvoice=Nivelul stocului trebuie să fie suficient pentru a adăuga produsul/serviciul în factură StockMustBeEnoughForOrder=Nivelul stocului trebuie să fie suficient pentru a adăuga produsul/serviciul în comandă StockMustBeEnoughForShipment= Nivelul stocului trebuie să fie suficient pentru a adăuga produsul/serviciul în livrare - +MovementLabel=Eticheta transferului +InventoryCode=Codul de inventar sau transfer +IsInPackage=Continute in pachet +ShowWarehouse=Arată depozit +MovementCorrectStock=Corectie continut stoc pentru produsul %s +MovementTransferStock=Transfer stoc al produsului %s in alt depozit diff --git a/htdocs/langs/ro_RO/suppliers.lang b/htdocs/langs/ro_RO/suppliers.lang index b21a884733d..057f6dab55f 100644 --- a/htdocs/langs/ro_RO/suppliers.lang +++ b/htdocs/langs/ro_RO/suppliers.lang @@ -20,7 +20,7 @@ ErrorQtyTooLowForThisSupplier=Cantitate prea mică pentru această furnizor sau ErrorSupplierCountryIsNotDefined=Ţara pentru acest furnizor nu este definită. Corectaţi pe fişa lui. ProductHasAlreadyReferenceInThisSupplier=Acest produs are deja o referinţă la acest furnizor ReferenceSupplierIsAlreadyAssociatedWithAProduct=Acest furnizor este deja asociat cu referinta: % s -NoRecordedSuppliers=Nici un furnizor înregistrat +NoRecordedSuppliers=Niciun furnizor înregistrat SupplierPayment=Plată Furnizor SuppliersArea=Furnizori RefSupplierShort=Ref. furnizor @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Nici una sau tratate %s ne executate recent SentToSuppliers=Trimite la furnizori ListOfSupplierOrders=Lista comenzi furnizori MenuOrdersSupplierToBill=Comenzi Furnizor de facturat +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/ro_RO/users.lang b/htdocs/langs/ro_RO/users.lang index f68a797e3f1..011eae0c15d 100644 --- a/htdocs/langs/ro_RO/users.lang +++ b/htdocs/langs/ro_RO/users.lang @@ -3,7 +3,7 @@ HRMArea=HRM UserCard=Fişă Utilizator ContactCard=Fişă Contact GroupCard=Fişă Grup -NoContactCard=Nu carte între persoane de contact +NoContactCard=Nu fisa între persoane de contact Permission=Permission Permissions=Permisiuni EditPassword=Modificarea parolei diff --git a/htdocs/langs/ro_RO/withdrawals.lang b/htdocs/langs/ro_RO/withdrawals.lang index a822e29dacf..73cb1153bd5 100644 --- a/htdocs/langs/ro_RO/withdrawals.lang +++ b/htdocs/langs/ro_RO/withdrawals.lang @@ -57,7 +57,7 @@ StatusRefused=Refuzat StatusMotif0=Nespecificat StatusMotif1=Fonduri insuficiente StatusMotif2=Cerere contestată -StatusMotif3=Nici o retragere pentru a +StatusMotif3=Nicio retragere pentru a StatusMotif4=Clientul Ordine StatusMotif5=RIB inutilizabil StatusMotif6=Cont fără sold @@ -79,7 +79,7 @@ CreditDate=Credit pe WithdrawalFileNotCapable=Imposibil de a genera fișierul chitanţă de retragere pentru țara dvs %s (Țara dvs. nu este acceptată) ShowWithdraw=Arată Retragere IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Cu toate acestea, dacă factura are cel puțin o plată de retragere încă neprelucrată, aceasta nu va fi setată ca plătită permite în prealabil gestionarea retragerii. -DoStandingOrdersBeforePayments=Acest tab vă permite să solicitaţi un ordin de plată. Odată ce este dat intră în meniul Bancă> Retragerea de a gestiona ordinul de plată. Când ordinul de plată este închis, plata pe factura va fi înregistrată în mod automat, iar factura închisă dacă restul de plata este nul. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Fişier Retragere SetToStatusSent=Setează statusul "Fişier Trimis" ThisWillAlsoAddPaymentOnInvoice=Aceasta se va aplica, de asemenea, plății facturilor și vor fi clasificate ca "Plătit" diff --git a/htdocs/langs/ro_RO/workflow.lang b/htdocs/langs/ro_RO/workflow.lang index 54287b2ab5e..2f1ffaae228 100644 --- a/htdocs/langs/ro_RO/workflow.lang +++ b/htdocs/langs/ro_RO/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Configurare Modul Flux de Lucru -WorkflowDesc=Acest modul vă permite modificarea comportamentului acțiunilor automate în aplicaţie. În mod implicit, fluxul de lucru este deschis (puteţi face ce doriţi în ordinea dorită). Puteți activa acțiunile\nautomate de care sunteti interesat +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Nu există nici un flux de lucru modificabil pentru modulele activate. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Crează o comandă client automat, după ce o ofertă comercială este semnată descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Crează o factură client automat, după ce o ofertă comercială este semnată diff --git a/htdocs/langs/ru_RU/accountancy.lang b/htdocs/langs/ru_RU/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/ru_RU/accountancy.lang +++ b/htdocs/langs/ru_RU/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/ru_RU/admin.lang b/htdocs/langs/ru_RU/admin.lang index d85f4bd7539..505b6b9dce2 100644 --- a/htdocs/langs/ru_RU/admin.lang +++ b/htdocs/langs/ru_RU/admin.lang @@ -2,13 +2,13 @@ Foundation=Foundation Version=Версия VersionProgram=Версия программы -VersionLastInstall=Версия первоначальной инсталляции +VersionLastInstall=Версия первоначальной установки VersionLastUpgrade=Версия последнего обновления VersionExperimental=Экспериментальная VersionDevelopment=Разработка VersionUnknown=Неизвестно VersionRecommanded=Рекомендуемые -SessionId=Сессия ID +SessionId=ID сессии SessionSaveHandler=Обработчик для сохранения сессий SessionSavePath=Хранение сессии локализации PurgeSessions=Очистка сессий @@ -25,7 +25,7 @@ HTMLCharset=Кодировка для генерируемых HTML-страни DBStoringCharset=Кодировка базы данных для хранения данных DBSortingCharset=Кодировка базы данных для сортировки данных WarningModuleNotActive=Модуль %s должен быть включен -WarningOnlyPermissionOfActivatedModules=Здесь приведены только права, связанные с активированными модулями. Вы можете активировать другие модули на странице Главная->Установка->Модули. +WarningOnlyPermissionOfActivatedModules=в русском переводе нет "Главная->Установка->Модули". Есть "Начало->Настройка->Модули". DolibarrSetup=Установка или обновление Dolibarr DolibarrUser=Пользователь Dolibarr InternalUser=Внутренний пользователь @@ -49,7 +49,7 @@ Chartofaccounts=Chart of accounts Fiscalyear=Fiscal years ErrorReservedTypeSystemSystemAuto=Значение 'system' и 'systemauto' для типа зарезервировано. Вы можете использовать значение 'user' для добавления вашей собственной записи ErrorCodeCantContainZero=Код не может содержать значение 0 -DisableJavascript=Disable JavaScript and Ajax functions (Recommended for blind person or text browsers) +DisableJavascript=Отключить JavaScript и Ajax (Рекомендуется если пользователи пользуются текстовыми браузерами) ConfirmAjax=Использовать всплывающие окна Ajax для подтверждения UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectCompany=Использовать автодополнение для выбора контрагентов вместо листинга @@ -60,11 +60,11 @@ DelaiedFullListToSelectCompany=Wait you press a key before loading content of th DelaiedFullListToSelectContact=Wait you press a key before loading content of contact combo list (This may increase performance if you have a large number of contact) SearchFilter=Настройки поискового фильтра NumberOfKeyToSearch=Кол-во символов для запуска поиска: %s -ViewFullDateActions=Показать полный даты действия в третий лист +ViewFullDateActions=Показывать полные даты событий в третьих листах NotAvailableWhenAjaxDisabled=Недоступно при отключенном Ajax JavascriptDisabled=JavaScript отключен UsePopupCalendar=Использовать всплывающее окно для ввода даты -UsePreviewTabs=Используйте просмотр вкладок +UsePreviewTabs=Использовать вкладки предпросмотра ShowPreview=Предварительный просмотр PreviewNotAvailable=Предварительный просмотр не доступен ThemeCurrentlyActive=Активная тема @@ -74,11 +74,11 @@ TZHasNoEffect=Dates are stored and returned by database server as if they were k Space=Пробел Table=Таблица Fields=Поля -Index=Index +Index=Индекс Mask=Маска NextValue=Следующее значение NextValueForInvoices=Следующее значение (счета-фактуры) -NextValueForCreditNotes=Далее стоимость (кредитных нот) +NextValueForCreditNotes=Следующее значение (credit notes) NextValueForDeposit=Next value (deposit) NextValueForReplacements=Next value (replacements) MustBeLowerThanPHPLimit=Примечание: ваш PHP ограничивает размер загружаемого файла до %s %s независимо от значения этого параметра @@ -93,7 +93,7 @@ AntiVirusParamExample= Пример для ClamWin: --database="C:\\Program File ComptaSetup=Установка модуля контрагентов UserSetup=Установка управления пользователями MenuSetup=Установка управления меню -MenuLimits=Пределы и точность +MenuLimits=Точность и ограничения MenuIdParent=ID родительского меню DetailMenuIdParent=ID родительского меню (EMPTY для верхнего меню) DetailPosition=Порядковый номер меню для определения позиции меню @@ -104,7 +104,7 @@ Setup=Настройка Activation=Активация Active=Активная SetupShort=Настройка -OtherOptions=Другие варианты +OtherOptions=Другие опции OtherSetup=Другие настройки CurrentValueSeparatorDecimal=Десятичный разделитель CurrentValueSeparatorThousand=Разделитель разрядов @@ -114,7 +114,7 @@ IdPermissions=Permissions ID Modules=Модули ModulesCommon=Основные модули ModulesOther=Другие модули -ModulesInterfaces=Интерфейсы модулей +ModulesInterfaces=Модули интерфейса ModulesSpecial=Специальные модули ParameterInDolibarr=Параметр %s LanguageParameter=Языковой параметр %s @@ -122,8 +122,8 @@ LanguageBrowserParameter=Параметр %s LocalisationDolibarrParameters=Параметры локализации ClientTZ=Часовой пояс пользователя ClientHour=Время клиента (пользователя) -OSTZ=Server OS Time Zone -PHPTZ=Time Zone PHP сервера +OSTZ=Часовой пояс сервера +PHPTZ=Часовой пояс PHP сервера PHPServerOffsetWithGreenwich=Сдвиг времени PHP сервера по отношению к Гринвичу (в секундах) ClientOffsetWithGreenwich=Сдвиг времени браузера / Клиента по отношению к Гринвичу (в секундах) DaylingSavingTime=Летнее время (пользователь) @@ -137,7 +137,7 @@ Box=Бокс Boxes=Боксы MaxNbOfLinesForBoxes=Максимальное количество строк в боксе PositionByDefault=Стандартный порядок -Position=Position +Position=Позиция MenusDesc=Менеджеры меню определяют содержание 2-х меню-баров (горизонтального и вертикального бара). MenusEditorDesc=Редактор меню позволяет определить персональные пункты в меню. Используйте его осторожно во избежание нестабильной работы dolibarr или даже полной недоступности меню.
Некоторые модули добавляют пункты в меню (в большинстве случаев в меню Все). Если вы удалили некоторые из пунктов меню по ошибке, вы можете восстановить их, путем отключения и затем опять включения модуля. MenuForUsers=Меню для пользователей @@ -203,13 +203,13 @@ FeatureDisabledInDemo=Функция отключена в демо - Rights=Права BoxesDesc=Боксы - это области экрана которые показывают блоки информации на некоторых страницах. Вы можете выбирать показывать бокс или нет, путем выбора целевой страницы и нажатием на кнопку "Включить", или нажав на корзину, чтобы отключить его. OnlyActiveElementsAreShown=Показаны только элементы из включенных модулей -ModulesDesc=Dolibarr модули определяют функциональность, которая включена в программе. Некоторые модули требуют прав которые вы должны предоставить пользователям, после включения модуля. Нажмите на кнопку вкл/выкл в столбце "Статус" для включения модуля/функционала +ModulesDesc=Модули Dolibarr определяют функциональность, которая включена в программе. Некоторые модули требуют прав которые вы должны предоставить пользователям, после включения модуля. Нажмите на кнопку вкл/выкл в столбце "Статус" для включения модуля/функционала ModulesInterfaceDesc=Интерфейс модулей Dolibarr позволяет добавлять новые функции в зависимости от внешнего программного обеспечения, систем и услуг. ModulesSpecialDesc=Специальные модули - это очень специфичные или редко используемые модули. ModulesJobDesc=Бизнес модули обеспечивают простую предопределенную настройку Dolibarr для конкретного бизнеса. ModulesMarketPlaceDesc=Вы сможете найти больше модулей для загрузки на внешних веб-сайтах в Интернете ... ModulesMarketPlaces=Еще модули ... -DoliStoreDesc=DoliStore, официальный рынок для внешних модулей Dolibarr ERP / CRM +DoliStoreDesc=DoliStore, официальный магазин внешних модулей Dolibarr ERP / CRM DoliPartnersDesc=List with some companies that can provide/develop on-demand modules or features (Note: any Open Source company knowning PHP language can provide you specific development) WebSiteDesc=Веб-сайты, где Вы можете найти еще модули ... URL=Ссылка @@ -225,11 +225,11 @@ Required=Обязательный UsedOnlyWithTypeOption=Used by some agenda option only Security=Безопасность Passwords=Пароли -DoNotStoreClearPassword=Не храните пароли в чистом виде в базе данных - храните зашифрованные значения (Рекомендуем) -MainDbPasswordFileConfEncrypted=База пароль в зашифрованном виде conf.php +DoNotStoreClearPassword=Не хранить пароли в чистом виде в базе данных - хранить зашифрованные значения (Рекомендуем) +MainDbPasswordFileConfEncrypted=Зашифровать пароль к базе в conf.php (Рекомендуется) InstrucToEncodePass=Чтобы поместить зашифрованный пароль в conf.php файл, замените строку
$dolibarr_main_db_pass ="..."
на
$dolibarr_main_db_pass"=crypted:%s" InstrucToClearPass=Чтобы поместить декодированный пароль (прозрачный) в conf.php файл, замените строку
$dolibarr_main_db_pass="crypted:..."
на
$dolibarr_main_db_pass="%s" -ProtectAndEncryptPdfFiles=Защита генерируемых PDF файлов (НЕ РЕКОМЕНДУЕТСЯ для Активированной, нарушает массовое создание PDF) +ProtectAndEncryptPdfFiles=Защита генерируемых PDF файлов (НЕ РЕКОМЕНДУЕТСЯ при массовом создании PDF) ProtectAndEncryptPdfFilesDesc=Защита PDF документа оставляет его доступным для чтения и печати PDF любым браузером. Вместе с тем, редактирование и копирование запрещается. Заметим, что, использование этой опции делает создание глобального аккумулированного PDF перестает работать (как, неоплаченные счета-фактуры). Feature=Особенность DolibarrLicense=Лицензия @@ -294,7 +294,7 @@ DoNotUseInProduction=Не используйте на Production-версии ThisIsProcessToFollow=Это установка для обработки: StepNb=Шаг %s FindPackageFromWebSite=Найти пакет, который обеспечивает функции вы хотите (например, на официальном веб-сайте %s). -DownloadPackageFromWebSite=Скачать пакет с сайта %s. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Распакуйте пакет Dolibarr файл в корневой каталог %s SetupIsReadyForUse=Установка закончена, и Dolibarr готов к использованию с этого нового компонента. NotExistsDirect=Альтернативная root директория не определена.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Выберите модуль: CurrentVersion=Текущая версия Dolibarr CallUpdatePage=Перейдите на страницу, которая обновляет структуру базы данных и данные %s. LastStableVersion=Последняя стабильная версия +UpdateServerOffline=Update server offline GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=Все другие символы в маске останутся нетронутыми.
Пространства, не допускается.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Разделитель ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Библиотека, использованная для генерации PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Экспорт мероприятий Permission71=Читать участники Permission72=Создать / изменить участники Permission74=Удалить участники -Permission75=Настройка типов и параметров для членов +Permission75=Setup types of membership Permission76=Экспорт данных Permission78=Читать подписки Permission79=Создать / изменить подписку @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Удалить отправок Permission111=Читать финансовой отчетности Permission112=Создать / изменить / удалить и сравнить сделок -Permission113=Настройка financiel счетов (создание, управление категориями) -Permission114=Консолидацией сделок +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Экспортные операции и выписки со счета Permission116=Перераспределение средств между счетами Permission117=Управление чеки диспетчерского @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Тип Контрагента DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Настройка отправки по электронной SendmailOptionNotComplete=Предупреждение, на некоторых системах Linux, для отправки электронной почты из электронной почты, Sendmail выполнения установки должны conatins опцию-ба (параметр mail.force_extra_parameters в файле php.ini). Если некоторые получатели не получают электронные письма, попытке изменить этот параметр с PHP mail.force_extra_parameters =-ба). PathToDocuments=Путь к документам PathDirectory=Каталог -SendmailOptionMayHurtBuggedMTA=Функция отправить почту с помощью метода "прямого PHP почты" будет создавать сообщения электронной почты, которые могут быть не правильно обрабатываются некоторые получения почтовых серверов. Результатом является то, что несколько писем не может быть прочитан людьми организовано thoose прослушивается платформ. Это относится к некоторым интернет-провайдеров (Ex: Orange во Франции). Это не проблема в Dolibarr ни в PHP, но на получение почтового сервера. Однако, вы можете добавить опцию MAIN_FIX_FOR_BUGGED_MTA 1 в настройки - другие изменения Dolibarr чтобы избежать этого. Тем не менее, у вас могут возникнуть проблемы с другими серверами, строго соблюдать стандарт SMTP. Другие решения (Рекомендованные) заключается в использовании метода "SMTP разъем библиотека", который не имеет недостатков. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Выбор языка, видимого на экране, может быть изменен:
* Глобально из меню Главная - Настройка - Display
* Только для пользователя User display карточки пользователя (нажмите на Логин вверху экрана). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Чтобы проверить порядок пос FreeLegalTextOnOrders=Свободный текст распоряжения WatermarkOnDraftOrders=Водяные знаки на черновиках Заказов ("Нет" если пусто) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Нажмите для набора модуля настройки ClickToDialUrlDesc=Url called when a click on phone picto is done. Dans l'url, vous pouvez utiliser les balises
__PHONETO__ qui sera remplacé par le téléphone de l'appelé
__PHONEFROM__ qui sera remplacé par le téléphone de l'appelant (le votre)
__LOGIN__ qui sera remplacé par votre login clicktodial (défini sur votre fiche utilisateur)
__PASS__ qui sera remplacé par votre mot de passe clicktodial (défini sur votre fiche utilisateur). @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=Отправка модуля настройки MailingEMailFrom=Отправитель EMail (С) по электронной почте было отправлено по электронной почте: модуль MailingEMailError=Вернуться EMail (ошибки-до) для сообщений электронной почты с ошибками +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Отправитель EMail (С) по электронной почте направил уведомление @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Отправка модуля настройки SendingsReceiptModel=Отправка получения модели SendingsNumberingModules=Отправки нумерации модулей -SendingsAbility=Поддержка листов отправок для поставки клиенту +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=В большинстве случаев отправок поступления используются как бюллетени для заказчика поставки (перечень продуктов для передачи), и бюллетени, которые recevied и подписывается заказчиком. Поэтому поставки продукции квитанции является дублирует функции и редко активирована. -FreeLegalTextOnShippings=Свободный текст на морские перевозки +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Продукция Поставки получения нумерации модуль DeliveryOrderModel=Продукция Поставки получения модели @@ -1414,7 +1420,7 @@ AdvancedEditor=Расширенный редактор ActivateFCKeditor=Включить FCKeditor для: FCKeditorForCompany=WYSIWIG создание / издание компаний описание и сведения FCKeditorForProduct=WYSIWIG создания / выпуска продукции / услуг описание и сведения -FCKeditorForProductDetails=WYSIWIG создании / издании подробно линий продуктов для всех лиц (предложения, приказы, счета-фактуры и т.д. ..)
Внимание: Использование этой опции серьезно не recommanded так как это может создать проблемы с особыми символами и форматирования страниц при создании PDF файлов. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG создание / издание рассылок FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Формат TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/ru_RU/agenda.lang b/htdocs/langs/ru_RU/agenda.lang index ff1b49742b4..0b73270073e 100644 --- a/htdocs/langs/ru_RU/agenda.lang +++ b/htdocs/langs/ru_RU/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Заказ покупателя %s отправлен по эл InvoiceSentByEMail=Счет-фактура клиента %s отправлен по электронной почте SupplierOrderSentByEMail=Поставщик порядке %s отправлены по электронной почте SupplierInvoiceSentByEMail=Поставщиком счета %s отправлены по электронной почте -ShippingSentByEMail=Доставка %s отправлены по электронной почте -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Третья группа создала DateActionPlannedStart= Планируемая дата начала DateActionPlannedEnd= Планируемая дата окончания @@ -68,7 +69,7 @@ DateActionDoneEnd= Реальная дата окончания DateActionStart= Начальная дата DateActionEnd= Конечная дата AgendaUrlOptions1=Можно также добавить следующие параметры для фильтрации вывода: -AgendaUrlOptions2=login=логин= %s ограничить выход на действия, созданный, пострадавших или сделали пользователем %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=logint= %s ограничить выход на действия пользователя, пострадавших %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/ru_RU/banks.lang b/htdocs/langs/ru_RU/banks.lang index bd4fb0390aa..a2601286314 100644 --- a/htdocs/langs/ru_RU/banks.lang +++ b/htdocs/langs/ru_RU/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Учетная запись FinancialAccounts=Счета BankAccount=Банковский счет BankAccounts=Банковские счета +ShowAccount=Show Account AccountRef=Финансовые счета исх AccountLabel=Финансовые счета этикетки CashAccount=Денежные счета diff --git a/htdocs/langs/ru_RU/bills.lang b/htdocs/langs/ru_RU/bills.lang index 5d8569d427e..35392a8c81e 100644 --- a/htdocs/langs/ru_RU/bills.lang +++ b/htdocs/langs/ru_RU/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Счет-фактура Bills=Счета-фактуры -BillsCustomers=Счета-фактуры Покупателям -BillsCustomer=Счета-фактуры Покупателя -BillsSuppliers=Счета-фактуры Поставщиков -BillsCustomersUnpaid=Неоплаченные счета-фактуры Покупателям +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Неоплаченные счета-фактуры Покупателю для %s BillsSuppliersUnpaid=Неоплаченные счетов-фактуры Поставщиков BillsSuppliersUnpaidForCompany=Неоплаченные счета-фактуры поставщика для %s BillsLate=Просроченные платежи -BillsStatistics=Статистика счетов-фактур Покупателям -BillsStatisticsSuppliers=Статистика счетов-фактур Поставщиков +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Неактивны, потому что не могут быть стерты InvoiceStandard=Стандартный счет-фактура InvoiceStandardAsk=Стандартный счет-фактура @@ -348,6 +348,7 @@ ChequeNumber=Чек N ChequeOrTransferNumber=Чек/Перевод N ChequeMaker=Проверьте отправителя ChequeBank=Банк чека +CheckBank=Check NetToBePaid=Чистыми к оплате PhoneNumber=Тел. FullPhoneNumber=Телефон @@ -388,7 +389,7 @@ DisabledBecausePayments=Невозможно, поскольку есть нек CantRemovePaymentWithOneInvoicePaid=Не удается удалить оплаты поскольку есть по крайней мере один счет-фактура классифицированный как 'оплачен' ExpectedToPay=Ожидаемые платежи PayedByThisPayment=Оплачен этим платежом -ClosePaidInvoicesAutomatically=Классифицировать как 'Оплачен' все полностью оплаченные счета-фактуры. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=Все счета, без остатка к оплате будут автоматически закрыты со статусом "Оплачен". ToMakePayment=Pay @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Четко отследить TypeContact_invoice_supplier_external_BILLING=обратитесь в отдел счетов-фактур Поставщика TypeContact_invoice_supplier_external_SHIPPING=обратитесь в службу доставки Поставщика TypeContact_invoice_supplier_external_SERVICE=обратитесь в клиентскую службу Поставщика +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/ru_RU/compta.lang b/htdocs/langs/ru_RU/compta.lang index ba15732dac1..f6c71001a14 100644 --- a/htdocs/langs/ru_RU/compta.lang +++ b/htdocs/langs/ru_RU/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Оборот PaymentsNotLinkedToInvoice=Платежи, не связанные с какой-либо счет, это не связано с какой-либо третьей стороны PaymentsNotLinkedToUser=Платежи, не связанные с какой-либо пользователь Profit=Прибыль +AccountingResult=Accounting result Balance=Баланс Debit=Дебет Credit=Кредит diff --git a/htdocs/langs/ru_RU/cron.lang b/htdocs/langs/ru_RU/cron.lang index e99cb254519..0646dce05fb 100644 --- a/htdocs/langs/ru_RU/cron.lang +++ b/htdocs/langs/ru_RU/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Запланированные задания CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/ru_RU/ecm.lang b/htdocs/langs/ru_RU/ecm.lang index ea4133c5be2..18e063ef298 100644 --- a/htdocs/langs/ru_RU/ecm.lang +++ b/htdocs/langs/ru_RU/ecm.lang @@ -23,10 +23,10 @@ ECMNewDocument=Новый документ ECMCreationDate=Дата создания ECMNbOfFilesInDir=Количество файлов в каталоге ECMNbOfSubDir=Количество суб-директории -# ECMNbOfFilesInSubDir=Number of files in sub-directories +ECMNbOfFilesInSubDir=Number of files in sub-directories ECMCreationUser=Creator -# ECMArea=EDM area -# ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. +ECMArea=EDM area +ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. ECMAreaDesc2=* Автоматическая справочники заполняются автоматически при добавлении документов с карточкой элемента.
* Руководство каталогов можно использовать для сохранения документов, не связанных с конкретным элементом. ECMSectionWasRemoved=Каталог %s удален. ECMDocumentsSection=Документ каталога @@ -35,14 +35,16 @@ ECMSearchByEntity=Поиск объекта ECMSectionOfDocuments=Справочные документы ECMTypeManual=Руководство ECMTypeAuto=Автоматическая -# ECMDocsBySocialContributions=Documents linked to social contributions +ECMDocsBySocialContributions=Documents linked to social contributions ECMDocsByThirdParties=Документы, связанные с третьими сторонами ECMDocsByProposals=Документы, связанные с предложениями ECMDocsByOrders=Документы, связанные с заказчиками заказов ECMDocsByContracts=Документы, связанные с контрактами ECMDocsByInvoices=Документы, связанные с заказчиками счетами ECMDocsByProducts=Документы, связанные с продуктами -# ECMDocsByProjects=Documents linked to projects +ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=Нет создали каталог ShowECMSection=Показать каталог DeleteSection=Удаление директории @@ -51,5 +53,5 @@ ECMDirectoryForFiles=Относительная каталог файлов CannotRemoveDirectoryContainsFiles=Удалена не представляется возможным, поскольку в нем содержатся некоторые файлы ECMFileManager=Файловый менеджер ECMSelectASection=Выберите каталог на левом дереве ... -# DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. +DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. diff --git a/htdocs/langs/ru_RU/errors.lang b/htdocs/langs/ru_RU/errors.lang index 34a00865c83..8b096b83105 100644 --- a/htdocs/langs/ru_RU/errors.lang +++ b/htdocs/langs/ru_RU/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Установка модуля выглядит г ErrorBadMask=Ошибка на маску ErrorBadMaskFailedToLocatePosOfSequence=Ошибка, маска без порядкового номера ErrorBadMaskBadRazMonth=Ошибка, плохое значение сброса +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Ошибка. Выберите хотя бы одну запись. ErrorProductWithRefNotExist=Изделие с %s ссылки не существуют ErrorDeleteNotPossibleLineIsConsolidated=Удаление невозможно, потому что запись связана с банком transation, который согласован @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Обязательные параметры не определены diff --git a/htdocs/langs/ru_RU/externalsite.lang b/htdocs/langs/ru_RU/externalsite.lang index 08fbccee1d6..576afe3efc9 100644 --- a/htdocs/langs/ru_RU/externalsite.lang +++ b/htdocs/langs/ru_RU/externalsite.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - externalsite -ExternalSiteSetup=Установка ссылки на внешние веб-сайт +ExternalSiteSetup=Установка ссылки на внешний веб-сайт ExternalSiteURL=URL внешнего сайта ExternalSiteModuleNotComplete=Модуль ВнешнийСайт не был надлежащим образом настроен. -ExampleMyMenuEntry=My menu entry +ExampleMyMenuEntry=Пункт моего меню diff --git a/htdocs/langs/ru_RU/install.lang b/htdocs/langs/ru_RU/install.lang index aa17464f187..a2512709918 100644 --- a/htdocs/langs/ru_RU/install.lang +++ b/htdocs/langs/ru_RU/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Миграция завершена LastStepDesc=Последний шаг: Определить здесь Логин и пароль, которые вы планируете использовать для подключения к программному обеспечению. Как не потерять эту, как это внимание, чтобы управлять всеми другими. ActivateModule=Активировать модуль %s ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Oppdater tid i sekunder MigrationActioncommElement=Обновление данных о действиях MigrationPaymentMode=Миграция данных для оплаты режим MigrationCategorieAssociation=Миграция категорий +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Показать недоступные опции HideNotAvailableOptions=Скрыть недоступные опции diff --git a/htdocs/langs/ru_RU/languages.lang b/htdocs/langs/ru_RU/languages.lang index ceb51f7a187..81ba28a1c8f 100644 --- a/htdocs/langs/ru_RU/languages.lang +++ b/htdocs/langs/ru_RU/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Немецкий (Австрия) Language_de_CH=German (Switzerland) Language_el_GR=Греческий Language_en_AU=Английский (Австралия) +Language_en_CA=English (Canada) Language_en_GB=Английский (Великобритания) Language_en_IN=Английский (Индия) Language_en_NZ=Английский (Новая Зеландия) diff --git a/htdocs/langs/ru_RU/link.lang b/htdocs/langs/ru_RU/link.lang index 8b1efb75ef3..db399a6feed 100644 --- a/htdocs/langs/ru_RU/link.lang +++ b/htdocs/langs/ru_RU/link.lang @@ -1,8 +1,8 @@ -LinkANewFile=Link a new file/document -LinkedFiles=Linked files and documents -NoLinkFound=No registered links -LinkComplete=The file has been linked successfully -ErrorFileNotLinked=The file could not be linked -LinkRemoved=The link %s has been removed -ErrorFailedToDeleteLink= Failed to remove link '%s' -ErrorFailedToUpdateLink= Failed to update link '%s' +LinkANewFile=Создать ссылку на файл или документ +LinkedFiles=Ссылки на файлы и документы +NoLinkFound=Нет зарегистрированных ссылок +LinkComplete=Создана ссылка на файл +ErrorFileNotLinked=Не возможно создать ссылку на файл +LinkRemoved=Ссылка на файл %s удалена +ErrorFailedToDeleteLink= При удалении ссылки на файл '%s' возникла ошибка +ErrorFailedToUpdateLink= При обновлении ссылки на файл '%s' возникла ошибка diff --git a/htdocs/langs/ru_RU/main.lang b/htdocs/langs/ru_RU/main.lang index bdd90bf67cf..8e120892b47 100644 --- a/htdocs/langs/ru_RU/main.lang +++ b/htdocs/langs/ru_RU/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd.MM.yyyy FormatDateShortJavaInput=dd.MM.yyyy FormatDateShortJQuery=dd.mm.yy FormatDateShortJQueryInput=dd.mm.yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Ошибка, не удалось сохранить фа SetDate=Установить дату SelectDate=Выбрать дату SeeAlso=Смотрите также %s +SeeHere=See here BackgroundColorByDefault=Цвет фона по умолчанию FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=Пользователь Users=Пользователи Group=Группа Groups=Группы +NoUserGroupDefined=No user group defined Password=Пароль PasswordRetype=Повторите ваш пароль NoteSomeFeaturesAreDisabled=Обратите внимание, что многие возможности/модули отключены в этой демонстрации. @@ -258,6 +261,7 @@ days=дней Hours=Часов Minutes=Минут Seconds=Секунд +Weeks=Weeks Today=Сегодня Yesterday=Вчера Tomorrow=Завтра @@ -683,6 +687,7 @@ XMoreLines=%s строк(и) скрыто PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Понедельник Tuesday=Вторник diff --git a/htdocs/langs/ru_RU/margins.lang b/htdocs/langs/ru_RU/margins.lang index 2c812410598..15722615c4a 100644 --- a/htdocs/langs/ru_RU/margins.lang +++ b/htdocs/langs/ru_RU/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Детали наценки ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Продукт или Услуга AllProducts=Все продукты и услуги ChooseProduct/Service=Выберите продукт или услугу diff --git a/htdocs/langs/ru_RU/orders.lang b/htdocs/langs/ru_RU/orders.lang index 6d2e03bcbb3..41bf0b62e66 100644 --- a/htdocs/langs/ru_RU/orders.lang +++ b/htdocs/langs/ru_RU/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Для поставщиков SuppliersOrders=Поставщики заказ SuppliersOrdersRunning=Текущие поставщиков заказов CustomerOrder=Для клиентов -CustomersOrders=Клиенты заказ +CustomersOrders=Customers orders CustomersOrdersRunning=Текущие клиентов заказы CustomersOrdersAndOrdersLines=Клиент приказов и распоряжений линий -OrdersToValid=Приказы по силе -OrdersToBill=Заказы на законопроект -OrdersInProcess=Заказы в процессе -OrdersToProcess=Заказы на процесс +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Поставщика заказов для обработки StatusOrderCanceledShort=Отменен StatusOrderDraftShort=Черновик StatusOrderValidatedShort=Подтвержденные StatusOrderSentShort=В процессе StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=В процессе +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Обработано StatusOrderToBillShort=В законопроекте StatusOrderToBill2Short=Для выставления @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Все полученные StatusOrderCanceled=Отменен StatusOrderDraft=Проект (должно быть подтверждено) StatusOrderValidated=Подтвержденные -StatusOrderOnProcess=В процессе +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Обработано StatusOrderToBill=В законопроекте StatusOrderToBill2=Для выставления @@ -50,6 +50,8 @@ StatusOrderRefused=Отказался StatusOrderReceivedPartially=Частично получил StatusOrderReceivedAll=Все полученные ShippingExist=Отгрузки существует +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Проект или утверждены еще не заказал DraftOrWaitingShipped=Проект или подтверждены не отгружен MenuOrdersToBill=Заказы на законопроект diff --git a/htdocs/langs/ru_RU/productbatch.lang b/htdocs/langs/ru_RU/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/ru_RU/productbatch.lang +++ b/htdocs/langs/ru_RU/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/ru_RU/products.lang b/htdocs/langs/ru_RU/products.lang index c94b0a8803c..a8b06bf9c23 100644 --- a/htdocs/langs/ru_RU/products.lang +++ b/htdocs/langs/ru_RU/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Бухгалтерия код (продать) ProductOrService=Продукт или услуга ProductsAndServices=Продукты и услуги ProductsOrServices=Продукты и услуги -ProductsAndServicesOnSell=Продукты и услуги по продаже -ProductsAndServicesNotOnSell=Продукты и услуги из продать +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Продукты и услуги статистика ProductsStatistics=Продукты статистика -ProductsOnSell=Товары на продажу -ProductsNotOnSell=Продукты из продать -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Услуги по продаже -ServicesNotOnSell=Услуги вне продать -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Внутренние ссылки LastRecorded=Последние продукты / услуги по продаже зарегистрировано LastRecordedProductsAndServices=Последнее %s зарегистрированные продукции / услуг @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Текущая цена AlwaysUseNewPrice=Всегда использовать текущую цену продукта/услуги AlwaysUseFixedPrice=Использовать фиксированную цену -PriceByQuantity=Цена за количество +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Информация по штрих-коду продукта %s: BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Правила ценообразования +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/ru_RU/projects.lang b/htdocs/langs/ru_RU/projects.lang index ec8ab9c70d4..23b620b3ce4 100644 --- a/htdocs/langs/ru_RU/projects.lang +++ b/htdocs/langs/ru_RU/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=ID Проекта Project=Проект Projects=Проекты +ProjectStatus=Project status SharedProject=Общий проект PrivateProject=Контакты проекта MyProjectsDesc=Эта точка зрения ограничена проекты, которые Вы контакте (что бы это тип). @@ -11,7 +12,6 @@ ProjectsDesc=Эта точка зрения представляет все пр MyTasksDesc=Эта точка зрения ограничена на проекты или задачи, которые являются для контакта (что бы это тип). TasksPublicDesc=Эта точка зрения представляет всех проектов и задач, которые могут читать. TasksDesc=Эта точка зрения представляет всех проектов и задач (разрешений пользователей предоставить вам разрешение для просмотра всего). -Myprojects=Мои проекты ProjectsArea=Проекты области NewProject=Новый проект AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Дублировать контакты CloneNotes=Дублировать заметки CloneProjectFiles=Дублировать файлы, связанные с проектом CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Вы уверены, что хотите дублировать этот проект? ProjectReportDate=Изменить дату задачи в соответствии с датой начала проекта ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/ru_RU/sendings.lang b/htdocs/langs/ru_RU/sendings.lang index d78afdf7338..154a05a98d6 100644 --- a/htdocs/langs/ru_RU/sendings.lang +++ b/htdocs/langs/ru_RU/sendings.lang @@ -4,7 +4,8 @@ Sending=Отправка Sendings=Отправок Shipment=Отправка Shipments=Поставки -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Отправок области ListOfSendings=Список отправок SendingMethod=Отправка метод @@ -14,7 +15,7 @@ SearchASending=Поиск направления StatisticsOfSendings=Статистика отправок NbOfSendings=Число отправок NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Shipping card +SendingCard=Shipment card NewSending=Новые направления CreateASending=Создать отправке CreateSending=Создать отправке @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Отменен StatusSendingDraftShort=Черновик StatusSendingValidatedShort=Подтвержденные StatusSendingProcessedShort=Обработано -SendingSheet=Отправка листа +SendingSheet=Shipment sheet Carriers=Перевозчики Carrier=Перевозчик CarriersArea=Перевозчики области @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Acions на судоходство LinkToTrackYourPackage=Ссылка на дорожку ваш пакет ShipmentCreationIsDoneFromOrder=На данный момент, создание новой партии производится с целью карту. -RelatedShippings=Related shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Catch заказчиком diff --git a/htdocs/langs/ru_RU/stocks.lang b/htdocs/langs/ru_RU/stocks.lang index 28174e8f252..4a5e5c6071f 100644 --- a/htdocs/langs/ru_RU/stocks.lang +++ b/htdocs/langs/ru_RU/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Склады стоимости UserWarehouseAutoCreate=Создать запас автоматически при создании пользователя QtyDispatched=Количество направил +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Приказ диспетчерского RuleForStockManagementDecrease=Правило для управления запасами сокращение RuleForStockManagementIncrease=Правило для управления запасами увеличить @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Увеличение реальных запасов по ReStockOnDispatchOrder=Увеличение реальных запасов на ручной посылаем в склады, после получения заказа поставщиком ReStockOnDeleteInvoice=Увеличить реальные остатки при удалении счета-фактуры OrderStatusNotReadyToDispatch=Заказ еще не или не более статуса, который позволяет отправку товаров на складе склады. -StockDiffPhysicTeoric=Причина разницы запас физических и теоретических +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Нет предопределенного продуктов для данного объекта. Так что не диспетчеризации в акции не требуется. DispatchVerb=Отправка StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Массовое перемещение остатков SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Приходы по этому заказу +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Перемещения остатков записаны RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/ru_RU/suppliers.lang b/htdocs/langs/ru_RU/suppliers.lang index 9ce90a49a4b..02adddbc84c 100644 --- a/htdocs/langs/ru_RU/suppliers.lang +++ b/htdocs/langs/ru_RU/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Поставщики Supplier=Поставщик -AddSupplier=Добавить поставщика +AddSupplier=Create a supplier SupplierRemoved=Поставщик удален SuppliersInvoice=Счета-фактуры от поставщиков NewSupplier=Новый поставщик @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Ни одна партия или% не побе SentToSuppliers=Отправлено поставщикам ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/ru_RU/users.lang b/htdocs/langs/ru_RU/users.lang index 94c544bc7ea..7824adbfa51 100644 --- a/htdocs/langs/ru_RU/users.lang +++ b/htdocs/langs/ru_RU/users.lang @@ -20,10 +20,10 @@ DisableUser=Выключать DisableAUser=Отключение пользователя DeleteUser=Удалить DeleteAUser=Удалить пользователя -DisableGroup=Выключать +DisableGroup=Отключить DisableAGroup=Отключить группу EnableAUser=Включить пользователя -EnableAGroup=Включить группы +EnableAGroup=Включить группу DeleteGroup=Удалить DeleteAGroup=Удалить группу ConfirmDisableUser=Вы уверены, что хотите, чтобы отключить пользователя %s? @@ -47,7 +47,7 @@ SuperAdministratorDesc=Администратор со всеми правами AdministratorDesc=Администратора лица DefaultRights=По умолчанию разрешения DefaultRightsDesc=Определить здесь умолчанию разрешения, что автоматически предоставляются новые созданные пользователем. -DolibarrUsers=Dolibarr пользователей +DolibarrUsers=Пользователи Dolibarr LastName=Имя FirstName=Имя ListOfGroups=Список групп @@ -93,19 +93,19 @@ Inherited=Унаследованный UserWillBeInternalUser=Созданный пользователь будет внутреннего пользователя (потому что не связаны с определенным третьим лицам) UserWillBeExternalUser=Созданный пользователь будет внешний пользователь (из-за связанных с определенной третьей стороны) IdPhoneCaller=Идентификатор телефона абонента -UserLogged=Пользователь% связаны с -UserLogoff=Пользователь %s выхода -NewUserCreated=Пользователь %s создали +UserLogged=Пользователь %s авторизован +UserLogoff=Пользователь %s вышел +NewUserCreated=Пользователь %s создан NewUserPassword=Смена пароля для %s -EventUserModified=Пользователь% с измененными -UserDisabled=Пользователь %s-инвалидов -UserEnabled=Пользователь %s активированного +EventUserModified=Пользователь %s изменен +UserDisabled=Пользователь %s отключен +UserEnabled=Пользователь %s активирован UserDeleted=Пользователь %s удален -NewGroupCreated=Группа создала %s -GroupModified=Group %s modified -GroupDeleted=Группа удалить %s -ConfirmCreateContact=Вы уверены, что Ю. хотите создать Dolibarr счета для этого обратиться? -ConfirmCreateLogin=Вы уверены, что хотите создать учетную запись для Dolibarr этот член? +NewGroupCreated=Создана группа %s +GroupModified=Группа %s изменена +GroupDeleted=Удалена группа %s +ConfirmCreateContact=Вы уверены, что хотите создать аккаунт в Dolibarr для этого контакта? +ConfirmCreateLogin=Вы уверены, что хотите создать аккаунт в Dolibarr для этого пользователя? ConfirmCreateThirdParty=Вы уверены, что хотите создать третью сторону для этого члена? LoginToCreate=Логин для создания NameToCreate=Имя третьей стороной для создания @@ -114,9 +114,9 @@ YourQuotaOfUsersIsReached=Квота активных пользователей NbOfUsers=Кол-во пользователей DontDowngradeSuperAdmin=Только суперамин может понизить суперамин HierarchicalResponsible=Supervisor -HierarchicView=Hierarchical view +HierarchicView=Иерархический вид UseTypeFieldToChange=Use field Type to change OpenIDURL=OpenID URL LoginUsingOpenID=Использовать OpenID для входа WeeklyHours=Weekly hours -ColorUser=Color of the user +ColorUser=Цвет пользователя diff --git a/htdocs/langs/ru_RU/withdrawals.lang b/htdocs/langs/ru_RU/withdrawals.lang index 1e27c270b19..e8450fccbba 100644 --- a/htdocs/langs/ru_RU/withdrawals.lang +++ b/htdocs/langs/ru_RU/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Кредит на WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Показать Вывод IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Однако, если счет-фактура имеет по крайней мере один вывод оплаты еще не обработан, то он не будет установлен, как оплачиваются, чтобы управлять снятие ранее. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/ru_RU/workflow.lang b/htdocs/langs/ru_RU/workflow.lang index 7356cca7b25..b312c499df5 100644 --- a/htdocs/langs/ru_RU/workflow.lang +++ b/htdocs/langs/ru_RU/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Установка модуля Рабочих процессов -WorkflowDesc=Этот модуль является designed изменить поведение автоматического действия в приложении. По умолчанию рабочий процесс открыт (вы делаете вещь, чтобы вы хотите). Вы можете включить автоматическую действия, которые вам интересны дюйма +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Существует не рабочий процесс можно изменить для модуля активации. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Создать заказ клиента автоматически после коммерческое предложение подписано descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Создать счет клиента автоматически после коммерческое предложение подписано diff --git a/htdocs/langs/sk_SK/accountancy.lang b/htdocs/langs/sk_SK/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/sk_SK/accountancy.lang +++ b/htdocs/langs/sk_SK/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/sk_SK/admin.lang b/htdocs/langs/sk_SK/admin.lang index c726f320ec8..e1e17cfe342 100644 --- a/htdocs/langs/sk_SK/admin.lang +++ b/htdocs/langs/sk_SK/admin.lang @@ -49,7 +49,7 @@ Chartofaccounts=Chart of accounts Fiscalyear=Fiscal years ErrorReservedTypeSystemSystemAuto=Hodnota "systém" a "systemauto" typu je vyhradená. Môžete použiť "používateľom" ako hodnota pridať svoj vlastný rekord ErrorCodeCantContainZero=Kód môže obsahovať hodnotu 0 -DisableJavascript=Disable JavaScript and Ajax functions (Recommended for blind person or text browsers) +DisableJavascript=Vypnúť JavaScript a funkcie Ajax (Odporúča sa pre nevidiace osoby alebo pri textových prehliadačoch) ConfirmAjax=Použitie Ajax potvrdenie vyskakovacie okná UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectCompany=Use autocompletion fields to choose third parties instead of using a list box. @@ -120,9 +120,9 @@ ParameterInDolibarr=Parameter %s LanguageParameter=%s Jazykové parametrov LanguageBrowserParameter=Parameter %s LocalisationDolibarrParameters=Lokalizácia parametre -ClientTZ=Client Time Zone (user) -ClientHour=Client time (user) -OSTZ=Server OS Time Zone +ClientTZ=Časová zóna klienta (používateľ) +ClientHour=Čas klienta (používateľa) +OSTZ=Čas servera PHPTZ=PHP servera Časová zóna PHPServerOffsetWithGreenwich=PHP servera offset šírka Greenwich (v sekundách) ClientOffsetWithGreenwich=Klient / Browser offset šírka Greenwich (v sekundách) @@ -137,7 +137,7 @@ Box=Box Boxes=Krabica MaxNbOfLinesForBoxes=Maximálny počet riadkov pre boxy PositionByDefault=Predvolené poradie -Position=Position +Position=Pozícia MenusDesc=Ponuky manažéri definovať obsah 2 panely ponúk (horizontálny a vertikálny bar bar). MenusEditorDesc=Menu Editor vám umožní definovať individuálne položky v menu. Použite ho opatrne, aby sa vyhla Dolibarr nestabilné a položky menu trvale nedostupný.
Niektoré moduly pridať položky v menu (v menu Všetko vo väčšine prípadov). Ak ste odstránili niektoré z týchto položiek omylom, môžete ich obnoviť vypnutím a opätovným zapnutím modulu. MenuForUsers=Menu pre užívateľov @@ -294,7 +294,7 @@ DoNotUseInProduction=Nepoužívajte vo výrobe ThisIsProcessToFollow=To je nastavený tak, aby proces: StepNb=Krok %s FindPackageFromWebSite=Nájsť balíčka, ktorý obsahuje funkciu, ktorú chcete (napr. na oficiálnych webových stránkach %s). -DownloadPackageFromWebSite=Stiahnite si balíček. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Rozbaľte súbor balíka do %s Dolibarr v koreňovom adresári SetupIsReadyForUse=Inštalácia je dokončená a Dolibarr je pripravený na použitie s touto nový komponent. NotExistsDirect=Alternatívne koreňový adresár nie je definovaná.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Vyberte modul: CurrentVersion=Dolibarr aktuálna verzia CallUpdatePage=Prejdite na stránku, ktorá aktualizuje databázovú štruktúru a údaje: %s. LastStableVersion=Posledná stabilná verzia +UpdateServerOffline=Update server offline GenericMaskCodes=Môžete zadať akékoľvek masku číslovanie. V tejto maske, by mohli byť použité nasledovné značky:
{000000} zodpovedá množstvu, ktoré sa zvýšia na každej %s. Vložiť počet núl na požadovanú dĺžku pultu. Počítadlo sa vyplní nulami zľava, aby sa čo najviac nuly ako maska.
{000000} 000 rovnako ako predchádzajúce, ale posun zodpovedá číslu na pravej strane znamienko + je aplikovaný začína na prvej %s.
{000000 @ x} rovnaká ako predchádzajúca, ale počítadlo sa resetuje na nulu, keď je mesiac x hodnoty (x medzi 1 a 12 alebo 0, používať prvých mesiacoch fiškálneho roka definované v konfigurácii, alebo 99 pre resetovanie na nulu každý mesiac ). Ak je táto voľba sa používa, a x je 2 alebo vyššia, potom postupnosť {yy} {mm} alebo {yyyy} {} mm je tiež potrebné.
{Dd} deň (01 až 31).
{Mm} mesiac (01 až 12).
{Yy}, {RRRR} alebo {y} ročne po dobu 2, 4 alebo 1 číslice.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=Všetky ostatné znaky v maske zostanú nedotknuté.
Medzery nie sú povolené.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Vyberte z tabuľky ExtrafieldSeparator=Oddeľovač ExtrafieldCheckBox=Zaškrtávacie políčko ExtrafieldRadio=Prepínač +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Knižnica použiť na vytvorenie PDF WarningUsingFPDF=Upozornenie: Váš conf.php obsahuje direktívu dolibarr_pdf_force_fpdf = 1. To znamená, že môžete používať knižnicu FPDF pre generovanie PDF súborov. Táto knižnica je stará a nepodporuje mnoho funkcií (Unicode, obraz transparentnosť, azbuka, arabské a ázijské jazyky, ...), takže môže dôjsť k chybám pri generovaní PDF.
Ak chcete vyriešiť tento a majú plnú podporu generovanie PDF, stiahnite si TCPDF knižnice , potom komentár alebo odstrániť riadok $ dolibarr_pdf_force_fpdf = 1, a namiesto neho doplniť $ dolibarr_lib_TCPDF_PATH = 'path_to_TCPDF_dir " LocalTaxDesc=Niektoré krajiny používajú 2 alebo 3 dane na každú faktúru riadku. Ak je to tento prípad, vybrať typ druhom a treťom dane a jej sadzba. Možné typom sú:
1: pobytová taxa platí o produktoch a službách bez DPH (nie je aplikovaný na miestnej dane)
2: pobytová taxa platí o produktoch a službách pred DPH (je vypočítaná na sumu + localtax)
3: pobytová taxa platí na výrobky bez DPH (nie je aplikovaný na miestnej dane)
4: pobytová taxa platí na výrobky pred DPH (je vypočítaná na sumu + localtax)
5: pobytová taxa platí na služby bez DPH (nie je aplikovaný na miestnej dane)
6: pobytová taxa platí o službách pred DPH (je vypočítaná na sumu + localtax) @@ -572,7 +575,7 @@ Permission67=Vývozné intervencie Permission71=Prečítajte členov Permission72=Vytvoriť / upraviť členov Permission74=Zmazať členov -Permission75=Nastavenie typov a atribúty pre členov +Permission75=Setup types of membership Permission76=Export údaje Permission78=Prečítajte si predplatné Permission79=Vytvoriť / upraviť predplatné @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Odstrániť sendings Permission111=Prečítajte finančných účtov Permission112=Vytvoriť / upraviť / zmazať a porovnať transakcie -Permission113=Nastavenie Financiële účty (vytvárať, spravovať kategórie) -Permission114=Konsolidácia transakcie +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Vývozných transakcií, a výpisy z účtov Permission116=Prevody medzi účtami Permission117=Spravovanie kontroly dispečingu @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Nastavenie sendings e-mailom SendmailOptionNotComplete=Upozornenie na niektorých operačných systémoch Linux, posielať e-maily z vášho e-mailu, musíte sendmail prevedenie inštalácie obsahuje voľbu-BA (parameter mail.force_extra_parameters do súboru php.ini). Ak niektorí príjemcovia nikdy prijímať e-maily, skúste upraviť tento parameter spoločne s PHP mail.force_extra_parameters =-BA). PathToDocuments=Cesta k dokumentom PathDirectory=Adresár -SendmailOptionMayHurtBuggedMTA=Funkcia posielať e-maily pomocou metódy "PHP mail Direct" vygeneruje e-mailovú správu, ktorá by mohla byť nesprávne analyzovaný niektorými dostávajú poštové servery. Výsledkom je, že niektoré maily nedá čítať ľudia organizovaných platformami thoose odpočúvané. To je prípad niektorých poskytovateľov internetových služieb (Ex: Orange vo Francúzsku). To nie je problém do Dolibarr ani do PHP, ale na príjem e-mailový server. Môžete však pridať možnosť MAIN_FIX_FOR_BUGGED_MTA do 1 do nastavení - ostatné upraviť Dolibarr k tomu nedošlo. Avšak, môže dôjsť k problému s inými servermi, ktoré rešpektujú úplne štandardné SMTP. Iné riešenie (Odporúčaný) je použiť metódu "SMTP socket knižnice", ktorý nemá žiadne nevýhody. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Konfigurácia de la traduction TranslationDesc=Voľba jazyka viditeľné na obrazovke možno meniť:
* Globálne z menu Domov - Nastavenia - Zobrazenie
* Pre užívateľov iba zo zobrazenia na karte Užívateľské užívateľského karty (kliknite na prihlásení v hornej časti obrazovky). TotalNumberOfActivatedModules=Celkový počet aktivovaných funkcií modulov: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=Používate %s webovom prehliadači. Tento prehliadač je v poriadku BrowserIsKO=Používate %s webovom prehliadači. Tento prehliadač je známe, že zlá voľba pre bezpečnosť, výkon a spoľahlivosť. Sme Odporúčam vám používať Firefox, Chrome, Operu alebo Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache načítaný. -AddRefInList=Displej zákazníka / dodávateľa ref do zoznamu (vyberte zoznam alebo ComboBox) a väčšina z hypertextového odkazu +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Vydanie poľných %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Pre potvrdenie objednávky po návrhu užší, umož FreeLegalTextOnOrders=Voľný text o objednávkach WatermarkOnDraftOrders=Vodoznak na konceptoch objednávok (ak žiadny prázdny) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Kliknite pre Dial Nastavenie modulu ClickToDialUrlDesc=Url volaná, keď sa vykonáva kliknutím na tel Piktogram. Do poľa URL môžete použiť značky
__PHONETO__ Ktorý bude nahradený s telefónnym číslom osoby volať
__PHONEFROM__ Ktorý bude nahradený telefónne číslo volajúceho (vaše)
__LOGIN__ Ktorý bude nahradený s clicktodial prihlásenie (definované na karte užívateľa)
__PASS__ Ktorý bude nahradený s clicktodial heslo (definované na karte užívateľa). @@ -1392,6 +1397,7 @@ RSSUrlExample=Zaujímavý RSS zdroj MailingSetup=E-mailom Nastavenie modulu MailingEMailFrom=Odosielateľa (From) pre emailov zasielaných e-mailom na modul MailingEMailError=Späť E-mail (chyby-do) e-maily s chybami +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Odosielateľa (From) e-maily zaslané na oznámenia @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Odoslanie Nastavenie modulu SendingsReceiptModel=Odoslanie potvrdenky modelu SendingsNumberingModules=Sendings číslovanie moduly -SendingsAbility=Podpora sendings listy pre dodávky zákazníkom +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=Vo väčšine prípadov sú sendings príjmy použité ako listov pre dodávky zákazníkom (zoznam výrobkov na odoslanie) a na hárkoch, ktoré je recevied a podpísaný zákazníkom. Takže dodávok výrobkov príjmy je duplicitné funkcie a je zriedka aktivovaný. -FreeLegalTextOnShippings=Voľný text na shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Produkty dodávky príjem číslovanie modul DeliveryOrderModel=Produkty dodávky prijatie modelu @@ -1414,7 +1420,7 @@ AdvancedEditor=Rozšírené editor ActivateFCKeditor=Aktivácia pokročilé editor pre: FCKeditorForCompany=WYSIWIG vytvorenie / edícii prvkami opisu a poznámku (s výnimkou výrobkov / služieb) FCKeditorForProduct=WYSIWIG vytvorenie / edícia produktov / služieb popis a poznámky -FCKeditorForProductDetails=WYSIWIG vytvorenie / edícia liniek produktov informácie pre všetky subjekty (návrhy, objednávky, faktúry, atď ..). Upozornenie: Použitie tejto možnosti pre tento prípad je vážne nie je odporúčané, pretože môže spôsobiť problémy so špeciálnymi znakmi a formátovania stránky pri vytváraní PDF súbory. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG vytvorenie / edícia pre hromadné eMailings (Nástroje-> e-mailom) FCKeditorForUserSignature=WYSIWIG vytvorenie / edícia užívateľského podpisu FCKeditorForMail=WYSIWIG vytvorenie / edícia pre všetku poštu (okrem outils-> e-mailom) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/sk_SK/agenda.lang b/htdocs/langs/sk_SK/agenda.lang index 6aaa3b7800d..36445b83775 100644 --- a/htdocs/langs/sk_SK/agenda.lang +++ b/htdocs/langs/sk_SK/agenda.lang @@ -6,11 +6,11 @@ Agenda=Program rokovania Agendas=Program Calendar=Kalendár Calendars=Kalendára -LocalAgenda=Internal calendar -ActionsOwnedBy=Event owned by +LocalAgenda=Interný kalendár +ActionsOwnedBy=Udalosť vytvorená: AffectedTo=Priradené DoneBy=Vykonal -Event=Event +Event=Udalosť Events=Udalosti EventsNb=Počet udalostí MyEvents=Moje udalosti @@ -23,12 +23,12 @@ MenuToDoActions=Všetky neúplné udalosti MenuDoneActions=Všetky ukončené akcie MenuToDoMyActions=Moje neúplné udalosti MenuDoneMyActions=Moje ukončených akcií -ListOfEvents=List of events (internal calendar) +ListOfEvents=Zoznam udalostí (interný kalendár) ActionsAskedBy=Akcia hlásené ActionsToDoBy=Akcia priradené ActionsDoneBy=Akcie vykonané -ActionsForUser=Events for user -ActionsForUsersGroup=Events for all users of group +ActionsForUser=Udalosti pre užívateľa +ActionsForUsersGroup=Udalosti pre všetkých užívateľov zo skupiny ActionAssignedTo=Event assigned to AllMyActions= Všetky moje akcie / úlohy AllActions= Všetky udalosti / úlohy @@ -58,8 +58,9 @@ OrderSentByEMail=%s zákazníkov objednávka zaslaná e-mailom InvoiceSentByEMail=%s faktúre Zákazníka zaslaná e-mailom SupplierOrderSentByEMail=%s Dodávateľ objednávka zaslaná e-mailom SupplierInvoiceSentByEMail=%s dodávateľskej faktúry zasielané e-mailom -ShippingSentByEMail=Prepravné %s zaslaná e-mailom -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Tretia strana vytvorená DateActionPlannedStart= Plánovaný dátum začatia DateActionPlannedEnd= Plánovaný dátum ukončenia @@ -68,7 +69,7 @@ DateActionDoneEnd= Skutočný dátum ukončenia DateActionStart= Dátum začatia DateActionEnd= Dátum ukončenia AgendaUrlOptions1=Môžete tiež pridať nasledujúce parametre filtrovania výstupu: -AgendaUrlOptions2=login = %s obmedziť výstup na akcie vytvorené, pridelených alebo vykonať užívateľa %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint = %s obmedziť výstup na akcie priradených užívateľských %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. @@ -88,5 +89,5 @@ ExtSiteUrlAgenda=URL pre prístup. Súbor iCal ExtSiteNoLabel=Nie Popis WorkingTimeRange=Working time range WorkingDaysRange=Working days range -AddEvent=Create event +AddEvent=Vytvoriť udalosť MyAvailability=My availability diff --git a/htdocs/langs/sk_SK/banks.lang b/htdocs/langs/sk_SK/banks.lang index 3908415d4e2..ef5bfa2db54 100644 --- a/htdocs/langs/sk_SK/banks.lang +++ b/htdocs/langs/sk_SK/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Účet FinancialAccounts=Účty BankAccount=Bankový účet BankAccounts=Bankové účty +ShowAccount=Show Account AccountRef=Finančný účet ref AccountLabel=Finančný účet štítok CashAccount=Pokladničné účet diff --git a/htdocs/langs/sk_SK/bills.lang b/htdocs/langs/sk_SK/bills.lang index 2ac41eb7580..cbd81b2852b 100644 --- a/htdocs/langs/sk_SK/bills.lang +++ b/htdocs/langs/sk_SK/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Faktúra Bills=Faktúry -BillsCustomers=Zákazníka faktúry -BillsCustomer=Faktúre Zákazníka -BillsSuppliers=Dodávateľských faktúr -BillsCustomersUnpaid=Nezaplatené faktúry zákazníka +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Nezaplatené faktúry pre zákazníka %s BillsSuppliersUnpaid=Nezaplatené faktúry dodávateľa BillsSuppliersUnpaidForCompany=Nezaplatené faktúry dodávateľa pre %s BillsLate=Oneskorené platby -BillsStatistics=Zákazníka faktúry štatistiky -BillsStatisticsSuppliers=Dodávateľských faktúr štatistiky +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Zakázané, pretože nemožno zmazať InvoiceStandard=Štandardné faktúra InvoiceStandardAsk=Štandardné faktúra @@ -348,6 +348,7 @@ ChequeNumber=Skontrolujte N ° ChequeOrTransferNumber=Skontrolujte / Prenos č ChequeMaker=Skontrolujte vysielač ChequeBank=Bank of Check +CheckBank=Check NetToBePaid=Net má byť zaplatená PhoneNumber=Tel FullPhoneNumber=Telefón @@ -388,7 +389,7 @@ DisabledBecausePayments=Not possible since there are some payments CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified paid ExpectedToPay=Predpokladaný platba PayedByThisPayment=Paid by this payment -ClosePaidInvoicesAutomatically=Classify "Paid" all standard or replacement invoices entirely paid. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=All invoice with no remain to pay will be automatically closed to status "Paid". ToMakePayment=Zaplatiť @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Zástupca nasledujúce-up dod TypeContact_invoice_supplier_external_BILLING=Dodávateľ faktúru kontakt TypeContact_invoice_supplier_external_SHIPPING=Dodávateľ doprava kontakt TypeContact_invoice_supplier_external_SERVICE=Dodávateľ služby kontakt +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/sk_SK/compta.lang b/htdocs/langs/sk_SK/compta.lang index 05c32f0d35a..fe039fc72ff 100644 --- a/htdocs/langs/sk_SK/compta.lang +++ b/htdocs/langs/sk_SK/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Obrat PaymentsNotLinkedToInvoice=Platby nesúvisiace s akoukoľvek faktúru, takže nie sú spojené žiadne tretej strane PaymentsNotLinkedToUser=Platby nesúvisiace všetkých užívateľov Profit=Zisk +AccountingResult=Accounting result Balance=Zostatok Debit=Debet Credit=Úver diff --git a/htdocs/langs/sk_SK/cron.lang b/htdocs/langs/sk_SK/cron.lang index 2697b304323..4e1717149a8 100644 --- a/htdocs/langs/sk_SK/cron.lang +++ b/htdocs/langs/sk_SK/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Bezpečnostný kľúč pre URL spustiť cron FileToLaunchCronJobs=Príkazový riadok spustiť cron -CronExplainHowToRunUnix=V oblasti životného prostredia Unix, mali by ste použiť crontab spustiť príkazový riadok zakaždým, minút -CronExplainHowToRunWin=Na Microsoft (tm) Windows environement môžete použiť naplánovaná úloha nástroja spustiť príkazový riadok zakaždým, minút +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Naplánované úlohy CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/sk_SK/ecm.lang b/htdocs/langs/sk_SK/ecm.lang index 36dcb2f332a..5c0e414f92a 100644 --- a/htdocs/langs/sk_SK/ecm.lang +++ b/htdocs/langs/sk_SK/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Dokumenty súvisiace so zmluvami ECMDocsByInvoices=Dokumenty súvisiace s faktúrami zákazníkmi ECMDocsByProducts=Dokumenty súvisiace s produktmi ECMDocsByProjects=Dokumenty súvisiace s projektmi +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=No vytvoril adresár ShowECMSection=Zobraziť adresár DeleteSection=Odstráňte adresár diff --git a/htdocs/langs/sk_SK/errors.lang b/htdocs/langs/sk_SK/errors.lang index 1b9648f54a2..17b73f827fd 100644 --- a/htdocs/langs/sk_SK/errors.lang +++ b/htdocs/langs/sk_SK/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Nastavenie modulu sa javí ako neúplná. Prejdite n ErrorBadMask=Chyba na masku ErrorBadMaskFailedToLocatePosOfSequence=Chyba maska ​​bez poradovým číslom ErrorBadMaskBadRazMonth=Chyba, zlá hodnota po resete +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Chyba. Vyberte aspoň jednu položku. ErrorProductWithRefNotExist=Výrobok s "%s" referenčná neexistujú ErrorDeleteNotPossibleLineIsConsolidated=Odstránenie nie je možné, pretože záznam je spojená s bankovým transakčného ktorý zmieril @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Povinné parametre sú doteraz stanovené diff --git a/htdocs/langs/sk_SK/install.lang b/htdocs/langs/sk_SK/install.lang index a65b9b2e4e5..23665b14d23 100644 --- a/htdocs/langs/sk_SK/install.lang +++ b/htdocs/langs/sk_SK/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migrácia dokončená LastStepDesc=Posledný krok: Definujte tu prihlasovacie meno a heslo budete používať pre pripojenie k softvéru. Nestrácajte to, ako to je účet, spravovať všetky ostatné. ActivateModule=Aktivácia modulu %s ShowEditTechnicalParameters=Kliknite tu pre zobrazenie / editovať pokročilé parametre (expertný režim) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Aktualizovať čas strávený v sekundách MigrationActioncommElement=Aktualizovať údaje o činnosti MigrationPaymentMode=Migrácia dát platobného režimu MigrationCategorieAssociation=Migrácia kategórií +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/sk_SK/languages.lang b/htdocs/langs/sk_SK/languages.lang index 1d893b75ba0..47c46287bab 100644 --- a/htdocs/langs/sk_SK/languages.lang +++ b/htdocs/langs/sk_SK/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Nemčina (Rakúsko) Language_de_CH=German (Switzerland) Language_el_GR=Grék Language_en_AU=Angličtina (Austrália) +Language_en_CA=English (Canada) Language_en_GB=Angličtina (Veľká Británia) Language_en_IN=Angličtina (India) Language_en_NZ=Angličtina (Nový Zéland) diff --git a/htdocs/langs/sk_SK/main.lang b/htdocs/langs/sk_SK/main.lang index 63bdace80bf..9774b798099 100644 --- a/htdocs/langs/sk_SK/main.lang +++ b/htdocs/langs/sk_SK/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=MM/dd/yyyy FormatDateShortJavaInput=MM/dd/yyyy FormatDateShortJQuery=mm/dd/yy FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Chyba sa nepodarilo uložiť súbor. SetDate=Set date SelectDate=Select a date SeeAlso=Pozri tiež %s +SeeHere=See here BackgroundColorByDefault=Predvolené farba pozadia FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=Užívateľ Users=Užívatelia Group=Skupina Groups=Skupiny +NoUserGroupDefined=No user group defined Password=Heslo PasswordRetype=Zadajte znovu heslo NoteSomeFeaturesAreDisabled=Všimnite si, že mnoho funkcií / modules sú zakázané v tejto ukážke. @@ -258,6 +261,7 @@ days=dni Hours=Hodiny Minutes=Zápis Seconds=Sekundy +Weeks=Weeks Today=Dnes Yesterday=Včera Tomorrow=Zajtra @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Pondelok Tuesday=Utorok diff --git a/htdocs/langs/sk_SK/margins.lang b/htdocs/langs/sk_SK/margins.lang index 081f1ba7f8e..f8d6cd62e8b 100644 --- a/htdocs/langs/sk_SK/margins.lang +++ b/htdocs/langs/sk_SK/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin detaily ProductMargins=Produktové marže CustomerMargins=Zákazníkov marže SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Produkt alebo služba AllProducts=Všetky produkty a služby ChooseProduct/Service=Vyberte produkt alebo službu diff --git a/htdocs/langs/sk_SK/orders.lang b/htdocs/langs/sk_SK/orders.lang index 5cf1ecc1818..519ef09d036 100644 --- a/htdocs/langs/sk_SK/orders.lang +++ b/htdocs/langs/sk_SK/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Dodávateľ aby SuppliersOrders=Dodávatelia objednávky SuppliersOrdersRunning=Aktuálne dodávatelia objednávky CustomerOrder=Zákazníka -CustomersOrders=Zákazníkovej objednávky +CustomersOrders=Customers orders CustomersOrdersRunning=Objednávky aktuálneho zákazníka CustomersOrdersAndOrdersLines=Zákaznícke objednávky a objednávky linky -OrdersToValid=Zákazníkovej objednávky pre overovanie -OrdersToBill=Zákazníka príkazy doručenej -OrdersInProcess=Zákaznícke objednávky v procese -OrdersToProcess=Zákazníkovej objednávky na spracovanie +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Dodávateľa objednávky na spracovanie StatusOrderCanceledShort=Zrušený StatusOrderDraftShort=Návrh StatusOrderValidatedShort=Overené StatusOrderSentShort=V procese StatusOrderSent=Preprava v procese -StatusOrderOnProcessShort=Recepcia +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Spracované StatusOrderToBillShort=Dodáva sa StatusOrderToBill2Short=K účtu @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Všetko, čo dostal StatusOrderCanceled=Zrušený StatusOrderDraft=Návrh (musí byť overená) StatusOrderValidated=Overené -StatusOrderOnProcess=Čakanie na príjem +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Spracované StatusOrderToBill=Dodáva sa StatusOrderToBill2=K účtu @@ -50,6 +50,8 @@ StatusOrderRefused=Odmietol StatusOrderReceivedPartially=Čiastočne uložený StatusOrderReceivedAll=Všetko, čo dostal ShippingExist=Zásielka existuje +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Návrh alebo schválená ešte objednať DraftOrWaitingShipped=Návrh alebo overené doposiaľ odoslaný MenuOrdersToBill=Objednávky dodaný diff --git a/htdocs/langs/sk_SK/productbatch.lang b/htdocs/langs/sk_SK/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/sk_SK/productbatch.lang +++ b/htdocs/langs/sk_SK/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/sk_SK/products.lang b/htdocs/langs/sk_SK/products.lang index c8e4d892a18..45d5006cb75 100644 --- a/htdocs/langs/sk_SK/products.lang +++ b/htdocs/langs/sk_SK/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Účtovníctvo kód (predaj) ProductOrService=Produkt alebo služba ProductsAndServices=Produkty a služby ProductsOrServices=Výrobky alebo služby -ProductsAndServicesOnSell=Dostupné Produkty a služby -ProductsAndServicesNotOnSell=Zastarané Produkty a služby +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Produkty a služby štatistika ProductsStatistics=Produkty štatistiky -ProductsOnSell=Dostupné produkty -ProductsNotOnSell=Vyradené produkty -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Dostupné služby -ServicesNotOnSell=Zastarané služby -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Interné referenčné číslo LastRecorded=Najnovšie produkty / služby na predaji zaznamenaný LastRecordedProductsAndServices=Posledné %s zaznamenaný produktov / služieb @@ -198,7 +198,7 @@ HelpAddThisServiceCard=Táto voľba umožňuje vytvoriť alebo naklonovať služ CurrentProductPrice=Aktuálna cena AlwaysUseNewPrice=Vždy používajte aktuálnu cenu produktu / služby AlwaysUseFixedPrice=Použite pevnú cenu -PriceByQuantity=Cena podľa množstva +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Množstvo rozsah ProductsDashboard=Produkty / služby zhrnutie UpdateOriginalProductLabel=Upraviť pôvodné štítok @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/sk_SK/projects.lang b/htdocs/langs/sk_SK/projects.lang index 8639f46b4fa..ae27e1348b2 100644 --- a/htdocs/langs/sk_SK/projects.lang +++ b/htdocs/langs/sk_SK/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Projekt Projects=Projekty +ProjectStatus=Project status SharedProject=Všetci PrivateProject=Kontakty na projekte MyProjectsDesc=Tento pohľad je obmedzená na projekty, ste kontakt (nech je to typ). @@ -11,7 +12,6 @@ ProjectsDesc=Tento názor predstavuje všetky projekty (užívateľského opráv MyTasksDesc=Tento pohľad je obmedzená na projekty alebo úlohy, ktoré sú pre kontakt (nech je to typ). TasksPublicDesc=Tento názor predstavuje všetky projekty a úlohy, ktoré sú prístupné pre čítanie. TasksDesc=Tento názor predstavuje všetky projekty a úlohy (vaše užívateľské oprávnenia udeliť oprávnenie k nahliadnutiu všetko). -Myprojects=Moje projekty ProjectsArea=Projekty oblasť NewProject=Nový projekt AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone kontakty CloneNotes=Clone poznámky CloneProjectFiles=Clone projektu pripojil súbory CloneTaskFiles=Clone úloha (y) sa pripojil súbory (ak je úloha (y) klonovať) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Naozaj chcete klonovať tento projekt? ProjectReportDate=Zmena úlohy termíne podľa dátumu začatia projektu ErrorShiftTaskDate=Nemožno presunúť úloha termín podľa nový dátum začatia projektu diff --git a/htdocs/langs/sk_SK/sendings.lang b/htdocs/langs/sk_SK/sendings.lang index 45310862422..a28b7441b89 100644 --- a/htdocs/langs/sk_SK/sendings.lang +++ b/htdocs/langs/sk_SK/sendings.lang @@ -4,7 +4,8 @@ Sending=Náklad Sendings=Zásielky Shipment=Náklad Shipments=Zásielky -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Zásielky oblasť ListOfSendings=Zoznam zásielok SendingMethod=Spôsob dopravy @@ -14,7 +15,7 @@ SearchASending=Hľadať zásielky StatisticsOfSendings=Štatistika zásielok NbOfSendings=Počet zásielok NumberOfShipmentsByMonth=Počet zásielok podľa mesiaca -SendingCard=Prepravné karty +SendingCard=Shipment card NewSending=Nová zásielka CreateASending=Vytvoriť zásielku CreateSending=Vytvoriť zásielku @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Zrušený StatusSendingDraftShort=Návrh StatusSendingValidatedShort=Overené StatusSendingProcessedShort=Spracované -SendingSheet=Odoslanie list +SendingSheet=Shipment sheet Carriers=Dopravcovia Carrier=Nosič CarriersArea=Dopravcovia oblasti @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Udalosti na zásielky LinkToTrackYourPackage=Odkaz pre sledovanie balíkov ShipmentCreationIsDoneFromOrder=Pre túto chvíľu, je vytvorenie novej zásielky vykonať z objednávky karty. -RelatedShippings=Súvisiace shippings +RelatedShippings=Related shipments ShipmentLine=Zásielka linka CarrierList=Zoznam dopravcov -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Chytiť zákazníka diff --git a/htdocs/langs/sk_SK/stocks.lang b/htdocs/langs/sk_SK/stocks.lang index 29234c34891..80d09deb48a 100644 --- a/htdocs/langs/sk_SK/stocks.lang +++ b/htdocs/langs/sk_SK/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Sklady hodnota UserWarehouseAutoCreate=Vytvorte sklad automaticky pri vytváraní užívateľa QtyDispatched=Množstvo odoslané +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Stock dispečing RuleForStockManagementDecrease=Pravidlo pre zníženie riadenie zásob RuleForStockManagementIncrease=Pravidlo pre zvýšenie riadenie zásob @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Zvýšenie reálnej zásoby na dodávateľa objednávok k ReStockOnDispatchOrder=Zvýšenie reálnej zásoby na ručné dispečingu do skladov, potom, čo sa s dodávateľmi účelom obdržania ReStockOnDeleteInvoice=Zvýšenie reálnej zásoby na faktúre zmazanie OrderStatusNotReadyToDispatch=Rád má ešte nie je, alebo viac postavenie, ktoré umožňuje zasielanie výrobkov na sklade skladoch. -StockDiffPhysicTeoric=Dôvod pre rozdiel skladom fyzikálne a teoretické +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Žiadne preddefinované produkty pre tento objekt. Takže žiadne dispečing skladom je nutná. DispatchVerb=Odoslanie StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass pohyb zásob SelectProductInAndOutWareHouse=Vyberte si produkt, množstvo, zdrojový sklad a cieľový sklad, potom kliknite na "%s". Akonáhle sa tak stane pre všetky požadované pohyby, kliknite na "%s". RecordMovement=Záznam transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/sk_SK/suppliers.lang b/htdocs/langs/sk_SK/suppliers.lang index fe08da6e0bc..5d04f2d96fd 100644 --- a/htdocs/langs/sk_SK/suppliers.lang +++ b/htdocs/langs/sk_SK/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Dodávatelia Supplier=Dodávateľ -AddSupplier=Pridať dodávateľa +AddSupplier=Create a supplier SupplierRemoved=Dodávateľ odstráni SuppliersInvoice=Dodávatelia faktúra NewSupplier=Nový dodávateľ @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Žiadny alebo dávkový %s nie bežal nedávno SentToSuppliers=Odoslané dodávateľom ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/sk_SK/withdrawals.lang b/htdocs/langs/sk_SK/withdrawals.lang index 4bb8cdd1569..b0cb4d47760 100644 --- a/htdocs/langs/sk_SK/withdrawals.lang +++ b/htdocs/langs/sk_SK/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Kredit na WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Zobraziť Natiahnite IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one withdrawal payment not yet processed, it won't be set as paid to allow prior withdrawal management. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Odstúpenie súbor SetToStatusSent=Nastavte na stav "odoslaný súbor" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/sk_SK/workflow.lang b/htdocs/langs/sk_SK/workflow.lang index 5253e3deb87..58f27b036de 100644 --- a/htdocs/langs/sk_SK/workflow.lang +++ b/htdocs/langs/sk_SK/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow modul nastavenia -WorkflowDesc=Tento modul je určený pre zmenu správania automatických akcií, do aplikácie. V predvolenom nastavení workflow je otvorený (urobíte niečo, aby chcete). Môžete povoliť automatické akcie, ktoré sú zaujímavé palcov +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Nie je workflow môžete upraviť pre modul bolo aktivované. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Vytvorenie objednávky zákazníka automaticky po komerčné Návrh je podpísaný descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Vytvorte zákazníckej faktúry automaticky po komerčné Návrh je podpísaný diff --git a/htdocs/langs/sl_SI/accountancy.lang b/htdocs/langs/sl_SI/accountancy.lang index 977dcb96f72..04e9e45eae3 100644 --- a/htdocs/langs/sl_SI/accountancy.lang +++ b/htdocs/langs/sl_SI/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Konfiguracija modula računovodskega strokovnjaka Journaux=Revije JournalFinancial=Finančne revije Exports=Izvoz +Export=Export Modelcsv=Model izvoza +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Izberite model izvoza Modelcsv_normal=Classic izvoz Modelcsv_CEGID=Izvoz v CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line računa VentilatedinAccount=Uspešno prezračen v obračunskem računu NotVentilatedinAccount=Ni prezračen v obračunskem računu -ACCOUNTING_SEPARATORCSV=Ločilo CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/sl_SI/admin.lang b/htdocs/langs/sl_SI/admin.lang index dc018fa38c8..3a5327fee25 100644 --- a/htdocs/langs/sl_SI/admin.lang +++ b/htdocs/langs/sl_SI/admin.lang @@ -45,8 +45,8 @@ ErrorModuleRequireDolibarrVersion=Napaka, Ta modul zahteva Dolibarr različico % ErrorDecimalLargerThanAreForbidden=Napaka, višja natančnost od %s ni podprta. DictionarySetup=Nastavitve slovarja Dictionary=Slovarji -Chartofaccounts=Chart of accounts -Fiscalyear=Fiscal years +Chartofaccounts=Kontni plan +Fiscalyear=Fiskalna leta ErrorReservedTypeSystemSystemAuto=Vrednosti 'system' in 'systemauto' za tip sta rezervirani. Uporabite lahko 'user' za dodajanje lastnih zapisov ErrorCodeCantContainZero=Koda ne sme vsebovati vrednosti 0 DisableJavascript=Onemogoči JavaScript in Ajax funkcije (priporočeno za slepe osebe ali tekstualne brskalnike) @@ -294,7 +294,7 @@ DoNotUseInProduction=Ne uporabljajte v proizvodnji ThisIsProcessToFollow=To je nastavitev za proces: StepNb=Korak %s FindPackageFromWebSite=Poiščite paket, ki omogoča funkcijo, ki jo želite (na primer na spletni strani %s). -DownloadPackageFromWebSite=Prenesi paket z internetne strani. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Razpakiraj paketno datoteko v Dolibarr korensko mapo %s SetupIsReadyForUse=Instalacija je zaključena in Dolibarr je pripravljen na uporabo s to novo komponento. NotExistsDirect=Ni definirana alternativna korenska mapa.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Izberi modul: CurrentVersion=Trenutna različica Dolibarr CallUpdatePage=Pojdite na stran za nadgradnjo strukture in podatkov v podatkovni bazi: %s. LastStableVersion=Zadnja stabilna različica +UpdateServerOffline=Update server offline GenericMaskCodes=Vnesete lahko kakršnokoli številčno masko. V tej maski lahko uporabite naslednje oznake:
{000000} ustreza številki, ki se poveča pri vsakem %s. Vnesite toliko ničel, kot je želena dolžina števca. Števec se bo zapolnil z ničlami na levi strani, da bi velikost ustrezala maski.
{000000+000} enako kot prej, vendar je desno od znaka + odmik, ki je uporabljen na prvi %s.
{000000@x} enako kot prej, vendar se števec resetira na 0, ko se doseže mesec x (x je med 1 in 12). Če je uporabljena ta opcija, ,in je x enak ali večji od 2, je zahtevana tudi sekvenca {yy}{mm} ali {yyyy}{mm}.
{dd} dan (01 do 31).
{mm} mesec (01 do 12).
{yy}, {yyyy} ali {y} leto, izraženo z 2, 4 ali 1 številko.
GenericMaskCodes2={cccc} koda klienta z n znaki
{cccc000} koda klienta z n znaki se nadaljuje s števcem stranke. Ta namenski števec stranke se resetira obenem z globalnim števcem.
{tttt} Koda partnerja z n znaki (glejte slovar-tipi partnerjev).
GenericMaskCodes3=Vsi ostali znaki v maski bodo ostali nedotaknjeni.
Presledki niso dovoljeni.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Izberi iz tabele ExtrafieldSeparator=Ločilo ExtrafieldCheckBox=Potrditveno polje ExtrafieldRadio=Radijski gumb +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Seznam parametrov mora biti kot ključ,vrednost

na primer :
1,vrednost1
2,vrednost2
3,vrednost3
...

Če želite imeti seznam odvisen od drugega :
1,vrednost1|parent_list_code:parent_key
2,vrednost2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Seznam parametrov mora biti kot ključ,vrednost

na primer :
1,vrednost1
2,vrednost2
3,vrednost3
... ExtrafieldParamHelpradio=Seznam parametrov mora biti kot ključ,vrednost

na primer :
1,vrednost1
2,vrednost2
3,vrednost3
... ExtrafieldParamHelpsellist=Seznam parametrov iz tabele
Syntax : table_name:label_field:id_field::filter
Primer : c_typent:libelle:id::filter

filter je lahko enostaven test (npr active=1) za prikaz samo aktivnih vrednsost
če želite filtrirati fpo dodatnih poljih, uporabite sintakso extra.fieldcode=... (kjer je field code koda dodatnega polja)

če želite, da je seznam odvisen od drugega :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Uporabljena knjižnica za ustvarjanje PDF WarningUsingFPDF=Pozor: vaš conf.php vsebuje direktivo dolibarr_pdf_force_fpdf=1. To pomeni, da uporabljate knjižnico FPDF za generiranje PDF datotek. Ta knjižnica je stara in ne podpira številnih značilnosti (Unicode, transparentnost slike, cirilico, arabske in azijske jezike, ...), zado lahko med generiranjem PDF pride do napak.
Za rešitev tega problema in polno podporo PDF generiranja, prosimo da naložite TCPDF knjižnico, nato označite kot komentar ali odstranite vrstico $dolibarr_pdf_force_fpdf=1, in namesto nje dodajte $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=V nekaterih državah so na vsako vrstico računa vezani 2 ali 3 davki. V takem primeru izberite tip in stopnjo drugega in tretjega davka. Možni tipi so:
1 : lokalni davek na proizvode in storitve brez DDV (DDV se ne obračuna na lokalni davek)
2 : lokalni davek na proizvode in storitve pred DDV (DDV se obračuna na znesek + lokalni davek)
3 : lokalni davek na proizvode brez DDV (DDV se ne obračuna na lokalni davek)
4 : lokalni davek na proizvode pred DDV (DDV se obračuna na znesek + lokalni davek)
5 : lokalni davek na storitve brez DDV (DDV se ne obračuna na lokalni davek)
6 : lokalni davek na storitve pred DDV (DDV se obračuna na znesek + lokalni davek) @@ -397,15 +400,15 @@ KeepEmptyToUseDefault=Pusti prazno za uporabo privzete vrednosti DefaultLink=Privzeta povezava ValueOverwrittenByUserSetup=Pozor, ta vrednost bo morda prepisana s specifično nastavitvijo uporabnika (vsak uporabnik lahko nastavi lastno povezavo za klic s klikom) ExternalModule=Zunanji modul - nameščen v mapo %s -BarcodeInitForThirdparties=Mass barcode init for thirdparties -BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services -CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. -InitEmptyBarCode=Init value for next %s empty records -EraseAllCurrentBarCode=Erase all current barcode values -ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? -AllBarcodeReset=All barcode values have been removed +BarcodeInitForThirdparties=Vzpostavitev masovne črtne kode za partnerje +BarcodeInitForProductsOrServices=Vzpostavitev ali resetiranje masovne črtne kode za proizvode in storitve +CurrentlyNWithoutBarCode=Trenutno imate %s zapisov na %s %s brez določenih črtnih kod. +InitEmptyBarCode=Začetna vrednost za naslednjih %s praznih zapisov +EraseAllCurrentBarCode=Zbrišite vse trenutne vrednosti črtnih kod +ConfirmEraseAllCurrentBarCode=Ali zares želite izbrisati vse trenutne vrednosti črtnih kod ? +AllBarcodeReset=Vse vrednosti črtnih kod so bile odstranjene NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. -NoRecordWithoutBarcodeDefined=No record with no barcode value defined. +NoRecordWithoutBarcodeDefined=Noben zapis ni definiran brez črtne kode. # Modules Module0Name=Uporabniki & skupine @@ -498,8 +501,8 @@ Module1780Name=Kategorije Module1780Desc=Upravljanje kategorij (proizvodi, dobavitelji in kupci) Module2000Name=Fck urejevalnik Module2000Desc=WYSIWYG urejevalnik -Module2200Name=Dynamic Prices -Module2200Desc=Enable the usage of math expressions for prices +Module2200Name=Dinamične cene +Module2200Desc=Omogoči uporabo matematičnih formul za izračun cen Module2300Name=Periodično opravilo Module2300Desc=Načrtovano upravljanje nalog Module2400Name=Dnevni red @@ -508,7 +511,7 @@ Module2500Name=Upravljanje elektronskih vsebin Module2500Desc=Shranjevanje dokumentov in dajanje v skupno rabo Module2600Name=Spletne storitve Module2600Desc=Omogočanje Dolibarr strežnika za spletne storitve -Module2650Name=WebServices (client) +Module2650Name=Spletne storitve (klient) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar Module2700Desc=Uporaba online Gravatar storitev (www.gravatar.com) za prikaz fotografij uporabnikov/članov (na osnovi njihovih emailov). Potreben je internetni dostop @@ -534,7 +537,7 @@ Module50200Desc=Modul za omogočanje strani za spletno plačevanje s kreditno ka Module50400Name=Računovodstvo (napredno) Module50400Desc=Upravljanje računovodstva (dvostavno) Module54000Name=Tiskanje IPP -Module54000Desc=Direct print (without opening the documents) using Cups IPP interface (Printer must be visible from server, and CUPS must be installe on server). +Module54000Desc=Direktno tiskanje (brez odpiranja dokumenta) z uporabo Cups IPP vmesnika (tiskalnik mora biti viden na strežniku in nameščen mora biti CUPS ). Module55000Name=Odpri anketo Module55000Desc=Modul za online ankete (kot Doodle, Studs, Rdvz, ...) Module59000Name=Marže @@ -572,7 +575,7 @@ Permission67=Izvoz intervencij Permission71=Branje članov Permission72=Kreiranje/spreminjanje članov Permission74=Brisanje članov -Permission75=Vrste nastavitev in atributov za člane +Permission75=Setup types of membership Permission76=Izvoz podatkov Permission78=Branje naročnin Permission79=Kreiranje/spreminjanje naročnin @@ -595,8 +598,8 @@ Permission106=Izvoz pošiljk Permission109=Brisanje pošiljk Permission111=Branje finančnih postavk Permission112=Kreiranje/spreminjanje/brisanje in primerjava transakcij -Permission113=Nastavitve finančnih kontov (kreiranje, upravljanje kategorij) -Permission114=Konsolidacija transakcij +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Izvoz transakcij in računovodskih izkazov Permission116=Transfer med računi Permission117=Upravljanje pošiljanja čekov @@ -621,7 +624,7 @@ Permission165=Brisanje pogodb/naročnin Permission171=Branje potnih nalogov in stroškov (lastnih in podrejenih) Permission172=Kreiranje/spreminjanje potnih nalogov in stroškov Permission173=Brisanje potnih nalogov in stroškov -Permission174=Read all trips and expenses +Permission174=Preberi vse potne naloge in stroške Permission178=Izvoz potnih nalogov in stroškov Permission180=Branje dobaviteljev Permission181=Branje naročil pri dobaviteljih @@ -761,6 +764,7 @@ Permission55001=Branje anket Permission55002=Kreiranje/spreminjanje anket Permission59001=Branje komercialnih marž Permission59002=Določitev komercialnih marž +Permission59003=Read every user margin DictionaryCompanyType=Tip partnerjev DictionaryCompanyJuridicalType=Pravna oblika partnerjev DictionaryProspectLevel=Nivo potenciala možne stranke @@ -784,9 +788,9 @@ DictionaryStaff=Zaposleni DictionaryAvailability=Zakasnitev dobave DictionaryOrderMethods=Metode naročanja DictionarySource=Izvor ponudb/naročil -DictionaryAccountancyplan=Tabela računov -DictionaryAccountancysystem=Modeli tabel računov -DictionaryEMailTemplates=Emails templates +DictionaryAccountancyplan=Kontni plan +DictionaryAccountancysystem=Modeli kontnih planov +DictionaryEMailTemplates=Predloge za elektronsko pošto SetupSaved=Nastavitve shranjene BackToModuleList=Nazaj na seznam modulov BackToDictionaryList=Nazaj na seznam slovarjev @@ -896,7 +900,7 @@ PermanentLeftSearchForm=Stalno polje za iskanje na levem meniju DefaultLanguage=Privzet jezik uporabe (koda jezika) EnableMultilangInterface=Omogočen večjezični vmesnik EnableShowLogo=Prikaži logo na levem meniju -EnableHtml5=Enable Html5 (Developement - Only available on Eldy template) +EnableHtml5=Omogoči Html5 (Razvoj - na voljo samo na predlogi Eldy) SystemSuccessfulyUpdated=Vaš sistem je bil uspešno posodobljen CompanyInfo=Informacije o podjetju/ustanovi CompanyIds=Registracijski podatki o podjetju/ustanovi @@ -1038,7 +1042,7 @@ SendingMailSetup=Nastavitev pošiljanja z elektronsko pošto SendmailOptionNotComplete=Pozor, na nekaterih Linux sistemih mora za pošiljanje pošte z vašega naslova nastavitev vsebovati opcijo -ba (parameter mail.force_extra_parameters v vaši datoteki php.ini). Če nekateri prejemniki nikoli ne dobijo pošte, poskusite popraviti PHP parameter z mail.force_extra_parameters = -ba). PathToDocuments=Pot do dokumentov PathDirectory=Mapa -SendmailOptionMayHurtBuggedMTA=Funkcija za pošiljanje pošte z uporabo metode "PHP mail DIRECT" bo ustvarila poštno sporočilo, ki ga ni mogoče pravilno razčleniti z nekaterimi, ki so prejemali poštnih strežnikov. Posledica tega je, da so nekatere pošte ne berejo ljudje, ki jih gosti thoose bugged platforme. To je veljalo za nekaj internetnih ponudnikov (npr.: Orange v Franciji). To ni problem v Dolibarr niti v PHP, ampak na prejemanje poštni strežnik. Lahko pa dodate možnost MAIN_FIX_FOR_BUGGED_MTA 1. v setup - drugo spremeniti Dolibarr, da bi se temu izognili. Vendar pa lahko pride do težav z drugimi strežniki, ki spoštujejo strogo standardni SMTP. Druga rešitev (priporočile) je uporaba metode "SMTP socket knjižnice", ki nima slabosti. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Konfiguracija prevoda TranslationDesc=Izbira na zaslonu vidnega jezika se lahko spremeni:
* Globalno preko menija Domov - Nastavitve - Prikaz
* Samo za uporabnike preko zavihka Nastavitev zaslona uporabnika (klik na login na vrhu ekrana). TotalNumberOfActivatedModules=Skupno število aktiviranih modulov za lastnosti: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=Uporabljate spletni brskalnik %s. Ta brskalnik je ustrezen tako gled BrowserIsKO=Uporabljate spletni brskalnik %s. Ta brskalnik je slaba izbira glede varnosti, zmogljivosti in zanesljivosti. Priporočamo uporabo Firefox, Chrome, Opera ali Safari. XDebugInstalled=Naložen je XDebug XCacheInstalled=Naložen je XCache. -AddRefInList=Prikaži reference stranke/dobavitelja kot seznam (izbor seznama Combobox) in večinoo povezav +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=%s premenjenih polj FixTZ=Fiksiranje časovne cone FillThisOnlyIfRequired=Primer: +2 (uporabite samo, če se pojavijo težave s časovno cono) @@ -1156,7 +1160,8 @@ HideTreadedOrders=Skrij obravnavana ali preklicana naročila na seznamu ValidOrderAfterPropalClosed=Za potrditev naročila po zaključku ponudbe, naj ne bo možno preskočiti začasnega naročila FreeLegalTextOnOrders=Poljubno besedilo na naročilih WatermarkOnDraftOrders=Vodni tisk na osnutkih naročil (brez, če je prazno) -ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +ShippableOrderIconInList=Dodaj ikono na seznamnaročil, ki označuje, če je naročilo pripravljeno za odpremo +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Nastavitve modula za klicanje s klikom ClickToDialUrlDesc=Po kliku na piktogram se izvede klic na Url. Na url lahko uporabite ikono
__PHONETO__ ki predstavlja telefon klicanega
__PHONEFROM__ ki predstavlja telefon klicatelja (vaša številka)
__LOGIN__ ki predstavlja vašo prijavo na klicanje s klikom (določena z vašo uporabniško kodo)
__PASS__ ki predstavlja vaše geslo za klicanje s klikom (določena z vašo uporabniško kodo). @@ -1169,7 +1174,7 @@ FicheinterNumberingModules=Moduli za številčenje intervenc TemplatePDFInterventions=Modeli obrazcev intervencijskih kartic WatermarkOnDraftInterventionCards=Vodni tisk na dokumentih intervencijskih kartic (brez, če je prazno) ##### Contracts ##### -ContractsSetup=Contracts/Subscriptions module setup +ContractsSetup=Nastavitev modula za pogodbe/naročnine ContractsNumberingModules=Moduli za številčenje pogodb TemplatePDFContracts=Modeli obrazcev pogodb FreeLegalTextOnContracts=Poljubno besedilo na pogodbah @@ -1333,7 +1338,7 @@ FilesOfTypeNotCompressed=Datoteke tipa %s niso komprimirane v HTTP strežniku CacheByServer=Predpomnilnik v strežniku CacheByClient=Predpomnilnik v brskalniku CompressionOfResources=Kompresija HTTP odgovorov -TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers +TestNotPossibleWithCurrentBrowsers=Taka avtomatska zaznava ni možna v trenutnem brskalniku ##### Products ##### ProductSetup=Nastavitve modula za proizvode ServiceSetup=Storitve modul nastavitev @@ -1392,8 +1397,9 @@ RSSUrlExample=Zanimiv vir RSS MailingSetup=Nastavitev E-mail modula MailingEMailFrom=Naslov pošiljatelja (Od) za emaile, ki jih pošlje e-mailing modul MailingEMailError=Naslov za vračilo (Napake-za) emailov z napakami +MailingDelay=Seconds to wait after sending next message ##### Notification ##### -NotificationSetup=EMail notification module setup +NotificationSetup=Nastavitev modula za obvestila po elektronski pošti NotificationEMailFrom=Naslov pošiljatelja (od) za emaile, ki se pošljejo kot obvestila ListOfAvailableNotifications=List of events you can set notification on, for each thirdparty (go into thirdparty card to setup) or by setting a fixed email (List depends on activated modules) FixedEmailTarget=Popravi ciljni email @@ -1401,9 +1407,9 @@ FixedEmailTarget=Popravi ciljni email SendingsSetup=Nastavitev modula za pošiljanje SendingsReceiptModel=Obrazci odpremnic SendingsNumberingModules=Moduli za številčenje pošiljk -SendingsAbility=Podpora za odpremnice +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=V večini primerov se dobavnice uporabljajo tako kot dokument za dostavo kupcem (seznam proizvodov, ki jih je potrebno poslati), kakor tudi kot dokument, ki ga dobi in podpiše kupec. Zato je odpremnica podvojena funkcija, ki je redko aktivirana. -FreeLegalTextOnShippings=Prosti tekst na pošiljkah +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Modul za številčenje dobavnic DeliveryOrderModel=Obrazci dobavnic @@ -1414,7 +1420,7 @@ AdvancedEditor=Napredni urejevalnik ActivateFCKeditor=Aktiviranje FCKeditor za: FCKeditorForCompany=WYSIWIG kreiranje/urejanje opisa podjetij in opomb FCKeditorForProduct=WYSIWIG kreiranje/urejanje opisa proizvodov/storitev in opomb -FCKeditorForProductDetails=WYSIWIG kreiranje/urejanje vrstic za podrobnosti za vse entitete (ponudbe, naročila, računi, itd...)
Opozorilo: Uporaba te opcije resnično ni priporočljiva, ker lahko povzroči težave s posebnimi znaki in formatiranjem strani PDF datotek. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG kreiranje/urejanje pošte FCKeditorForUserSignature=WYSIWIG kreiranje/urejanje podpisa uporabnika FCKeditorForMail=WYSIWIG kreiranje/urejanje za vse pošte (razen Outils->eMailing) @@ -1424,8 +1430,8 @@ OSCommerceTestOk=Povezava s strežnikom '%s' na bazo podatkov '%s' uporabnika '% OSCommerceTestKo1=Povezava s strežnikom '%s' je bila uspešna, vendar baza podatkov '%s' ni dosegljiva. OSCommerceTestKo2=Povezava s strežnikom '%s' uporabnika '%s' ni uspela. ##### Stock ##### -StockSetup=Warehouse module setup -UserWarehouse=Use user personal warehouses +StockSetup=Nastavitve modula za skladišče +UserWarehouse=Uporabi uporabnikova prilagojena skladišča IfYouUsePointOfSaleCheckModule=If you use a Point of Sale module (POS module provided by default or another external module), this setup may be ignored by your Point Of Sale module. Most point of sales modules are designed to create immediatly an invoice and decrease stock by default whatever are options here. So, if you need or not to have a stock decrease when registering a sell from your Point Of Sale, check also your POS module set up. ##### Menu ##### MenuDeleted=Izbrisan meni @@ -1491,14 +1497,14 @@ ClickToDialDesc=Ta modul omogoča dodajanje ikone za telefonsko številko Doliba ##### Point Of Sales (CashDesk) ##### CashDesk=Prodajalna CashDeskSetup=Nastavitev modula za prodajalno -CashDeskThirdPartyForSell=Default generic third party to use for sells +CashDeskThirdPartyForSell=Privzet generični partner, ki se uporabi za prodajo CashDeskBankAccountForSell=Račun, ki se uporabi za prejem gotovinskih plačil CashDeskBankAccountForCheque= Račun, ki se uporabi za prejem plačil s čeki CashDeskBankAccountForCB= Račun, ki se uporabi za prejem plačil s kreditnimi karticami -CashDeskDoNotDecreaseStock=Disable stock decrease when a sell is done from Point of Sale -CashDeskIdWareHouse=Force and restrict warehouse to use for stock decrease -StockDecreaseForPointOfSaleDisabled=Stock decrease from Point Of Sale disabled -CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. +CashDeskDoNotDecreaseStock=Onemogoči zmanjšanje zaloge, če je prodaja izvršena s prodajnega mesta POS +CashDeskIdWareHouse=Prisilite ali blokirajte skladišče, uporabljeno za zmanjšanje zalog +StockDecreaseForPointOfSaleDisabled=Onemogočeno zmanjševanje zaloge s prodajnega mesta POS +CashDeskYouDidNotDisableStockDecease=Niste omogočili zmanjšanje zaloge ob prodaji na prodajnem mestu POS. Potrebno je skladišče. ##### Bookmark ##### BookmarkSetup=Nastavitev modula za zaznamke BookmarkDesc=Ta modul omogoča upravljanje z zaznamki. Lahko tudi dodate bližnjice na katerokoli Dolibarr stran ali zunanjo web stran na vašem levem meniju. @@ -1553,12 +1559,13 @@ Opened=Odprt Closed=Zaključeno AlwaysEditable=Lahko je vedno urejeno MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) -NbMajMin=Minimum number of uppercase characters -NbNumMin=Minimum number of numeric characters -NbSpeMin=Minimum number of special characters -NbIteConsecutive=Maximum number of repeating same characters -NoAmbiCaracAutoGeneration=Do not use ambiguous characters ("1","l","i","|","0","O") for automatic generation -SalariesSetup=Setup of module salaries -SortOrder=Sort order +NbMajMin=Minimalno število velikih črk +NbNumMin=Minimalno število cifer +NbSpeMin=Minimalno število posebnih znakov +NbIteConsecutive=Minimalno število ponovitev enakih znakov +NoAmbiCaracAutoGeneration=Ne uporabljajte dvoumnih znakov ("1","l","i","|","0","O") za avtomatsko generiranje +SalariesSetup=Nastavitev modula za plače +SortOrder=Sortiraj naročilo Format=Format TypePaymentDesc=0:Tip plačila stranke, 1:Tip plačila dobavitelju, 2:Tip plačila stranke in dobavitelju +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/sl_SI/agenda.lang b/htdocs/langs/sl_SI/agenda.lang index db29ff08f42..c39ca092982 100644 --- a/htdocs/langs/sl_SI/agenda.lang +++ b/htdocs/langs/sl_SI/agenda.lang @@ -29,7 +29,7 @@ ActionsToDoBy=Dogoki, ki se nanašajo na ActionsDoneBy=Dogodke izvedel ActionsForUser=Aktivnosti za uporabnika ActionsForUsersGroup=Aktivnosti za vse uporabnike v skupini -ActionAssignedTo=Event assigned to +ActionAssignedTo=Aktivnost se nanaša na AllMyActions= Vsi moji dogodki/naloge AllActions= Vse dogodki/naloge ViewList=Glej seznam @@ -58,8 +58,9 @@ OrderSentByEMail=Naročilo kupca %s poslano po elektronski pošti InvoiceSentByEMail=Račun kupcu %s poslan po elektronski pošti SupplierOrderSentByEMail=Naročilo dobavitelju %s poslano po elektronski pošti SupplierInvoiceSentByEMail=Račun odbavitelja %s poslan po elektronski pošti -ShippingSentByEMail=Pošiljka %s poslana po EMailu -ShippingValidated= Odprema %s potrjena +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Pošiljka %s potrjena +InterventionSentByEMail=Intervencija %s poslana po E-pošti NewCompanyToDolibarr= Kreiran partner DateActionPlannedStart= Planiran začetni datum DateActionPlannedEnd= Planiran končni datum @@ -68,7 +69,7 @@ DateActionDoneEnd= Realen končni datum DateActionStart= Začetni datum DateActionEnd= Končni datum AgendaUrlOptions1=V filtriran izhod lahko dodate tudi naslednje parametre: -AgendaUrlOptions2=login=%s za omejitev izhoda na aktivnosti, ki se nanašajo, ali jih je naredil uporabnik %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s za omejitev izhoda na aktivnosti v lasti uporabnika %s. AgendaUrlOptions4=logint=%s za omejitev izhoda na aktivnosti, ki se nanašajo na uporabnika %s. AgendaUrlOptionsProject=projekt=PROJECT_ID za omejitev izhoda na aktivnosti povezane s projektomPROJECT_ID. diff --git a/htdocs/langs/sl_SI/banks.lang b/htdocs/langs/sl_SI/banks.lang index acd34b7393c..fdf87b11e54 100644 --- a/htdocs/langs/sl_SI/banks.lang +++ b/htdocs/langs/sl_SI/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Račun FinancialAccounts=Računi BankAccount=Bančni račun BankAccounts=Bančni računi +ShowAccount=Prikaži račun AccountRef=Referenca finančnega računa AccountLabel=Naziv finančnega računa CashAccount=Gotovinski račun diff --git a/htdocs/langs/sl_SI/bills.lang b/htdocs/langs/sl_SI/bills.lang index a2d5facd9e2..d36a19a4f55 100644 --- a/htdocs/langs/sl_SI/bills.lang +++ b/htdocs/langs/sl_SI/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Račun Bills=Računi -BillsCustomers=Računi kupcem -BillsCustomer=Račun kupcem -BillsSuppliers=Računi dobaviteljev -BillsCustomersUnpaid=Neplačani računi kupcev +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Neplačani računi kupcev za %s BillsSuppliersUnpaid=Neplačani računi dobaviteljev BillsSuppliersUnpaidForCompany=Neplačani računi dobaviteljev za %s BillsLate=Zamujena plačila -BillsStatistics=Statistika računov kupcem -BillsStatisticsSuppliers=Statistika računov dobaviteljev +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Onemogočen, ker ni možno brisanje InvoiceStandard=Standardni račun InvoiceStandardAsk=Standardni račun @@ -348,6 +348,7 @@ ChequeNumber=Ček N° ChequeOrTransferNumber=Ček/Prenos N° ChequeMaker=Oddaja čeka ChequeBank=Banka izdajalka čeka +CheckBank=Check NetToBePaid=Neto za plačilo PhoneNumber=Tel FullPhoneNumber=Telefon @@ -388,7 +389,7 @@ DisabledBecausePayments=Ni možno zaradi nekaterih odprtih plačil CantRemovePaymentWithOneInvoicePaid=Brisanje plačila ni možno, ker je vsaj en račun označen kot plačan ExpectedToPay=Pričakovano plačilo PayedByThisPayment=Plačano s tem plačilom -ClosePaidInvoicesAutomatically=Označi s "Plačano" vse standardne ali nadomestne račune, ki so bili v celoti plačani. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Označi s "Plačano" vse dobropise, ki so bili v celoti vrnjeni. AllCompletelyPayedInvoiceWillBeClosed=Vsi računi, ki nimajo neplačanih preostankov, bodo avtomatsko zaključeni v status "Plačano". ToMakePayment=Plačati @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Predstavnik za sledenje raču TypeContact_invoice_supplier_external_BILLING=Kontakt za račun dobavitelja TypeContact_invoice_supplier_external_SHIPPING=Kontakt za pošiljanje pri dobavitelju TypeContact_invoice_supplier_external_SERVICE=Kontakt za servis pri dobavitelju +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/sl_SI/compta.lang b/htdocs/langs/sl_SI/compta.lang index 8d61bb9401a..37512ab743b 100644 --- a/htdocs/langs/sl_SI/compta.lang +++ b/htdocs/langs/sl_SI/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Letni promet PaymentsNotLinkedToInvoice=Plačila niso vezana na noben račun, niti na partnerja PaymentsNotLinkedToUser=Plačila niso vezana na nobenega uporabnika Profit=Dobiček +AccountingResult=Accounting result Balance=Bilanca Debit=Debit Credit=Kredit diff --git a/htdocs/langs/sl_SI/contracts.lang b/htdocs/langs/sl_SI/contracts.lang index 1575ee36695..8f74a40c7c8 100644 --- a/htdocs/langs/sl_SI/contracts.lang +++ b/htdocs/langs/sl_SI/contracts.lang @@ -91,7 +91,7 @@ ListOfServicesToExpire=Seznam storitev, ki potečejo NoteListOfYourExpiredServices=Ta seznam vsebuje samo storitve po pogodbah s partnerji, ki so povezane z referentom. StandardContractsTemplate=Predloga standardnih pogodb ContactNameAndSignature=Za %s, ime in podpis: -OnlyLinesWithTypeServiceAreUsed=Only lines with type "Service" will be cloned. +OnlyLinesWithTypeServiceAreUsed=Klonirane bodo samo vrstice tipa "Servis" ##### Types de contacts ##### TypeContact_contrat_internal_SALESREPSIGN=Podpisnik pogodbe diff --git a/htdocs/langs/sl_SI/cron.lang b/htdocs/langs/sl_SI/cron.lang index b307aa07f5e..298acce66f0 100644 --- a/htdocs/langs/sl_SI/cron.lang +++ b/htdocs/langs/sl_SI/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/sl_SI/ecm.lang b/htdocs/langs/sl_SI/ecm.lang index 7807ec7e85c..66c349ba002 100644 --- a/htdocs/langs/sl_SI/ecm.lang +++ b/htdocs/langs/sl_SI/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Dokumenti, povezani s pogodbami ECMDocsByInvoices=Dokumenti, povezani z računi za kupce ECMDocsByProducts=Dokumenti, povezani s proizvodi ECMDocsByProjects=Dokumenti, povezani s projekti +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=Ni kreiranih map ShowECMSection=Prikaži mapo DeleteSection=Odstrani mapo diff --git a/htdocs/langs/sl_SI/errors.lang b/htdocs/langs/sl_SI/errors.lang index 7f9f857ec3a..78f2fc71dba 100644 --- a/htdocs/langs/sl_SI/errors.lang +++ b/htdocs/langs/sl_SI/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Kaže, da nastavitev tega modula ni kompletna. Za do ErrorBadMask=Napaka na maski ErrorBadMaskFailedToLocatePosOfSequence=Napaka, maska je brez zaporedne številke ErrorBadMaskBadRazMonth=Napaka, napačna resetirana vrednost +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Napaka. Izberite vsaj en vnos. ErrorProductWithRefNotExist=Proizvod z referenco '%s' ne obstaja ErrorDeleteNotPossibleLineIsConsolidated=Brisanje ni možno, ker je zapis vezan na posredovano bančno transakcijo @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/sl_SI/install.lang b/htdocs/langs/sl_SI/install.lang index af1a819a9fc..5c0f7032dbb 100644 --- a/htdocs/langs/sl_SI/install.lang +++ b/htdocs/langs/sl_SI/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Prenos končan LastStepDesc=Zadnji korak: Tukaj določite uporabniško ime in geslo, ki ju nameravate uporabiti za priklop v software. Ne izgubite ju, ker je to račun za administriranje vseh ostalih računov. ActivateModule=Vključite modul %s ShowEditTechnicalParameters=Kliknite tukaj za prikaz/popravek naprednih parametrov (expertni način) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Posodobitev porabljenega časa v sekundah MigrationActioncommElement=Posodobitev podatkov o aktivnostih MigrationPaymentMode=Podatki, migracije za način plačila MigrationCategorieAssociation=Migracija kategorij +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Prikaži opcije, ki niso na voljo HideNotAvailableOptions=Skrij opcije, ki niso na voljo diff --git a/htdocs/langs/sl_SI/interventions.lang b/htdocs/langs/sl_SI/interventions.lang index 59e00001123..011f1e1874a 100644 --- a/htdocs/langs/sl_SI/interventions.lang +++ b/htdocs/langs/sl_SI/interventions.lang @@ -3,7 +3,7 @@ Intervention=Intervencija Interventions=Intervencije InterventionCard=Kartica intervencije NewIntervention=Nova intervencija -AddIntervention=Create intervention +AddIntervention=Dodaj intervencijo ListOfInterventions=Seznam intervencij EditIntervention=Urejanje intervencije ActionsOnFicheInter=Aktivnost na intervenciji @@ -30,15 +30,15 @@ StatusInterInvoiced=Zaračunano RelatedInterventions=Odvisne intervencije ShowIntervention=Prikaži intervencijo SendInterventionRef=Oddana intervencija %s -SendInterventionByMail=Send intervention by Email -InterventionCreatedInDolibarr=Intervention %s created -InterventionValidatedInDolibarr=Intervention %s validated -InterventionModifiedInDolibarr=Intervention %s modified +SendInterventionByMail=Pošlji intervencijo po E-pošti +InterventionCreatedInDolibarr=Intervencija %s je ustvarjena +InterventionValidatedInDolibarr=Intervencija %s je potrjena +InterventionModifiedInDolibarr=Intervencija %s je spremenjena InterventionClassifiedBilledInDolibarr=Intervention %s set as billed InterventionClassifiedUnbilledInDolibarr=Intervention %s set as unbilled -InterventionSentByEMail=Intervention %s sent by EMail -InterventionDeletedInDolibarr=Intervention %s deleted -SearchAnIntervention=Search an intervention +InterventionSentByEMail=Intervencija %s je poslana po E-pošti +InterventionDeletedInDolibarr=Intervencija %s je izbrisana +SearchAnIntervention=Poišči intervencijo ##### Types de contacts ##### TypeContact_fichinter_internal_INTERREPFOLL=Referent za nadaljnjo obravnavo intervencije TypeContact_fichinter_internal_INTERVENING=Serviser diff --git a/htdocs/langs/sl_SI/languages.lang b/htdocs/langs/sl_SI/languages.lang index 2151b9eecf8..cc0981f9726 100644 --- a/htdocs/langs/sl_SI/languages.lang +++ b/htdocs/langs/sl_SI/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Nemščina (Avstrija) Language_de_CH=Nemščina (Švica) Language_el_GR=Grščina Language_en_AU=Angleščina (Avstralija) +Language_en_CA=Angleščina (Kanada) Language_en_GB=Angleščina (Združeno kraljestvo) Language_en_IN=Angleščina (Indija) Language_en_NZ=Angleščina (Nova Zelandija) diff --git a/htdocs/langs/sl_SI/main.lang b/htdocs/langs/sl_SI/main.lang index a3ba9144853..ca5df136e0f 100644 --- a/htdocs/langs/sl_SI/main.lang +++ b/htdocs/langs/sl_SI/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd/MM/yyyy FormatDateShortJavaInput=dd/MM/yyyy FormatDateShortJQuery=dd/mm/yy FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%d. %b, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Napaka, datoteka ni bila shranjena. SetDate=Nastavi datum SelectDate=Izberi datum SeeAlso=Glejte tudi %s +SeeHere=Glej tukaj BackgroundColorByDefault=Privzeta barva ozadja FileNotUploaded=Datoteka ni bila naložena FileUploaded=Datoteka je bila uspešno naložena @@ -158,7 +160,7 @@ Valid=Veljaven Approve=Potrdi ReOpen=Ponovno odpri Upload=Dodaj datoteko -ToLink=POvezava +ToLink=Povezava Select=Dodaj kot lastnika Choose=Izbira ChooseLangage=Prosimo, izberite vaš jezik @@ -169,6 +171,7 @@ User=Uporabnik Users=Uporabniki Group=Skupina Groups=Skupine +NoUserGroupDefined=Nobena skupina uporabnikov ni definirana Password=Geslo PasswordRetype=Ponoven vnos gesla NoteSomeFeaturesAreDisabled=Upoštevajte, da je veliko funkcij/modulov v tej demonstraciji onemogočenih. @@ -258,6 +261,7 @@ days=dni Hours=Ur Minutes=Minut Seconds=Sekund +Weeks=Weeks Today=Danes Yesterday=Včeraj Tomorrow=Jutri @@ -683,6 +687,7 @@ XMoreLines=%s zasenčena(ih) vrstic PublicUrl=Javni URL AddBox=Dodaj okvir SelectElementAndClickRefresh=Izberi element in klikni osveži +PrintFile=Natisni datoteko %s # Week day Monday=Ponedeljek Tuesday=Torek diff --git a/htdocs/langs/sl_SI/margins.lang b/htdocs/langs/sl_SI/margins.lang index f4ca7d75e7a..6211cde7ac0 100644 --- a/htdocs/langs/sl_SI/margins.lang +++ b/htdocs/langs/sl_SI/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Podatki o marži ProductMargins=Marže proizvoda CustomerMargins=Marže kupcev SalesRepresentativeMargins=Marža prodajnega predstavnika +UserMargins=User margins ProductService=Proizvod ali storitev AllProducts=Vsi proizvodi in storitve ChooseProduct/Service=Izberi proizvod ali storitev diff --git a/htdocs/langs/sl_SI/orders.lang b/htdocs/langs/sl_SI/orders.lang index 4aa5b74d03c..5a35df6b8bb 100644 --- a/htdocs/langs/sl_SI/orders.lang +++ b/htdocs/langs/sl_SI/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Naročilo pri dobavitelju SuppliersOrders=Naročila pri dobaviteljih SuppliersOrdersRunning=Trenutna naročila pri dobaviteljih CustomerOrder=Naročilo kupca -CustomersOrders=Naročila kupcev +CustomersOrders=Customers orders CustomersOrdersRunning=Trenutna naročila kupcev CustomersOrdersAndOrdersLines=Naročila kupcev in vrstice naročil -OrdersToValid=Naročila za potrditev -OrdersToBill=Naročila za fakturiranje -OrdersInProcess=Naročila v obdelavi -OrdersToProcess=Naročila za obdelavo +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Naročila pri dobaviteljih za obdelavo StatusOrderCanceledShort=Preklicano StatusOrderDraftShort=Osnutek StatusOrderValidatedShort=Potrjeno StatusOrderSentShort=V postopku StatusOrderSent=Pošiljanje v teku -StatusOrderOnProcessShort=V obdelavi +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Obdelano StatusOrderToBillShort=Za fakturiranje StatusOrderToBill2Short=Za fakturiranje @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Prejeto v celoti StatusOrderCanceled=Preklicano StatusOrderDraft=Osnutek (potrebno potrditi) StatusOrderValidated=Potrjeno -StatusOrderOnProcess=V obdelavi +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Obdelano StatusOrderToBill=Za fakturiranje StatusOrderToBill2=Za fakturiranje @@ -50,6 +50,8 @@ StatusOrderRefused=Zavrnjeno StatusOrderReceivedPartially=Delno prejeto StatusOrderReceivedAll=Prejeto v celoti ShippingExist=Pošiljka ne obstaja +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Osnutek ali odobritev, še ne naročen DraftOrWaitingShipped=Osnutek ali potrditev, še ne odposlan MenuOrdersToBill=Naročila za fakturiranje diff --git a/htdocs/langs/sl_SI/productbatch.lang b/htdocs/langs/sl_SI/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/sl_SI/productbatch.lang +++ b/htdocs/langs/sl_SI/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/sl_SI/products.lang b/htdocs/langs/sl_SI/products.lang index 1975819eb8e..f138b225db2 100644 --- a/htdocs/langs/sl_SI/products.lang +++ b/htdocs/langs/sl_SI/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Računovodski konto (prodaja) ProductOrService=Proizvod ali storitev ProductsAndServices=Proizvodi in storitve ProductsOrServices=Proizvodi ali storitve -ProductsAndServicesOnSell=Proizvodi in storitve, ki so na voljo -ProductsAndServicesNotOnSell=Opuščeni proizvodi in storitve +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Statistika proizvodov in storitev ProductsStatistics=Statistika proizvodov -ProductsOnSell=Proizvodi, ki so na voljo -ProductsNotOnSell=Opuščeni proizvodi -ProductsOnSellAndOnBuy=Proizvodi niti za prodajo, niti za nakup -ServicesOnSell=Storitve, ki so na voljo -ServicesNotOnSell=Opuščene storitve -ServicesOnSellAndOnBuy=Storitve niti za prodajo, niti za nakup +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Interna referenca LastRecorded=Zadnji vneseni proizvodi/storitve za prodajo LastRecordedProductsAndServices=Zadnjih %s vnesenih proizvodov/storitev @@ -198,7 +198,7 @@ HelpAddThisServiceCard=Ta opcija omogoča ustvarjanje ali kloniranje storitve, CurrentProductPrice=Trenutna cena AlwaysUseNewPrice=Vedno uporabi trenutno ceno proizvoda/storitve AlwaysUseFixedPrice=Uporabi fiksno ceno -PriceByQuantity=Cena na količino +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Območje količin ProductsDashboard=Povzetek proizvodov/storitev UpdateOriginalProductLabel=Spremeni originalni naziv @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definicija tipa ali vrednosti črtne BarCodeDataForProduct=Informacija o črtni kodi proizvoda %s : BarCodeDataForThirdparty=Informacija o črtni kodi partnerja %s : ResetBarcodeForAllRecords=Določite vrednost črtnih kod za vse zapise (s tem boste tudi resetirali že določene vrednosti črtnih kod na novo vrednost) -PriceByCustomer=Cena po stranki +PriceByCustomer=Different price for each customer PriceCatalogue=Enolična cena po proizvodu/storitvi -PricingRule=Cenovna pravila +PricingRule=Rules for customer prices AddCustomerPrice=Dodaj ceno po strankah ForceUpdateChildPriceSoc=Določi enako ceno za podružnice stranke PriceByCustomerLog=Cena po imenu stranke @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimalna cena ne more biti nižja od %s MinimumRecommendedPrice=Minimalna priporočena cena je : %s PriceExpressionEditor=Urejevalnik prikaza cene PriceExpressionSelected=Izbran prikaz cene -PriceExpressionEditorHelp="cena = 2 + 2" ali "2 + 2" za nastavitev cene
Posebna polja so spremenljivke kot "#opcije_mojaposebnapolja# * 2"
Tukaj so uporabljene posebne spremenljivke kot #količina# in #tva_tx#
; za ločitev prikazov +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Način cene PriceNumeric=Številka diff --git a/htdocs/langs/sl_SI/projects.lang b/htdocs/langs/sl_SI/projects.lang index d41603e6827..114bd850d0f 100644 --- a/htdocs/langs/sl_SI/projects.lang +++ b/htdocs/langs/sl_SI/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Id projekta Project=Projekt Projects=Projekti +ProjectStatus=Project status SharedProject=Projekti v skupni rabi PrivateProject=Privatni projekti MyProjectsDesc=Ta pogled je omejen na projekte za katere ste vi kontaktna oseba (ne glede na vrsto). @@ -11,7 +12,6 @@ ProjectsDesc=Ta pogled predstavlja vse projekte (vaše uporabniško dovoljenje v MyTasksDesc=Ta pogled je omejen na projekte ali naloge, za katere ste kontaktna oseba (ne glede na vrsto). TasksPublicDesc=Ta pogled predstavlja vse projekte in naloge, za katere imate dovoljenje za branje. TasksDesc=Ta pogled predstavlja vse projekte in naloge (vaše uporabniško dovoljenje vam omogoča ogled vseh). -Myprojects=Moji projekti ProjectsArea=Področje projektov NewProject=Nov projekt AddProject=Ustvari projekt @@ -103,6 +103,7 @@ CloneContacts=Kloniraj kontakte CloneNotes=Kloniraj opombe CloneProjectFiles=Kloniraj skupne datoteke projekta CloneTaskFiles=Kloniraj skupno(e) datoteko(e) naloge (če je bila naloga klonirana) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Ali zares želite klonirati ta projekt? ProjectReportDate=Spremenite datum naloge glede na začetni datum projekta ErrorShiftTaskDate=Nemogoče je spremeniti datum naloge glede na nov začetni datum projekta diff --git a/htdocs/langs/sl_SI/sendings.lang b/htdocs/langs/sl_SI/sendings.lang index d36f18d27ac..527162ad3d9 100644 --- a/htdocs/langs/sl_SI/sendings.lang +++ b/htdocs/langs/sl_SI/sendings.lang @@ -4,7 +4,8 @@ Sending=Odprema Sendings=Pošiljke Shipment=Odprema Shipments=Odpreme -Receivings=Dobave +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Področje pošiljk ListOfSendings=Seznam pošiljk SendingMethod=Način pošiljanja @@ -14,7 +15,7 @@ SearchASending=Iskanje pošiljke StatisticsOfSendings=Statistika pošiljk NbOfSendings=Število pošiljk NumberOfShipmentsByMonth=Število pošiljk po mesecih -SendingCard=Kartica pošiljke +SendingCard=Shipment card NewSending=Nova pošiljka CreateASending=Kreiraj pošiljko CreateSending=Kreiranje pošiljke @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Preklicano StatusSendingDraftShort=Osnutek StatusSendingValidatedShort=Potrjena StatusSendingProcessedShort=Obdelani -SendingSheet=Transportni list +SendingSheet=Shipment sheet Carriers=Prevozniki Carrier=Prevoznik CarriersArea=Področje prevoznikov @@ -58,11 +59,15 @@ SendShippingRef=Oddaja pošiljke %s ActionsOnShipping=Aktivnosti v zvezi z odpremnico LinkToTrackYourPackage=Povezave za sledenje vaše pošiljke ShipmentCreationIsDoneFromOrder=Za trenutek je oblikovanje nove pošiljke opravi od naročila kartice. -RelatedShippings=Povezane pošiljke +RelatedShippings=Related shipments ShipmentLine=Vrstica na odpremnici CarrierList=Seznam prevoznikov -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Lasten prevzem kupca diff --git a/htdocs/langs/sl_SI/stocks.lang b/htdocs/langs/sl_SI/stocks.lang index 79ebbecc62d..ba998c6558a 100644 --- a/htdocs/langs/sl_SI/stocks.lang +++ b/htdocs/langs/sl_SI/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=UPC EnhancedValueOfWarehouses=Vrednost skladišč UserWarehouseAutoCreate=Avtomatsko ustvari zalogo, ko kreirate uporabnika QtyDispatched=Prejeta količina +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Dobavljena naročila RuleForStockManagementDecrease=Pravilo za upravljanje zmanjšanja zalog RuleForStockManagementIncrease=Pravilo za upravljanje povečanja zalog @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Povečanje dejanske zaloge po potrditvi naročila (pozor, ReStockOnDispatchOrder=Povečanje dejanske zaloge po ročnem vnosu v skladišče, po prejemu naročila od dobavitelja ReStockOnDeleteInvoice=Povečaj dejansko zalogo ob brisanju računa OrderStatusNotReadyToDispatch=Naročilo še nima ali nima več statusa, ki omogoča odpremo proizvoda iz skladišča. -StockDiffPhysicTeoric=Razlog za razliko med knjižno in dejansko zalogo +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Za ta objekt ni preddefiniranih proizvodov. Zato ni potrebna odprema iz skladišča. DispatchVerb=Odprema StockLimitShort=Omejitev za opozorilo @@ -116,10 +118,15 @@ MassMovement=Masovni premik MassStockMovement=Masovni premik zaloge SelectProductInAndOutWareHouse=Izberi proizvod, količino, izvorno skladišče in ciljno skladišče, nato klikni "%s". Ko je to narejeno za vse zahtevane premike, klikni na "%s". RecordMovement=Zapis prenešen -ReceivingForSameOrder=Prejemnice za to naročilo +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Zapisan premik zaloge RuleForStockAvailability=Pravila za zahtevane zaloge StockMustBeEnoughForInvoice=Nivo zaloge mora biti dovolj visok za dodajanje proizvoda/storitve na račun StockMustBeEnoughForOrder=Nivo zaloge mora biti dovolj visok za dodajanje proizvoda/storitve na naročilo StockMustBeEnoughForShipment= Nivo zaloge mora biti dovolj visok za dodajanje proizvoda/storitve na odpremnico - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/sl_SI/suppliers.lang b/htdocs/langs/sl_SI/suppliers.lang index 5fb3d415dac..0d020592c7f 100644 --- a/htdocs/langs/sl_SI/suppliers.lang +++ b/htdocs/langs/sl_SI/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Dobavitelji Supplier=Dobavitelj -AddSupplier=Dodaj dobavitelja +AddSupplier=Ustvari dobavitelja SupplierRemoved=Dobavitelj odstranjen SuppliersInvoice=Računi dobavitelja NewSupplier=Nov dobavitelj @@ -40,5 +40,7 @@ AddSupplierInvoice=Kreirajte račun dobavitelja ListOfSupplierProductForSupplier=Seznam proizvodov in cen dobavitelja %s NoneOrBatchFileNeverRan=Nobena datoteka ali paket %s nedavno ni bila zagnana SentToSuppliers=Pošlji dobaviteljem -ListOfSupplierOrders=List of supplier orders -MenuOrdersSupplierToBill=Supplier orders to invoice +ListOfSupplierOrders=Seznam naročil dobaviitelja +MenuOrdersSupplierToBill=Zaračunavanje naročil dobavitelja +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/sl_SI/withdrawals.lang b/htdocs/langs/sl_SI/withdrawals.lang index 2e32208fc92..0ab9910e92f 100644 --- a/htdocs/langs/sl_SI/withdrawals.lang +++ b/htdocs/langs/sl_SI/withdrawals.lang @@ -14,9 +14,9 @@ WithdrawalReceiptShort=Potrdilo LastWithdrawalReceipts=Zadnjih %s potrdil o nakazilih WithdrawedBills=Nakazila po računih WithdrawalsLines=Nakazane postavke -RequestStandingOrderToTreat=Request for standing orders to process -RequestStandingOrderTreated=Request for standing orders processed -NotPossibleForThisStatusOfWithdrawReceiptORLine=Not yet possible. Withdraw status must be set to 'credited' before declaring reject on specific lines. +RequestStandingOrderToTreat=Zahtevek po procesiranju trajnikov +RequestStandingOrderTreated=Zahtevek po procesiranih trajnikih +NotPossibleForThisStatusOfWithdrawReceiptORLine=Trenutno ni možno. Status nakazila je potrebno nastaviti na 'kreditiran' pred zavrnitvijo specifičnih vrstic. CustomersStandingOrders=Trajniki kupcev CustomerStandingOrder=Trajnik kupca NbOfInvoiceToWithdraw=Št. računov z zahtevkom za nakazilo @@ -47,7 +47,7 @@ RefusedData=Datum zavrnitve RefusedReason=Razlog za zavrnitev RefusedInvoicing=Zaračunavanje zavrnitev NoInvoiceRefused=Ne zaračunaj zavrnitve -InvoiceRefused=Invoice refused (Charge the rejection to customer) +InvoiceRefused=Zavrnjen račun (zaračunati zavrnitev stranki) Status=Status StatusUnknown=Neznano StatusWaiting=Na čakanju @@ -76,14 +76,14 @@ WithBankUsingRIB=Za bančne račune, ki uporabljajo RIB WithBankUsingBANBIC=Za bančne račune, ki uporabljajo IBAN/BIC/SWIFT BankToReceiveWithdraw=Informacija o vašem bančnem računu za prejem nakazil CreditDate=Datum kredita -WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) +WithdrawalFileNotCapable=Ni možno generirati datoteke za prejem nakazil za vašo državo %s (vaša država ni podprta) ShowWithdraw=Prikaži nakazilo IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Vendar, če ima račun najmanj eno neizvršeno nakazilo, ne bo označeno kot plačano, da bi bilo pred tem možno izvršiti nakazilo. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Datoteka nakazila SetToStatusSent=Nastavi status na "Datoteka poslana" ThisWillAlsoAddPaymentOnInvoice=S tem bodo plačila povezana z računi, ki bodo spremenili status v "Plačano" -StatisticsByLineStatus=Statistics by status of lines +StatisticsByLineStatus=Statistika po statusu vrstic ### Notifications InfoCreditSubject=Plačilo odprtega naročila %s s strani banke diff --git a/htdocs/langs/sl_SI/workflow.lang b/htdocs/langs/sl_SI/workflow.lang index cf2d0fbc613..523db79b632 100644 --- a/htdocs/langs/sl_SI/workflow.lang +++ b/htdocs/langs/sl_SI/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Nastavitev modula poteka dela -WorkflowDesc=Ta modul je namenjen spreminjanju načina delovanja avtomatskih aktivnosti v aplikaciji. Privzeto je potek dela odprt (postavke lahko izvajate v poljubnem vrstnem redu). Za aktivnosti, ki vas zanimajo, lahko vklopite avtomatske aktivnosti. +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Za aktiviran modul ni na voljo poteka dela, ki bi ga lahko spreminjali descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Po podpisu komercialne ponudbe avtomatsko ustvari naročilo kupca descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Po podpisu komercialne ponudbe avtomatsko ustvari račun za kupca descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Po potrditvi pogodbe avtomatsko ustvari račun za kupca descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Po zaključku naročila kupca avtomatsko ustvari račun za kupca -# descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Označi povezano izvorno ponudbo kot "zaračunano", ko naročilo kupca dobi status "plačano" +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Označi povezano izvorno naročilo (ali več naročil) kupca kot "zaračunano", ko račun za kupca dobi status "plačano" +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Označi povezano izvorno naročilo (ali več naročil) kupca kot "zaračunano", ko naročilo kupca dobi status "potrjeno" diff --git a/htdocs/langs/sq_AL/accountancy.lang b/htdocs/langs/sq_AL/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/sq_AL/accountancy.lang +++ b/htdocs/langs/sq_AL/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/sq_AL/admin.lang b/htdocs/langs/sq_AL/admin.lang index f12efa61626..38634cbd497 100644 --- a/htdocs/langs/sq_AL/admin.lang +++ b/htdocs/langs/sq_AL/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=This is setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr's root directory %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Select module: CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version +UpdateServerOffline=Update server offline GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Export interventions Permission71=Read members Permission72=Create/modify members Permission74=Delete members -Permission75=Setup types and attributes for members +Permission75=Setup types of membership Permission76=Export datas Permission78=Read subscriptions Permission79=Create/modify subscriptions @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Delete sendings Permission111=Read financial accounts Permission112=Create/modify/delete and compare transactions -Permission113=Setup financiel accounts (create, manage categories) -Permission114=Consolidate transactions +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Export transactions and account statements Permission116=Transfers between accounts Permission117=Manage cheques dispatching @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Setup of sendings by email SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). PathToDocuments=Path to documents PathDirectory=Directory -SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by thoose bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommanded) is to use the method "SMTP socket library" that has no disadvantages. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes i FreeLegalTextOnOrders=Free text on orders WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with your clicktodial login (defined on your user card)
__PASS__ that will be replaced with your clicktodial password (defined on your user card). @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=EMailing module setup MailingEMailFrom=Sender EMail (From) for emails sent by emailing module MailingEMailError=Return EMail (Errors-to) for emails with errors +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Sender EMail (From) for emails sent for notifications @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Sending module setup SendingsReceiptModel=Sending receipt model SendingsNumberingModules=Sendings numbering modules -SendingsAbility=Support sendings sheets for customer deliveries +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. -FreeLegalTextOnShippings=Free text on shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Products deliveries receipt numbering module DeliveryOrderModel=Products deliveries receipt model @@ -1414,7 +1420,7 @@ AdvancedEditor=Advanced editor ActivateFCKeditor=Activate advanced editor for: FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note -FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommanded as it can create problems with special characters and page formating when building PDF files. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/sq_AL/agenda.lang b/htdocs/langs/sq_AL/agenda.lang index a24c678a2e5..04e2ae30de8 100644 --- a/htdocs/langs/sq_AL/agenda.lang +++ b/htdocs/langs/sq_AL/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Customer order %s sent by EMail InvoiceSentByEMail=Customer invoice %s sent by EMail SupplierOrderSentByEMail=Supplier order %s sent by EMail SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail -ShippingSentByEMail=Shipping %s sent by EMail -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Third party created DateActionPlannedStart= Planned start date DateActionPlannedEnd= Planned end date @@ -68,7 +69,7 @@ DateActionDoneEnd= Real end date DateActionStart= Start date DateActionEnd= End date AgendaUrlOptions1=You can also add following parameters to filter output: -AgendaUrlOptions2=login=%s to restrict output to actions created by, assigned to or done by user %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=%s to restrict output to actions assigned to user %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/sq_AL/banks.lang b/htdocs/langs/sq_AL/banks.lang index 05156a723ad..10a5f5b3c14 100644 --- a/htdocs/langs/sq_AL/banks.lang +++ b/htdocs/langs/sq_AL/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Account FinancialAccounts=Accounts BankAccount=Bank account BankAccounts=Bank accounts +ShowAccount=Show Account AccountRef=Financial account ref AccountLabel=Financial account label CashAccount=Cash account diff --git a/htdocs/langs/sq_AL/bills.lang b/htdocs/langs/sq_AL/bills.lang index 81b7515a8b8..7232f00e91c 100644 --- a/htdocs/langs/sq_AL/bills.lang +++ b/htdocs/langs/sq_AL/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Invoice Bills=Invoices -BillsCustomers=Customer's invoices -BillsCustomer=Customer's invoice -BillsSuppliers=Supplier's invoices -BillsCustomersUnpaid=Unpaid customer's invoices +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Unpaid customer's invoices for %s BillsSuppliersUnpaid=Unpaid supplier's invoices BillsSuppliersUnpaidForCompany=Unpaid supplier's invoices for %s BillsLate=Late payments -BillsStatistics=Customer's invoices statistics -BillsStatisticsSuppliers=Supplier's invoices statistics +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Disabled because can not be erased InvoiceStandard=Standard invoice InvoiceStandardAsk=Standard invoice @@ -348,6 +348,7 @@ ChequeNumber=Check N° ChequeOrTransferNumber=Check/Transfer N° ChequeMaker=Check transmitter ChequeBank=Bank of Check +CheckBank=Check NetToBePaid=Net to be paid PhoneNumber=Tel FullPhoneNumber=Telephone @@ -388,7 +389,7 @@ DisabledBecausePayments=Not possible since there are some payments CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified paid ExpectedToPay=Expected payment PayedByThisPayment=Paid by this payment -ClosePaidInvoicesAutomatically=Classify "Paid" all standard or replacement invoices entirely paid. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=All invoice with no remain to pay will be automatically closed to status "Paid". ToMakePayment=Pay @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up s TypeContact_invoice_supplier_external_BILLING=Supplier invoice contact TypeContact_invoice_supplier_external_SHIPPING=Supplier shipping contact TypeContact_invoice_supplier_external_SERVICE=Supplier service contact +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/sq_AL/compta.lang b/htdocs/langs/sq_AL/compta.lang index 878eb49b3c9..0d579a06ff1 100644 --- a/htdocs/langs/sq_AL/compta.lang +++ b/htdocs/langs/sq_AL/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Turnover PaymentsNotLinkedToInvoice=Payments not linked to any invoice, so not linked to any third party PaymentsNotLinkedToUser=Payments not linked to any user Profit=Profit +AccountingResult=Accounting result Balance=Balance Debit=Debit Credit=Credit diff --git a/htdocs/langs/sq_AL/cron.lang b/htdocs/langs/sq_AL/cron.lang index 195ad43c87c..82f4574b223 100644 --- a/htdocs/langs/sq_AL/cron.lang +++ b/htdocs/langs/sq_AL/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/sq_AL/ecm.lang b/htdocs/langs/sq_AL/ecm.lang index 90ace355500..4a1931a3217 100644 --- a/htdocs/langs/sq_AL/ecm.lang +++ b/htdocs/langs/sq_AL/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Documents linked to contracts ECMDocsByInvoices=Documents linked to customers invoices ECMDocsByProducts=Documents linked to products ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=No directory created ShowECMSection=Show directory DeleteSection=Remove directory diff --git a/htdocs/langs/sq_AL/errors.lang b/htdocs/langs/sq_AL/errors.lang index 53f8d168a55..497ddd814e4 100644 --- a/htdocs/langs/sq_AL/errors.lang +++ b/htdocs/langs/sq_AL/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Setup of module looks to be uncomplete. Go on Setup ErrorBadMask=Error on mask ErrorBadMaskFailedToLocatePosOfSequence=Error, mask without sequence number ErrorBadMaskBadRazMonth=Error, bad reset value +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Error. Select at least one entry. ErrorProductWithRefNotExist=Product with reference '%s' don't exist ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transation that is conciliated @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/sq_AL/install.lang b/htdocs/langs/sq_AL/install.lang index 5d0c83e3173..5a494156672 100644 --- a/htdocs/langs/sq_AL/install.lang +++ b/htdocs/langs/sq_AL/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migration finished LastStepDesc=Last step: Define here login and password you plan to use to connect to software. Do not loose this as it is the account to administer all others. ActivateModule=Activate module %s ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Update time spent in seconds MigrationActioncommElement=Update data on actions MigrationPaymentMode=Data migration for payment mode MigrationCategorieAssociation=Migration of categories +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/sq_AL/languages.lang b/htdocs/langs/sq_AL/languages.lang index 1116e29c21c..d20aab00146 100644 --- a/htdocs/langs/sq_AL/languages.lang +++ b/htdocs/langs/sq_AL/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=German (Austria) Language_de_CH=German (Switzerland) Language_el_GR=Greek Language_en_AU=English (Australia) +Language_en_CA=English (Canada) Language_en_GB=English (United Kingdom) Language_en_IN=English (India) Language_en_NZ=English (New Zealand) diff --git a/htdocs/langs/sq_AL/main.lang b/htdocs/langs/sq_AL/main.lang index c8d1df78ea1..ea91cfb3438 100644 --- a/htdocs/langs/sq_AL/main.lang +++ b/htdocs/langs/sq_AL/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=MM/dd/yyyy FormatDateShortJavaInput=MM/dd/yyyy FormatDateShortJQuery=mm/dd/yy FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Error, failed to save file. SetDate=Set date SelectDate=Select a date SeeAlso=See also %s +SeeHere=See here BackgroundColorByDefault=Default background color FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=User Users=Users Group=Group Groups=Groups +NoUserGroupDefined=No user group defined Password=Password PasswordRetype=Retype your password NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. @@ -258,6 +261,7 @@ days=days Hours=Hours Minutes=Minutes Seconds=Seconds +Weeks=Weeks Today=Today Yesterday=Yesterday Tomorrow=Tomorrow @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/sq_AL/margins.lang b/htdocs/langs/sq_AL/margins.lang index 606d5e5053a..748b3c71f30 100644 --- a/htdocs/langs/sq_AL/margins.lang +++ b/htdocs/langs/sq_AL/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Product or Service AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/sq_AL/orders.lang b/htdocs/langs/sq_AL/orders.lang index 6ee9c19fa95..34792ae1eb2 100644 --- a/htdocs/langs/sq_AL/orders.lang +++ b/htdocs/langs/sq_AL/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customer's orders +CustomersOrders=Customers orders CustomersOrdersRunning=Current customer's orders CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customer's orders to validate -OrdersToBill=Customer's orders delivered -OrdersInProcess=Customer's orders in process -OrdersToProcess=Customer's orders to process +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Supplier's orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated StatusOrderSentShort=In process StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Reception +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Processed StatusOrderToBillShort=Delivered StatusOrderToBill2Short=To bill @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Everything received StatusOrderCanceled=Canceled StatusOrderDraft=Draft (needs to be validated) StatusOrderValidated=Validated -StatusOrderOnProcess=Waiting to receive +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Processed StatusOrderToBill=Delivered StatusOrderToBill2=To bill @@ -50,6 +50,8 @@ StatusOrderRefused=Refused StatusOrderReceivedPartially=Partially received StatusOrderReceivedAll=Everything received ShippingExist=A shipment exists +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Draft or approved not yet ordered DraftOrWaitingShipped=Draft or validated not yet shipped MenuOrdersToBill=Orders delivered diff --git a/htdocs/langs/sq_AL/productbatch.lang b/htdocs/langs/sq_AL/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/sq_AL/productbatch.lang +++ b/htdocs/langs/sq_AL/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/sq_AL/products.lang b/htdocs/langs/sq_AL/products.lang index 81d217ddb54..3a29639b12b 100644 --- a/htdocs/langs/sq_AL/products.lang +++ b/htdocs/langs/sq_AL/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Accountancy code (sell) ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services -ProductsAndServicesOnSell=Available Products and Services -ProductsAndServicesNotOnSell=Obsolete Products and Services +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Available products -ProductsNotOnSell=Obsolete products -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Available services -ServicesNotOnSell=Obsolete services -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded LastRecordedProductsAndServices=Last %s recorded products/services @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/sq_AL/projects.lang b/htdocs/langs/sq_AL/projects.lang index c48e27fd204..b3c150d1687 100644 --- a/htdocs/langs/sq_AL/projects.lang +++ b/htdocs/langs/sq_AL/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Project Projects=Projects +ProjectStatus=Project status SharedProject=Everybody PrivateProject=Contacts of project MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). @@ -11,7 +12,6 @@ ProjectsDesc=This view presents all projects (your user permissions grant you pe MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). TasksPublicDesc=This view presents all projects and tasks you are allowed to read. TasksDesc=This view presents all projects and tasks (your user permissions grant you permission to view everything). -Myprojects=My projects ProjectsArea=Projects area NewProject=New project AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/sq_AL/sendings.lang b/htdocs/langs/sq_AL/sendings.lang index f6111bac684..794c9019c86 100644 --- a/htdocs/langs/sq_AL/sendings.lang +++ b/htdocs/langs/sq_AL/sendings.lang @@ -4,7 +4,8 @@ Sending=Shipment Sendings=Shipments Shipment=Shipment Shipments=Shipments -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Shipments area ListOfSendings=List of shipments SendingMethod=Shipping method @@ -14,7 +15,7 @@ SearchASending=Search for shipment StatisticsOfSendings=Statistics for shipments NbOfSendings=Number of shipments NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Shipping card +SendingCard=Shipment card NewSending=New shipment CreateASending=Create a shipment CreateSending=Create shipment @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Canceled StatusSendingDraftShort=Draft StatusSendingValidatedShort=Validated StatusSendingProcessedShort=Processed -SendingSheet=Sending sheet +SendingSheet=Shipment sheet Carriers=Carriers Carrier=Carrier CarriersArea=Carriers area @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Events on shipment LinkToTrackYourPackage=Link to track your package ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is done from the order card. -RelatedShippings=Related shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Catch by customer diff --git a/htdocs/langs/sq_AL/stocks.lang b/htdocs/langs/sq_AL/stocks.lang index 06c502504e9..9de2e5a4dbe 100644 --- a/htdocs/langs/sq_AL/stocks.lang +++ b/htdocs/langs/sq_AL/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a warehouse automatically when creating a user QtyDispatched=Quantity dispatched +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Stock dispatching RuleForStockManagementDecrease=Rule for stock management decrease RuleForStockManagementIncrease=Rule for stock management increase @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. -StockDiffPhysicTeoric=Reason for difference stock physical and theoretical +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=No predefined products for this object. So no dispatching in stock is required. DispatchVerb=Dispatch StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/sq_AL/suppliers.lang b/htdocs/langs/sq_AL/suppliers.lang index b1545d6ca3c..7b4d4acb244 100644 --- a/htdocs/langs/sq_AL/suppliers.lang +++ b/htdocs/langs/sq_AL/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Suppliers Supplier=Supplier -AddSupplier=Add a supplier +AddSupplier=Create a supplier SupplierRemoved=Supplier removed SuppliersInvoice=Suppliers invoice NewSupplier=New supplier @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=None or batch %s not ran recently SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/sq_AL/withdrawals.lang b/htdocs/langs/sq_AL/withdrawals.lang index ea32511fefb..c36ffbf025a 100644 --- a/htdocs/langs/sq_AL/withdrawals.lang +++ b/htdocs/langs/sq_AL/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Credit on WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Show Withdraw IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one withdrawal payment not yet processed, it won't be set as paid to allow prior withdrawal management. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/sq_AL/workflow.lang b/htdocs/langs/sq_AL/workflow.lang index ed0b30ae89c..17c8dd3aafa 100644 --- a/htdocs/langs/sq_AL/workflow.lang +++ b/htdocs/langs/sq_AL/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow module setup -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can enabled automatic actions that you are interesting in. +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed diff --git a/htdocs/langs/sv_SE/accountancy.lang b/htdocs/langs/sv_SE/accountancy.lang index 9e3a4d80c03..953962457db 100644 --- a/htdocs/langs/sv_SE/accountancy.lang +++ b/htdocs/langs/sv_SE/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Konfiguration av modulen redovisningsexpert Journaux=Journaler JournalFinancial=Finansiella journaler Exports=Export +Export=Export Modelcsv=Modell av export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Välj en modell av export Modelcsv_normal=Klassisk export Modelcsv_CEGID=Export mot CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of faktura VentilatedinAccount=Ventilerade framgångsrikt i redovisningskonto NotVentilatedinAccount=Inte ventilerad i redovisningskonto -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Antal element att vara uppdelning framgår av sidan (max rekommenderad: 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Börja sortering av nedbrytnings sidor "Måste uppdelning" av de senaste element diff --git a/htdocs/langs/sv_SE/admin.lang b/htdocs/langs/sv_SE/admin.lang index 22a9c532922..07f6a21ef83 100644 --- a/htdocs/langs/sv_SE/admin.lang +++ b/htdocs/langs/sv_SE/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Använd inte i poroduktion ThisIsProcessToFollow=Detta är inställd för att behandla: StepNb=Steg %s FindPackageFromWebSite=Hitta ett paket som ger funktionen du vill ha (till exempel om %s webbplats). -DownloadPackageFromWebSite=Hämta paketet. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Packa upp paketet fil till Dolibarr s katalog %s rot SetupIsReadyForUse=Installera är klar och Dolibarr är klar att användas med den nya komponenten. NotExistsDirect=Den alternativa rotkatalogen är inte definierad.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Välj modul: CurrentVersion=Dolibarr nuvarande version CallUpdatePage=Gå till sidan som uppdaterar databasen struktur och data: %s. LastStableVersion=Senaste stabila version +UpdateServerOffline=Update server offline GenericMaskCodes=Du kan ange någon numrering mask. I denna mask skulle följande taggar användas:
(000000) motsvarar ett antal som kommer att ökas på varje %s. Ange så många nollor som den önskade längden på disken. Räknaren kommer att fyllas ut med nollor från vänster för att få så många nollor som masken.
(000000 000) samma som tidigare men en kompensation som motsvarar det antal till höger om tecknet + tillämpas med början den första %s.
(000000 @ x) samma som tidigare, men räknaren återställs till noll när månaden x uppnås (x mellan 1 och 12). Om detta alternativ används och x är 2 eller högre, då sekvensen (yy) (mm) eller (ÅÅÅÅ) (mm) krävs också.
(Dd) dag (01 till 31).
(Mm) månad (01 till 12).
(Yy), (ÅÅÅÅ) eller (y) år under 2, 4 eller ett nummer.
GenericMaskCodes2={Cccc} klientkoden på n tecken
{Cccc000} klientkoden på n tecken följs av en räknare dedikerad för kunden. Denna räknare tillägnad kund återställs vid samma tidpunkt än den globala räknare.
{Tttt} Koden för tredjeparts typ på n tecken (se ordlistan-tredjeparts typer).
GenericMaskCodes3=Alla andra tecken i masken förblir intakt.
Blanksteg är inte tillåtna.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Välj från tabell ExtrafieldSeparator=Avskiljare ExtrafieldCheckBox=Kryssruta ExtrafieldRadio=Radioknapp +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parametrar listan måste vara som nyckel, värde

till exempel:
1, value1
2, värde2
3, value3
...

För att få en lista beroende på en annan:
1, value1 | parent_list_code: parent_key
2, värde2 | parent_list_code: parent_key ExtrafieldParamHelpcheckbox=Parametrar listan måste vara som nyckel, värde

till exempel:
1, value1
2, värde2
3, value3
... ExtrafieldParamHelpradio=Parametrar listan måste vara som nyckel, värde

till exempel:
1, value1
2, värde2
3, value3
... ExtrafieldParamHelpsellist=Parametrar lista kommer från en tabell
Syntax: tabellnamn: label_field: id_field :: filtrering
Exempel: c_typent: libelle: id :: filter

Filtret kan vara ett enkelt test (t.ex. aktiv = 1) för att visa endast aktiv värde
Om du vill filtrera på extrafields använder syntaxt extra.fieldcode = ... (där fältkoden är koden för Mig &)

För att få en lista beroende på en annan:
c_typent: libelle: id: parent_list_code | parent_column: filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Katalog som används för att skapa PDF WarningUsingFPDF=Varning: Din conf.php innehåller direktiv dolibarr_pdf_force_fpdf = 1. Detta innebär att du använder fpdf bibliotek för att generera PDF-filer. Detta bibliotek är gammalt och inte stöder en mängd funktioner (Unicode, bild öppenhet, kyrilliska, arabiska och asiatiska språk, ...), så att du kan uppleva fel under PDF generation.
För att lösa detta och ha ett fullt stöd för PDF-generering, ladda ner TCPDF bibliotek , sedan kommentera eller ta bort linjen $ dolibarr_pdf_force_fpdf = 1, och lägg istället $ dolibarr_lib_TCPDF_PATH = 'path_to_TCPDF_dir' LocalTaxDesc=Vissa länder tillämpar 2 eller 3 skatter på varje fakturarad. Om så är fallet, välj typ för andra och tredje skatte- och dess hastighet. Möjlig typ är:
1: lokal skatt tillämpas på produkter och tjänster utan moms (moms inte tillämpas på lokal skatt)
2: lokal skatt tillämpas på produkter och tjänster innan moms (moms beräknas på beloppet + localtax)
3: lokal skatt tillämpas på produkter utan moms (moms inte tillämpas på lokal skatt)
4: lokal skatt tillämpas på produkter innan moms (moms beräknas på beloppet + localtax)
5: lokal skatt tillämpas på tjänster utan moms (moms inte tillämpas på lokal skatt)
6: lokal skatt tillämpas på tjänster innan moms (moms beräknas på beloppet + localtax) @@ -572,7 +575,7 @@ Permission67=Export insatser Permission71=Läs medlemmar Permission72=Skapa / modifiera medlemmar Permission74=Ta bort medlemmar -Permission75=Setup och attributen för medlemmar +Permission75=Setup types of membership Permission76=Exportera data seten Permission78=Läs prenumerationer Permission79=Skapa / ändra abonnemang @@ -595,8 +598,8 @@ Permission106=Exportsend Permission109=Ta bort sendings Permission111=Läs finansiella räkenskaper Permission112=Skapa / ändra / radera och jämför transaktioner -Permission113=Setup financiel redovisning (skapa, hantera kategorier) -Permission114=Konsolidera transaktioner +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Exporttransaktioner och kontoutdrag Permission116=Överföringar mellan konton Permission117=Hantera kontroller avsändning @@ -761,6 +764,7 @@ Permission55001=Läs omröstningar Permission55002=Skapa / ändra omröstningar Permission59001=Läs kommersiella marginaler Permission59002=Definiera kommersiella marginaler +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties typ DictionaryCompanyJuridicalType=Juridiska sorters thirdparties DictionaryProspectLevel=Prospect potentiella nivå @@ -1038,7 +1042,7 @@ SendingMailSetup=Inställning av sändningarna via e-post SendmailOptionNotComplete=Varning, på vissa Linux-system, för att skicka e-post från e-post, sendmail utförande inställning måste conatins Alternativ-ba (parameter mail.force_extra_parameters i din php.ini-fil). Om vissa mottagare inte emot e-post, försök att redigera den här PHP parameter med mail.force_extra_parameters =-BA). PathToDocuments=Sökväg till handlingar PathDirectory=Directory -SendmailOptionMayHurtBuggedMTA=Funktion för att skicka e-post med hjälp av metoden "PHP mail direkt" kommer att generera ett e-postmeddelande som kanske inte korrekt tolkas av vissa som får e-postservrar. Resultatet är att vissa post inte kan läsas av människor som tillhandahålls av thoose avlyssnat plattformar. Det är fallet för vissa Internetleverantörer (Ex: Orange i Frankrike). Detta är inte ett problem till Dolibarr heller i PHP, men på inkommande e-post server. Du kan dock lägga möjlighet MAIN_FIX_FOR_BUGGED_MTA till 1 i Setup - andra att ändra Dolibarr att undvika detta. Du kan dock uppleva problem med andra servrar som strikt respektera SMTP standard. Den andra lösningen (Rekomenderad) är att använda metoden "SMTP socket bibliotek" som inte har några nackdelar. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Konfigurera översättning TranslationDesc=Val av språk visas på skärmen kan ändras:
* Globalt från menyn Hem - Inställningar - Display
* För användaren endast från fliken Användar visning av användarkort (klicka på inloggning på toppen av skärmen). TotalNumberOfActivatedModules=Totalt antal aktiverade funktionsmoduler:% s @@ -1057,7 +1061,7 @@ BrowserIsOK=Du använder webbläsaren %s. Denna webbläsare är ok för säkerhe BrowserIsKO=Du använder webbläsaren %s. Denna webbläsare är känt för att vara ett dåligt val för säkerhet, prestanda och tillförlitlighet. Vi rekommendera att du använder Firefox, Chrome, Opera eller Safari. XDebugInstalled=Xdebug är laddad. XCacheInstalled=Xcache är laddad. -AddRefInList=Display kund / leverantörs ref i listan (välj lista eller kombinationsrutan) och de flesta av hyperlänk +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition av fält %s FixTZ=Timezone fix FillThisOnlyIfRequired=Exempel: +2 (fyll endast om tidszon offset problem är erfarna) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Att godkänna beställningen efter förslaget närma FreeLegalTextOnOrders=Fri text på order WatermarkOnDraftOrders=Vattenstämpel på utkast till beställningar (ingen om tom) ShippableOrderIconInList=Lägg en ikon i Order lista som anger om beställningen är shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Klicka för att Dial modul setup ClickToDialUrlDesc=Url anropas när ett klick på telefon picto görs. I URL kan du använda taggar
__PHONETO__ Som kommer att ersättas med telefonnumret för personen att ringa
__PHONEFROM__ Som ska ersättas med telefonnummer att ringa person (er)
__LOGIN__ Som ska ersättas med clicktodial inloggning (definierad på ditt användarnamn kort)
__PASS__ Som ska ersättas med ditt clicktodial lösenord (definierad på ditt användarnamn kort). @@ -1392,6 +1397,7 @@ RSSUrlExample=En intressant RSS-flöde MailingSetup=E-post modul setup MailingEMailFrom=Avsändare Epost (från) för e-post skickas via e-post modul MailingEMailError=Retur-e (fel-till) för e-post med fel +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail modul anmälan inställnings NotificationEMailFrom=Avsändare Epost (från) för e-post som skickas till anmälningar @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fast e målet SendingsSetup=Sända modul setup SendingsReceiptModel=Att skicka kvitto modell SendingsNumberingModules=Sänts numrering moduler -SendingsAbility=Stöd sendings ark för kundleveranserna +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=I de flesta fall är sendings kvitton användas både som ark för kundleveranser (förteckning över produkter för att skicka) och ark som är recevied och undertecknas av kunden. Så produktleveranser intäkter är en dubbel funktion och är sällan aktiveras. -FreeLegalTextOnShippings=Fri text på shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Produkter leveranser kvitto numrering modul DeliveryOrderModel=Produkter leveranser kvitto modell @@ -1414,7 +1420,7 @@ AdvancedEditor=Avancerad redaktör ActivateFCKeditor=Aktivera FCKeditor för: FCKeditorForCompany=WYSIWYG skapande / upplaga av Companie beskrivning och notera FCKeditorForProduct=WYSIWYG skapande / upplaga av produkter / tjänster: s beskrivning och anteckning -FCKeditorForProductDetails=WYSIWYG skapande / utgåva av produkter detaljer linjer för alla enheter (förslag, order, fakturor, etc. ..). Varning: Använd detta alternativ för det här fallet är allvarligt inte rekommenderat eftersom det kan skapa problem med specialtecken och sida formationen för att bygga PDF filer. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWYG skapande / utgåva av försändelser FCKeditorForUserSignature=WYSIWYG skapande / upplaga av signatur FCKeditorForMail=WYSIWYG skapande / utgåva för alla mail (utom Outils-> mejla) @@ -1562,3 +1568,4 @@ SalariesSetup=Inställning av modul löner SortOrder=Sorteringsordning Format=Format TypePaymentDesc=0: Kundbetalning typ, 1: Leverantörsbetalnings typ, 2: Både kunder och leverantörer betalnings typ +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/sv_SE/agenda.lang b/htdocs/langs/sv_SE/agenda.lang index b9c1c0343b4..8d888af7945 100644 --- a/htdocs/langs/sv_SE/agenda.lang +++ b/htdocs/langs/sv_SE/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Kundorderprojekt %s via e-post InvoiceSentByEMail=Kundfaktura %s via e-post SupplierOrderSentByEMail=Leverantör beställa %s via e-post SupplierInvoiceSentByEMail=Leverantörsfaktura %s via e-post -ShippingSentByEMail=Frakt %s via e-post -ShippingValidated= Frakt %s validerade +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Tredje part har skapats DateActionPlannedStart= Planerat startdatum DateActionPlannedEnd= Planerat slutdatum @@ -68,7 +69,7 @@ DateActionDoneEnd= Real slutdatum DateActionStart= Startdatum DateActionEnd= Slutdatum AgendaUrlOptions1=Du kan också lägga till följande parametrar för att filtrera utgång: -AgendaUrlOptions2=login = %s att begränsa produktionen till åtgärder inrättade av, påverkas eller göras av användaren %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=Logina =%s ​​att begränsa produktionen till åtgärder som ägs av en användare%s. AgendaUrlOptions4=logint = %s att begränsa produktionen till handlande påverkade användarnas %s. AgendaUrlOptionsProject=projekt = PROJECT_ID att begränsa produktionen till åtgärder i samband med projektet PROJECT_ID. diff --git a/htdocs/langs/sv_SE/banks.lang b/htdocs/langs/sv_SE/banks.lang index 77a566b712f..ad874db18e7 100644 --- a/htdocs/langs/sv_SE/banks.lang +++ b/htdocs/langs/sv_SE/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Konto FinancialAccounts=Konton BankAccount=Bankkonto BankAccounts=Bankkonton +ShowAccount=Show Account AccountRef=Finansiell balans ref AccountLabel=Finansiell balans etikett CashAccount=Cash konto diff --git a/htdocs/langs/sv_SE/bills.lang b/htdocs/langs/sv_SE/bills.lang index 46d04601dc3..58ce46d83f5 100644 --- a/htdocs/langs/sv_SE/bills.lang +++ b/htdocs/langs/sv_SE/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Faktura Bills=Fakturor -BillsCustomers=Kundfakturor -BillsCustomer=Kundens faktura -BillsSuppliers=Leverantörens fakturor -BillsCustomersUnpaid=Obetalda kundens fakturor +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Obetalda kundens fakturor för %s BillsSuppliersUnpaid=Obetalda leverantörs fakturor BillsSuppliersUnpaidForCompany=Obetald leverantörens fakturor för %s BillsLate=Sena betalningar -BillsStatistics=Kundens fakturor statistik -BillsStatisticsSuppliers=Leverantörens fakturor statistik +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Inaktiverats på grund kan inte raderas InvoiceStandard=Standard faktura InvoiceStandardAsk=Standard faktura @@ -348,6 +348,7 @@ ChequeNumber=Kontrollera nr ChequeOrTransferNumber=Kontrollera / Transfer nr ChequeMaker=Kontrollera sändare ChequeBank=Bank av Check +CheckBank=Check NetToBePaid=Netto som skall betalas PhoneNumber=Tel FullPhoneNumber=Telefon @@ -388,7 +389,7 @@ DisabledBecausePayments=Inte möjlig eftersom det inte finns några betalningar CantRemovePaymentWithOneInvoicePaid=Kan inte ta bort betalning eftersom det inte finns åtminstone på fakturan klassificeras betalt ExpectedToPay=Förväntad utbetalning PayedByThisPayment=Betalas av denna betalning -ClosePaidInvoicesAutomatically=Klassificera "betalade" alla standard eller fakturor ersättning entirely betalt. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Beteckna "Betalda" alla fullständigt återbetalda kreditnotor. AllCompletelyPayedInvoiceWillBeClosed=Alla fakturor utan återstående att betala kommer automatiskt stängd för status "betald". ToMakePayment=Betala @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Representanten uppföljning l TypeContact_invoice_supplier_external_BILLING=Leverantörsfaktura kontakt TypeContact_invoice_supplier_external_SHIPPING=Leverantör Frakt Kontakta TypeContact_invoice_supplier_external_SERVICE=Leverantör tjänst kontakt +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/sv_SE/compta.lang b/htdocs/langs/sv_SE/compta.lang index d51e041b7e2..9c425408904 100644 --- a/htdocs/langs/sv_SE/compta.lang +++ b/htdocs/langs/sv_SE/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Omsättning PaymentsNotLinkedToInvoice=Betalningar inte kopplade till någon faktura, så inte är kopplade till någon tredje part PaymentsNotLinkedToUser=Betalningar inte är kopplade till alla användare Profit=Resultat +AccountingResult=Accounting result Balance=Balans Debit=Debet Credit=Credit diff --git a/htdocs/langs/sv_SE/cron.lang b/htdocs/langs/sv_SE/cron.lang index cf4ed34e6ae..dda29874c43 100644 --- a/htdocs/langs/sv_SE/cron.lang +++ b/htdocs/langs/sv_SE/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL för att kontrollera och starta cron-jobb om det behövs OrToLaunchASpecificJob=Eller för att kontrollera och starta ett specifikt arbete KeyForCronAccess=Säkerhetsnyckel för URL för att lansera cron-jobb FileToLaunchCronJobs=Kommandorad för att starta cron jobb -CronExplainHowToRunUnix=På Unix-miljö bör du använda crontab för att köra kommandoraden varje minuter -CronExplainHowToRunWin=På Microsoft (tm) Windows environement kan du använda schemalagd aktivitet verktyg för att köra kommandoraden varje minuter +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Schemalagda jobb CronListActive=Lista över aktiva / schemalagda jobb diff --git a/htdocs/langs/sv_SE/ecm.lang b/htdocs/langs/sv_SE/ecm.lang index 0fd6be84a25..d257d6e4f60 100644 --- a/htdocs/langs/sv_SE/ecm.lang +++ b/htdocs/langs/sv_SE/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Handlingar som är kopplade till kontrakt ECMDocsByInvoices=Dokument med koppling till kunderna fakturor ECMDocsByProducts=Dokument med koppling till produkter ECMDocsByProjects=Handlingar som är kopplade till projekt +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=Ingen katalog skapas ShowECMSection=Visa katalog DeleteSection=Ta bort katalog diff --git a/htdocs/langs/sv_SE/errors.lang b/htdocs/langs/sv_SE/errors.lang index c3346d18dfa..06034972e09 100644 --- a/htdocs/langs/sv_SE/errors.lang +++ b/htdocs/langs/sv_SE/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Inställning av modul ser ut att vara ofullständig. ErrorBadMask=Fel på masken ErrorBadMaskFailedToLocatePosOfSequence=Fel, mask utan löpnummer ErrorBadMaskBadRazMonth=Fel, dåligt återställningsvärde +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Error. Välj minst en post. ErrorProductWithRefNotExist=Produkt med referens "%s" existerar inte ErrorDeleteNotPossibleLineIsConsolidated=Bort icke möjlig, eftersom post är kopplad till en bank Kontoinformation som blidkades @@ -156,6 +158,8 @@ ErrorPriceExpression21=Tomt resultat '%s' ErrorPriceExpression22=Negativt resultat '%s' ErrorPriceExpressionInternal=Internt fel '%s' ErrorPriceExpressionUnknown=Okänt fel '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Obligatoriska inställningsparametrarna har ännu inte definierat diff --git a/htdocs/langs/sv_SE/install.lang b/htdocs/langs/sv_SE/install.lang index cfb2d4ee6d7..385ac6e854c 100644 --- a/htdocs/langs/sv_SE/install.lang +++ b/htdocs/langs/sv_SE/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migration färdiga LastStepDesc=Sista steget: Definiera här login och lösenord som du planerar att använda för att ansluta till programmet. Tappa inte detta eftersom det är det konto för att administrera alla andra. ActivateModule=Aktivera modul %s ShowEditTechnicalParameters=Klicka här för att visa / redigera avancerade parametrar (expertläge) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Uppdatera tid i sekunder MigrationActioncommElement=Uppdatera uppgifter om åtgärder MigrationPaymentMode=Datamigrering betalning mode MigrationCategorieAssociation=Migreringskategorier +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Visa ej tillgängliga val HideNotAvailableOptions=Dölj ej tillgängliga val diff --git a/htdocs/langs/sv_SE/languages.lang b/htdocs/langs/sv_SE/languages.lang index 1c0bdd80aa2..6c909af19fd 100644 --- a/htdocs/langs/sv_SE/languages.lang +++ b/htdocs/langs/sv_SE/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Tyska (Österrike) Language_de_CH=Tyska (Schweiz) Language_el_GR=Grekiska Language_en_AU=Engelska (Australien) +Language_en_CA=English (Canada) Language_en_GB=Engelska (Storbritannien) Language_en_IN=Engelska (Indien) Language_en_NZ=Engelska (Nya Zeeland) diff --git a/htdocs/langs/sv_SE/main.lang b/htdocs/langs/sv_SE/main.lang index facd4e8651d..eaaca274910 100644 --- a/htdocs/langs/sv_SE/main.lang +++ b/htdocs/langs/sv_SE/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=yyyy-MM-dd FormatDateShortJavaInput=yyyy-MM-dd FormatDateShortJQuery=yy-mm-dd FormatDateShortJQueryInput=yy-mm-dd +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Fel, kunde inte spara filen. SetDate=Ställ in datum SelectDate=Välj datum SeeAlso=Se även %s +SeeHere=See here BackgroundColorByDefault=Standard bakgrundsfärg FileNotUploaded=Filen har inte laddats upp FileUploaded=Filen har laddats upp @@ -169,6 +171,7 @@ User=Användare Users=Användare Group=Grupp Groups=Grupper +NoUserGroupDefined=No user group defined Password=Lösenord PasswordRetype=Ange ditt lösenord NoteSomeFeaturesAreDisabled=Observera att en hel del funktioner / moduler är inaktiverade i denna demonstration. @@ -258,6 +261,7 @@ days=dagar Hours=Timmar Minutes=Minuter Seconds=Sekunder +Weeks=Weeks Today=I dag Yesterday=I går Tomorrow=I morgon @@ -683,6 +687,7 @@ XMoreLines=%s rader osynliga PublicUrl=Offentlig webbadress AddBox=Lägg till låda SelectElementAndClickRefresh=Välj ett element och klicka på uppdatera +PrintFile=Print File %s # Week day Monday=Måndag Tuesday=Tisdag diff --git a/htdocs/langs/sv_SE/margins.lang b/htdocs/langs/sv_SE/margins.lang index 82c57619fd6..26476d9c327 100644 --- a/htdocs/langs/sv_SE/margins.lang +++ b/htdocs/langs/sv_SE/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Marginaldetaljer ProductMargins=Produktmarginaler CustomerMargins=Kundmarginaler SalesRepresentativeMargins=Återförsäljares marginaler +UserMargins=User margins ProductService=Produkt eller tjänst AllProducts=Alla produkter och tjänster ChooseProduct/Service=Välj produkt eller tjänst diff --git a/htdocs/langs/sv_SE/orders.lang b/htdocs/langs/sv_SE/orders.lang index ad1112357ea..9cc8eb7d001 100644 --- a/htdocs/langs/sv_SE/orders.lang +++ b/htdocs/langs/sv_SE/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Leverantör för SuppliersOrders=Leverantörens order SuppliersOrdersRunning=Nuvarande leverantörens order CustomerOrder=Kundorder -CustomersOrders=Kundens order +CustomersOrders=Customers orders CustomersOrdersRunning=Nuvarande kundens order CustomersOrdersAndOrdersLines=Kundorder och ordning: s linjer -OrdersToValid=Beställningar att validera -OrdersToBill=Order till faktura -OrdersInProcess=Orderingången i processen -OrdersToProcess=Order att behandla +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Leverantörens order att behandla StatusOrderCanceledShort=Annullerad StatusOrderDraftShort=Förslag StatusOrderValidatedShort=Validerad StatusOrderSentShort=I processen StatusOrderSent=Sändning pågår -StatusOrderOnProcessShort=Den process +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Bearbetade StatusOrderToBillShort=Till Bill StatusOrderToBill2Short=Till Bill @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Allt fick StatusOrderCanceled=Annullerad StatusOrderDraft=Utkast (måste valideras) StatusOrderValidated=Validerad -StatusOrderOnProcess=Den process +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Bearbetade StatusOrderToBill=Till Bill StatusOrderToBill2=Till Bill @@ -50,6 +50,8 @@ StatusOrderRefused=Refused StatusOrderReceivedPartially=Delvis fått StatusOrderReceivedAll=Allt fick ShippingExist=En sändning föreligger +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Förslag eller godkänts ännu ej beställas DraftOrWaitingShipped=Förslag eller godkännas ännu inte sändas MenuOrdersToBill=Order till faktura diff --git a/htdocs/langs/sv_SE/printipp.lang b/htdocs/langs/sv_SE/printipp.lang index 835e6827f12..75e16c9f7be 100644 --- a/htdocs/langs/sv_SE/printipp.lang +++ b/htdocs/langs/sv_SE/printipp.lang @@ -1,14 +1,14 @@ # Dolibarr language file - Source file is en_US - printipp -PrintIPPSetup=Setup of Direct Print module -PrintIPPDesc=This module adds a Print button to send documents directly to a printer. It requires a Linux system with CUPS installed. -PRINTIPP_ENABLED=Show "Direct print" icon in document lists -PRINTIPP_HOST=Print server +PrintIPPSetup=Inställning av direktutskrift modul +PrintIPPDesc=Denna modul tillför en utskriftsknapp för att skicka dokument direkt till en skrivare. Det kräver ett Linux-system med CUPS installerade. +PRINTIPP_ENABLED=Visa "Direktutskrift" -ikonen i dokumentlistor +PRINTIPP_HOST=Skrivarserver PRINTIPP_PORT=Port -PRINTIPP_USER=Login -PRINTIPP_PASSWORD=Password -NoPrinterFound=No printers found (check your CUPS setup) -FileWasSentToPrinter=File %s was sent to printer -NoDefaultPrinterDefined=No default printer defined -DefaultPrinter=Default printer -Printer=Printer -CupsServer=CUPS Server +PRINTIPP_USER=Inloggning +PRINTIPP_PASSWORD=Lösenord +NoPrinterFound=Inga skrivare hittades (kolla din CUPS inställningar) +FileWasSentToPrinter=Filen %s har skickats till skrivaren +NoDefaultPrinterDefined=Ingen standardskrivare definierad +DefaultPrinter=Standardskrivare +Printer=Skrivare +CupsServer=CUPS-server diff --git a/htdocs/langs/sv_SE/productbatch.lang b/htdocs/langs/sv_SE/productbatch.lang index ca3e49749ab..97c10290bfe 100644 --- a/htdocs/langs/sv_SE/productbatch.lang +++ b/htdocs/langs/sv_SE/productbatch.lang @@ -1,20 +1,21 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed -Batch=Batch/Serial -atleast1batchfield=Eat-by date or Sell-by date or Batch number -batch_number=Batch/Serial number -l_eatby=Eat-by date -l_sellby=Sell-by date -DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) -printBatch=Batch: %s -printEatby=Eat-by: %s -printSellby=Sell-by: %s -printQty=Qty: %d -AddDispatchBatchLine=Add a line for Shelf Life dispatching -BatchDefaultNumber=Undefined -WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No +Batch=Batch / Serial +atleast1batchfield=Ät före-datum eller bäst före-datum eller batchnummer +batch_number=Batch / Serienummer +l_eatby=Ät efter datum +l_sellby=Sälj före-datum +DetailBatchNumber=Batch / Serial detaljer +DetailBatchFormat=Batch / Serial: %s - E:%s - S:%s (Antal: %d) +printBatch=Sats: %s +printEatby=Äter med:%s +printSellby=Sälj-med :%s +printQty=Antal: %d +AddDispatchBatchLine=Lägg en linje för Hållbarhet avsändning +BatchDefaultNumber=Odefinierat +WhenProductBatchModuleOnOptionAreForced=När modulen Batch / Serial är på, öka / minska aktieläget tvingas senaste val och kan inte redigeras. Andra alternativ kan definieras som du vill. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/sv_SE/products.lang b/htdocs/langs/sv_SE/products.lang index 51817febe22..cce8a3064cc 100644 --- a/htdocs/langs/sv_SE/products.lang +++ b/htdocs/langs/sv_SE/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Bokföring kod (sälja) ProductOrService=Produkt eller tjänst ProductsAndServices=Produkter och tjänster ProductsOrServices=Produkter eller tjänster -ProductsAndServicesOnSell=Tillgängliga produkter och tjänster -ProductsAndServicesNotOnSell=Föråldrade Produkter och tjänster +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Produkter och tjänster statistik ProductsStatistics=Produkter statistik -ProductsOnSell=Tillgängliga produkter -ProductsNotOnSell=Föråldrade produkter -ProductsOnSellAndOnBuy=Produkter inte till salu eller köp -ServicesOnSell=Tillgängliga tjänster -ServicesNotOnSell=Föråldrade tjänster -ServicesOnSellAndOnBuy=Tjänster som inte till salu eller köp +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Intern hänvisning LastRecorded=Senaste produkter / tjänster att sälja in LastRecordedProductsAndServices=Senaste %s inspelade produkter / tjänster @@ -198,7 +198,7 @@ HelpAddThisServiceCard=Detta alternativ medger att skapa eller klona en tjänst CurrentProductPrice=Nuvarande pris AlwaysUseNewPrice=Använd alltid nuvarande pris för produkt / tjänst AlwaysUseFixedPrice=Använd fast pris -PriceByQuantity=Pris för mängd +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Pris för mängdgaffel ProductsDashboard=Sammanfattning produkter / tjänster UpdateOriginalProductLabel=Ändra ursprunglig märkning @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Angivelse av typ och värde för str BarCodeDataForProduct=Streckkodsinfo för produkt %s: BarCodeDataForThirdparty=Streckkodsinfo för tredje part %s: ResetBarcodeForAllRecords=Definiera streckkodsvärde för alla poster (detta kommer även att återställa streckkodsvärden som redan är definierade med nya värden) -PriceByCustomer=Pris per kund +PriceByCustomer=Different price for each customer PriceCatalogue=Unikt pris för produkt eller tjänst -PricingRule=Prisregler +PricingRule=Rules for customer prices AddCustomerPrice=Lägg till pris per kund ForceUpdateChildPriceSoc=Sätt samma pris på kunds filialer PriceByCustomerLog=Pris per kundlogg @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimipris kan inte vara lägre än %s MinimumRecommendedPrice=Minsta rekommenderade priset är : %s PriceExpressionEditor=Pris uttryck redigerare PriceExpressionSelected=Valda pris uttryck -PriceExpressionEditorHelp="pris = 2 + 2" eller "2 + 2" för det pris
ExtraFields är variabler som "# options_myextrafieldkey # * 2"
Det finns speciella variabler som # mängd # och # tva_tx #
Använd ; att separera uttryck +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Prisläge PriceNumeric=Nummer diff --git a/htdocs/langs/sv_SE/projects.lang b/htdocs/langs/sv_SE/projects.lang index ad639b44769..664a33fd4d5 100644 --- a/htdocs/langs/sv_SE/projects.lang +++ b/htdocs/langs/sv_SE/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. projekt ProjectId=Projekt Id Project=Projekt Projects=Projekt +ProjectStatus=Project status SharedProject=Alla PrivateProject=Kontakter av projekt MyProjectsDesc=Denna syn är begränsad till projekt du en kontakt för (allt som är "typ"). @@ -11,7 +12,6 @@ ProjectsDesc=Denna uppfattning presenterar alla projekt (din användarbehörighe MyTasksDesc=Denna syn är begränsad till projekt eller uppdrag du en kontakt för (allt som är "typ"). TasksPublicDesc=Denna uppfattning presenterar alla projekt och uppgifter som du får läsa. TasksDesc=Denna uppfattning presenterar alla projekt och uppgifter (din användarbehörighet tillåta dig att visa allt). -Myprojects=Mina projekt ProjectsArea=Projekt område NewProject=Nytt projekt AddProject=Skapa projekt @@ -103,6 +103,7 @@ CloneContacts=Klon kontakter CloneNotes=Klon anteckningar CloneProjectFiles=Klon projekt fogade filer CloneTaskFiles=Klon uppgift(er) anslöt filer (om uppgiften(s) klonad) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Är du säker på att klona detta projekt? ProjectReportDate=Ändra uppgift datum enligt projektets startdatum ErrorShiftTaskDate=Omöjligt att flytta datum på uppgiften enligt nytt projekt startdatum diff --git a/htdocs/langs/sv_SE/sendings.lang b/htdocs/langs/sv_SE/sendings.lang index 5c4e735ad88..d723d2da074 100644 --- a/htdocs/langs/sv_SE/sendings.lang +++ b/htdocs/langs/sv_SE/sendings.lang @@ -4,7 +4,8 @@ Sending=Sändning Sendings=Transporter Shipment=Sändning Shipments=Transporter -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Transporter område ListOfSendings=Lista över transporter SendingMethod=Frakt metod @@ -14,7 +15,7 @@ SearchASending=Sök efter transport StatisticsOfSendings=Statistik för transporter NbOfSendings=Antal transporter NumberOfShipmentsByMonth=Antal leveranser per månad -SendingCard=Frakt-kort +SendingCard=Shipment card NewSending=Ny leverans CreateASending=Skapa en sändning CreateSending=Skapa leverans @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Annullerad StatusSendingDraftShort=Förslag StatusSendingValidatedShort=Validerad StatusSendingProcessedShort=Bearbetade -SendingSheet=Att skicka ark +SendingSheet=Shipment sheet Carriers=Bärare Carrier=Carrier CarriersArea=Bärare område @@ -58,11 +59,15 @@ SendShippingRef=Inlämning av leveransen %s ActionsOnShipping=Evenemang på leverans LinkToTrackYourPackage=Länk till spåra ditt paket ShipmentCreationIsDoneFromOrder=För närvarande är skapandet av en ny leverans sker från ordern kortet. -RelatedShippings=Relaterade sändningar +RelatedShippings=Related shipments ShipmentLine=Transport linje CarrierList=Lista över transportörer -SendingRunning=Produkten från kundorder redan skickad -SuppliersReceiptRunning=Produkten från leverantörs beställning redan mottaget +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Fångst av kunden diff --git a/htdocs/langs/sv_SE/stocks.lang b/htdocs/langs/sv_SE/stocks.lang index 947f99a1ccd..c8c742d154a 100644 --- a/htdocs/langs/sv_SE/stocks.lang +++ b/htdocs/langs/sv_SE/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Lagervärde UserWarehouseAutoCreate=Skapa ett lager automatiskt när du skapar en användare QtyDispatched=Sänd kvantitet +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Stock avsändning RuleForStockManagementDecrease=Regel för lagerminskning RuleForStockManagementIncrease=Regel för lagerökning @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Öka befintligt lager vid godkänd leverantörsorder ReStockOnDispatchOrder=Öka befintligt lager vid manuell sändning till lager, efter mottagande av leverantörsorder ReStockOnDeleteInvoice=Öka befintligt lager vid radering av faktura OrderStatusNotReadyToDispatch=Beställningen har ännu inte / inte längre status som tillåter sändning av produkter till lager. -StockDiffPhysicTeoric=Orsak till skillnad mellan verklig och beräknad lagerställning +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Inga fördefinierade produkter för det här objektet. Så ingen sändning till lager krävs. DispatchVerb=Sändning StockLimitShort=Gräns ​​för varning @@ -116,10 +118,15 @@ MassMovement=Massrörelse MassStockMovement=Mass lager rörelse SelectProductInAndOutWareHouse=Välj produkt, antal, ursprungslager och mållager och klicka "%s". När det är gjort för alla lageröverföringar klicka på "%s". RecordMovement=Spela in överföring -ReceivingForSameOrder=Godsmottagning för denna order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Sparade lageröverföringar RuleForStockAvailability=Regler om krav på lagerhållning StockMustBeEnoughForInvoice=Lagernivå måste vara tillräckligt för att lägga produkten / tjänsten i faktura StockMustBeEnoughForOrder=Lagernivå måste vara tillräckligt för att lägga produkten / tjänsten i beställning StockMustBeEnoughForShipment= Lagernivå måste vara tillräckligt för att lägga produkten / tjänsten i transporten - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/sv_SE/suppliers.lang b/htdocs/langs/sv_SE/suppliers.lang index 712bdc678b6..5dd3f4020da 100644 --- a/htdocs/langs/sv_SE/suppliers.lang +++ b/htdocs/langs/sv_SE/suppliers.lang @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Ingen eller parti %s sprang inte nyligen SentToSuppliers=Skickas till leverantörer ListOfSupplierOrders=Lista över leverantörsorder MenuOrdersSupplierToBill=Leverantörs order att fakturera +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/sv_SE/withdrawals.lang b/htdocs/langs/sv_SE/withdrawals.lang index 3c34fb7a2c1..ee0ceb8ecee 100644 --- a/htdocs/langs/sv_SE/withdrawals.lang +++ b/htdocs/langs/sv_SE/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Krediter på WithdrawalFileNotCapable=Det går inte att skapa uttags kvitto fil för ditt land %s (ditt land stöds inte) ShowWithdraw=Visa Dra IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Om faktura har minst ett uttag betalning som ännu inte behandlats, kommer det inte anges som betalas för att hantera uttag innan. -DoStandingOrdersBeforePayments=Denna flik tillåter dig att begära en stående beställning. När gjort, gå in på menyn Bank-> Återkallande att hantera den stående beställningen. När stående order är stängd, kommer betalningen på faktura automatiskt registreras, och fakturan stängs om resten att betala är null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Utträde fil SetToStatusSent=Ställ in på status "File Skickat" ThisWillAlsoAddPaymentOnInvoice=Detta kommer också att gälla utbetalningar till fakturor och kommer att klassificera dem som "Paid" diff --git a/htdocs/langs/sv_SE/workflow.lang b/htdocs/langs/sv_SE/workflow.lang index dc3223565db..efefbb03c97 100644 --- a/htdocs/langs/sv_SE/workflow.lang +++ b/htdocs/langs/sv_SE/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Arbetsflöde modul konfiguration -WorkflowDesc=Denna modul är designade för att ändra beteendet hos automatiska åtgärder i programmet. Som standard är arbetsflödet öppnas (du gör något för att du vill). Du kan aktiveras automatiska åtgärder som du är intressanta i. +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Det finns ingen arbetsflöde du kan ändra för modul du har aktiverat. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Skapa en kundorder automatiskt efter en kommersiell förslag undertecknas descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Skapa en kundfaktura automatiskt efter en kommersiell förslag undertecknas diff --git a/htdocs/langs/th_TH/accountancy.lang b/htdocs/langs/th_TH/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/th_TH/accountancy.lang +++ b/htdocs/langs/th_TH/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/th_TH/admin.lang b/htdocs/langs/th_TH/admin.lang index df4ca8e96de..2460fb1167f 100644 --- a/htdocs/langs/th_TH/admin.lang +++ b/htdocs/langs/th_TH/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=This is setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr's root directory %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Select module: CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version +UpdateServerOffline=Update server offline GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Export interventions Permission71=Read members Permission72=Create/modify members Permission74=Delete members -Permission75=Setup types and attributes for members +Permission75=Setup types of membership Permission76=Export datas Permission78=Read subscriptions Permission79=Create/modify subscriptions @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Delete sendings Permission111=Read financial accounts Permission112=Create/modify/delete and compare transactions -Permission113=Setup financiel accounts (create, manage categories) -Permission114=Consolidate transactions +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Export transactions and account statements Permission116=Transfers between accounts Permission117=Manage cheques dispatching @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Setup of sendings by email SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). PathToDocuments=Path to documents PathDirectory=Directory -SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by thoose bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommanded) is to use the method "SMTP socket library" that has no disadvantages. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes i FreeLegalTextOnOrders=Free text on orders WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with your clicktodial login (defined on your user card)
__PASS__ that will be replaced with your clicktodial password (defined on your user card). @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=EMailing module setup MailingEMailFrom=Sender EMail (From) for emails sent by emailing module MailingEMailError=Return EMail (Errors-to) for emails with errors +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Sender EMail (From) for emails sent for notifications @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Sending module setup SendingsReceiptModel=Sending receipt model SendingsNumberingModules=Sendings numbering modules -SendingsAbility=Support sendings sheets for customer deliveries +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. -FreeLegalTextOnShippings=Free text on shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Products deliveries receipt numbering module DeliveryOrderModel=Products deliveries receipt model @@ -1414,7 +1420,7 @@ AdvancedEditor=Advanced editor ActivateFCKeditor=Activate advanced editor for: FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note -FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommanded as it can create problems with special characters and page formating when building PDF files. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/th_TH/agenda.lang b/htdocs/langs/th_TH/agenda.lang index a24c678a2e5..04e2ae30de8 100644 --- a/htdocs/langs/th_TH/agenda.lang +++ b/htdocs/langs/th_TH/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Customer order %s sent by EMail InvoiceSentByEMail=Customer invoice %s sent by EMail SupplierOrderSentByEMail=Supplier order %s sent by EMail SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail -ShippingSentByEMail=Shipping %s sent by EMail -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Third party created DateActionPlannedStart= Planned start date DateActionPlannedEnd= Planned end date @@ -68,7 +69,7 @@ DateActionDoneEnd= Real end date DateActionStart= Start date DateActionEnd= End date AgendaUrlOptions1=You can also add following parameters to filter output: -AgendaUrlOptions2=login=%s to restrict output to actions created by, assigned to or done by user %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=%s to restrict output to actions assigned to user %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/th_TH/banks.lang b/htdocs/langs/th_TH/banks.lang index 05156a723ad..10a5f5b3c14 100644 --- a/htdocs/langs/th_TH/banks.lang +++ b/htdocs/langs/th_TH/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Account FinancialAccounts=Accounts BankAccount=Bank account BankAccounts=Bank accounts +ShowAccount=Show Account AccountRef=Financial account ref AccountLabel=Financial account label CashAccount=Cash account diff --git a/htdocs/langs/th_TH/bills.lang b/htdocs/langs/th_TH/bills.lang index 81b7515a8b8..7232f00e91c 100644 --- a/htdocs/langs/th_TH/bills.lang +++ b/htdocs/langs/th_TH/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Invoice Bills=Invoices -BillsCustomers=Customer's invoices -BillsCustomer=Customer's invoice -BillsSuppliers=Supplier's invoices -BillsCustomersUnpaid=Unpaid customer's invoices +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Unpaid customer's invoices for %s BillsSuppliersUnpaid=Unpaid supplier's invoices BillsSuppliersUnpaidForCompany=Unpaid supplier's invoices for %s BillsLate=Late payments -BillsStatistics=Customer's invoices statistics -BillsStatisticsSuppliers=Supplier's invoices statistics +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Disabled because can not be erased InvoiceStandard=Standard invoice InvoiceStandardAsk=Standard invoice @@ -348,6 +348,7 @@ ChequeNumber=Check N° ChequeOrTransferNumber=Check/Transfer N° ChequeMaker=Check transmitter ChequeBank=Bank of Check +CheckBank=Check NetToBePaid=Net to be paid PhoneNumber=Tel FullPhoneNumber=Telephone @@ -388,7 +389,7 @@ DisabledBecausePayments=Not possible since there are some payments CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified paid ExpectedToPay=Expected payment PayedByThisPayment=Paid by this payment -ClosePaidInvoicesAutomatically=Classify "Paid" all standard or replacement invoices entirely paid. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=All invoice with no remain to pay will be automatically closed to status "Paid". ToMakePayment=Pay @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up s TypeContact_invoice_supplier_external_BILLING=Supplier invoice contact TypeContact_invoice_supplier_external_SHIPPING=Supplier shipping contact TypeContact_invoice_supplier_external_SERVICE=Supplier service contact +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/th_TH/compta.lang b/htdocs/langs/th_TH/compta.lang index 878eb49b3c9..0d579a06ff1 100644 --- a/htdocs/langs/th_TH/compta.lang +++ b/htdocs/langs/th_TH/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Turnover PaymentsNotLinkedToInvoice=Payments not linked to any invoice, so not linked to any third party PaymentsNotLinkedToUser=Payments not linked to any user Profit=Profit +AccountingResult=Accounting result Balance=Balance Debit=Debit Credit=Credit diff --git a/htdocs/langs/th_TH/cron.lang b/htdocs/langs/th_TH/cron.lang index 195ad43c87c..82f4574b223 100644 --- a/htdocs/langs/th_TH/cron.lang +++ b/htdocs/langs/th_TH/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/th_TH/ecm.lang b/htdocs/langs/th_TH/ecm.lang index 90ace355500..4a1931a3217 100644 --- a/htdocs/langs/th_TH/ecm.lang +++ b/htdocs/langs/th_TH/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Documents linked to contracts ECMDocsByInvoices=Documents linked to customers invoices ECMDocsByProducts=Documents linked to products ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=No directory created ShowECMSection=Show directory DeleteSection=Remove directory diff --git a/htdocs/langs/th_TH/errors.lang b/htdocs/langs/th_TH/errors.lang index 53f8d168a55..497ddd814e4 100644 --- a/htdocs/langs/th_TH/errors.lang +++ b/htdocs/langs/th_TH/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Setup of module looks to be uncomplete. Go on Setup ErrorBadMask=Error on mask ErrorBadMaskFailedToLocatePosOfSequence=Error, mask without sequence number ErrorBadMaskBadRazMonth=Error, bad reset value +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Error. Select at least one entry. ErrorProductWithRefNotExist=Product with reference '%s' don't exist ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transation that is conciliated @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/th_TH/install.lang b/htdocs/langs/th_TH/install.lang index 5d0c83e3173..5a494156672 100644 --- a/htdocs/langs/th_TH/install.lang +++ b/htdocs/langs/th_TH/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migration finished LastStepDesc=Last step: Define here login and password you plan to use to connect to software. Do not loose this as it is the account to administer all others. ActivateModule=Activate module %s ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Update time spent in seconds MigrationActioncommElement=Update data on actions MigrationPaymentMode=Data migration for payment mode MigrationCategorieAssociation=Migration of categories +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/th_TH/languages.lang b/htdocs/langs/th_TH/languages.lang index a17ec96bfce..32545205240 100644 --- a/htdocs/langs/th_TH/languages.lang +++ b/htdocs/langs/th_TH/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=เยอรมัน (ออสเตรีย) Language_de_CH=ภาษาเยอรมัน Language_el_GR=กรีก Language_en_AU=ภาษาอังกฤษ (ออสเตรเลีย) +Language_en_CA=English (Canada) Language_en_GB=ภาษาอังกฤษ (สหราชอาณาจักร) Language_en_IN=ภาษาอังกฤษ (อินเดีย) Language_en_NZ=ภาษาอังกฤษ (นิวซีแลนด์) diff --git a/htdocs/langs/th_TH/main.lang b/htdocs/langs/th_TH/main.lang index 6258c9fe83a..e06e7c12e29 100644 --- a/htdocs/langs/th_TH/main.lang +++ b/htdocs/langs/th_TH/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=MM/dd/yyyy FormatDateShortJavaInput=MM/dd/yyyy FormatDateShortJQuery=mm/dd/yy FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Error, failed to save file. SetDate=Set date SelectDate=Select a date SeeAlso=See also %s +SeeHere=See here BackgroundColorByDefault=Default background color FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=User Users=Users Group=Group Groups=Groups +NoUserGroupDefined=No user group defined Password=Password PasswordRetype=Retype your password NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. @@ -258,6 +261,7 @@ days=days Hours=Hours Minutes=Minutes Seconds=Seconds +Weeks=Weeks Today=Today Yesterday=Yesterday Tomorrow=Tomorrow @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/th_TH/margins.lang b/htdocs/langs/th_TH/margins.lang index 606d5e5053a..748b3c71f30 100644 --- a/htdocs/langs/th_TH/margins.lang +++ b/htdocs/langs/th_TH/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Product or Service AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/th_TH/orders.lang b/htdocs/langs/th_TH/orders.lang index 6ee9c19fa95..34792ae1eb2 100644 --- a/htdocs/langs/th_TH/orders.lang +++ b/htdocs/langs/th_TH/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customer's orders +CustomersOrders=Customers orders CustomersOrdersRunning=Current customer's orders CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customer's orders to validate -OrdersToBill=Customer's orders delivered -OrdersInProcess=Customer's orders in process -OrdersToProcess=Customer's orders to process +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Supplier's orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated StatusOrderSentShort=In process StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Reception +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Processed StatusOrderToBillShort=Delivered StatusOrderToBill2Short=To bill @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Everything received StatusOrderCanceled=Canceled StatusOrderDraft=Draft (needs to be validated) StatusOrderValidated=Validated -StatusOrderOnProcess=Waiting to receive +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Processed StatusOrderToBill=Delivered StatusOrderToBill2=To bill @@ -50,6 +50,8 @@ StatusOrderRefused=Refused StatusOrderReceivedPartially=Partially received StatusOrderReceivedAll=Everything received ShippingExist=A shipment exists +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Draft or approved not yet ordered DraftOrWaitingShipped=Draft or validated not yet shipped MenuOrdersToBill=Orders delivered diff --git a/htdocs/langs/th_TH/productbatch.lang b/htdocs/langs/th_TH/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/th_TH/productbatch.lang +++ b/htdocs/langs/th_TH/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/th_TH/products.lang b/htdocs/langs/th_TH/products.lang index 81d217ddb54..3a29639b12b 100644 --- a/htdocs/langs/th_TH/products.lang +++ b/htdocs/langs/th_TH/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Accountancy code (sell) ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services -ProductsAndServicesOnSell=Available Products and Services -ProductsAndServicesNotOnSell=Obsolete Products and Services +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Available products -ProductsNotOnSell=Obsolete products -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Available services -ServicesNotOnSell=Obsolete services -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded LastRecordedProductsAndServices=Last %s recorded products/services @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/th_TH/projects.lang b/htdocs/langs/th_TH/projects.lang index c48e27fd204..b3c150d1687 100644 --- a/htdocs/langs/th_TH/projects.lang +++ b/htdocs/langs/th_TH/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Project Projects=Projects +ProjectStatus=Project status SharedProject=Everybody PrivateProject=Contacts of project MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). @@ -11,7 +12,6 @@ ProjectsDesc=This view presents all projects (your user permissions grant you pe MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). TasksPublicDesc=This view presents all projects and tasks you are allowed to read. TasksDesc=This view presents all projects and tasks (your user permissions grant you permission to view everything). -Myprojects=My projects ProjectsArea=Projects area NewProject=New project AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/th_TH/sendings.lang b/htdocs/langs/th_TH/sendings.lang index f6111bac684..794c9019c86 100644 --- a/htdocs/langs/th_TH/sendings.lang +++ b/htdocs/langs/th_TH/sendings.lang @@ -4,7 +4,8 @@ Sending=Shipment Sendings=Shipments Shipment=Shipment Shipments=Shipments -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Shipments area ListOfSendings=List of shipments SendingMethod=Shipping method @@ -14,7 +15,7 @@ SearchASending=Search for shipment StatisticsOfSendings=Statistics for shipments NbOfSendings=Number of shipments NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Shipping card +SendingCard=Shipment card NewSending=New shipment CreateASending=Create a shipment CreateSending=Create shipment @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Canceled StatusSendingDraftShort=Draft StatusSendingValidatedShort=Validated StatusSendingProcessedShort=Processed -SendingSheet=Sending sheet +SendingSheet=Shipment sheet Carriers=Carriers Carrier=Carrier CarriersArea=Carriers area @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Events on shipment LinkToTrackYourPackage=Link to track your package ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is done from the order card. -RelatedShippings=Related shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Catch by customer diff --git a/htdocs/langs/th_TH/stocks.lang b/htdocs/langs/th_TH/stocks.lang index 06c502504e9..9de2e5a4dbe 100644 --- a/htdocs/langs/th_TH/stocks.lang +++ b/htdocs/langs/th_TH/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a warehouse automatically when creating a user QtyDispatched=Quantity dispatched +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Stock dispatching RuleForStockManagementDecrease=Rule for stock management decrease RuleForStockManagementIncrease=Rule for stock management increase @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. -StockDiffPhysicTeoric=Reason for difference stock physical and theoretical +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=No predefined products for this object. So no dispatching in stock is required. DispatchVerb=Dispatch StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/th_TH/suppliers.lang b/htdocs/langs/th_TH/suppliers.lang index b1545d6ca3c..7b4d4acb244 100644 --- a/htdocs/langs/th_TH/suppliers.lang +++ b/htdocs/langs/th_TH/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Suppliers Supplier=Supplier -AddSupplier=Add a supplier +AddSupplier=Create a supplier SupplierRemoved=Supplier removed SuppliersInvoice=Suppliers invoice NewSupplier=New supplier @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=None or batch %s not ran recently SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/th_TH/withdrawals.lang b/htdocs/langs/th_TH/withdrawals.lang index ea32511fefb..c36ffbf025a 100644 --- a/htdocs/langs/th_TH/withdrawals.lang +++ b/htdocs/langs/th_TH/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Credit on WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Show Withdraw IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one withdrawal payment not yet processed, it won't be set as paid to allow prior withdrawal management. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/th_TH/workflow.lang b/htdocs/langs/th_TH/workflow.lang index ed0b30ae89c..17c8dd3aafa 100644 --- a/htdocs/langs/th_TH/workflow.lang +++ b/htdocs/langs/th_TH/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow module setup -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can enabled automatic actions that you are interesting in. +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed diff --git a/htdocs/langs/tr_TR/accountancy.lang b/htdocs/langs/tr_TR/accountancy.lang index 5af51d0e2ba..e2d152e2ec1 100644 --- a/htdocs/langs/tr_TR/accountancy.lang +++ b/htdocs/langs/tr_TR/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Hesap uzmanı modülü yapılandırması Journaux=Günlükler JournalFinancial=Mali günlükler Exports=Dışaaktarımlar +Export=Dışaaktar Modelcsv=Dışaaktarım modeli +OptionsDeactivatedForThisExportModel=Bu dışaaktarma modeli için seçenekler etkinleştirilmemiş Selectmodelcsv=Bir dışaaktarım modeli seç Modelcsv_normal=Klasik dışaaktarım Modelcsv_CEGID=CEGID Uzmanına yönelik dışaaktarım @@ -66,7 +68,7 @@ Lineofinvoice=Fatura satırı VentilatedinAccount=Muhasebe hesabında başarıyla analiz edildi NotVentilatedinAccount=Muhasebe hesabında analiz edilmedi. -ACCOUNTING_SEPARATORCSV=CSV Ayırıcı +ACCOUNTING_SEPARATORCSV=Dışaaktarma dosyası sütün ayırıcısı ACCOUNTING_LIMIT_LIST_VENTILATION=Analiz syfasında gösterilecek öğe sayısı (önerilen ençok:50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Analiz sayfalarında "Analiz edileceklerin" sıralandırılmasını en son öğelerden göre başlatın diff --git a/htdocs/langs/tr_TR/admin.lang b/htdocs/langs/tr_TR/admin.lang index 082c6c9cd44..fb42b9b001a 100644 --- a/htdocs/langs/tr_TR/admin.lang +++ b/htdocs/langs/tr_TR/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Üretimde kullanmayın ThisIsProcessToFollow=Bu ayarlama işlemidir: StepNb=Adım %s FindPackageFromWebSite=İstediğiniz özelliği sağlayan bir paket bulun (örneğin; resmi web sitesinden %s). -DownloadPackageFromWebSite=Paketi indir +DownloadPackageFromWebSite=%s Paketini indir. UnpackPackageInDolibarrRoot=Dosya paketini Dolibarr'ın kök dizinine aç %s SetupIsReadyForUse=Kurma işlemi bitmiştir ve Dolibarr bu yeni bileşeni ile kullanıma hazırdır. NotExistsDirect=Alternatif kök dizin tanımlanmamış.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Modül seç: CurrentVersion=Dolibarr geçerli sürümü CallUpdatePage=Veritabanı yapısını ve verileri güncelleyen sayfaya git: %s. LastStableVersion=Son kararlı sürüm +UpdateServerOffline=Güncelleme sunucusu çevrimdışı GenericMaskCodes=Herhangi bir numaralandırma maskesi girebilirsiniz. Bu maskede alttaki etiketler kullanılabilir:
{000000} her %s te artırılacak bir numaraya karşılık gelir. Sayacın istenilen uzunluğu kadar çok sıfır girin. Sayaç, maskedeki kadar çok sayıda sıfır olacak şekilde soldan sıfırlarla tamamlanacaktır.
{000000+000} önceki ile aynıdır fakat + işaretinin sağındaki sayıya denk gelen bir sapma ilk %s ten itibaren uygulanır.
{000000@x} önceki ile aynıdır fakat sayaç x aya ulaşıldığında sıfırlanır (x= 1 ve 12 arasındadır veya yapılandırmada tanımlanan mali yılın ilk aylarını kullanmak için 0 dır). Bu seçenek kullanılırsa ve x= 2 veya daha yüksekse, {yyyy}{mm} veya {yyyy}{mm} dizisi de gereklidir.
{dd} gün (01 ila 31).
{mm} ay (01 ila 12).
{yy}, {yyyy} veya {y} yıl 2, 4 veya 1 sayıları üzerindedir.
GenericMaskCodes2=b>cccc{}
n Karakterdeki istemci kodu
cccc000{}n Karakterdeki istemci kodu müşteri için özel bir sayaç tarafından takip edilmektedir. Müşteriye ayrılan bu sayaç, genel sayaçla aynı anda sıfırlanır.
tttt{} n Karakterdeki firma türü kodu (bakınız sözlük-şirket türleri).
GenericMaskCodes3=Maskede diğer tüm karakterler olduğu gibi kalır.
Boşluklara izin verilmez.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Tablodan seç ExtrafieldSeparator=Ayırıcı ExtrafieldCheckBox=Onay kutusu ExtrafieldRadio=Onay düğmesi +ExtrafieldCheckBoxFromList= Tablodan açılır kutu ExtrafieldParamHelpselect=Parametre listesi anahtar.değer gibi olmalı, örneğin

:
1,değer1
2,değer2
3,değer3
...

Başka bir listeye bağlı bir liste elde etmek için :
1,değer1|parent_list_code:parent_key
2,değer2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parametre listesi anahtar.değer gibi olmalı, örneğin

:
1,değer1
2,değer2
3,değer3
... ExtrafieldParamHelpradio=Parametre listesi anahtar.değer gibi olmalı, örneğin

:
1,değer1
2,değer2
3,değer3
... ExtrafieldParamHelpsellist=Parametre listesi bir tablodan gelir
Sözdizimi : table_name:label_field:id_field::filter
Örnek: c_typent:libelle:id::filter

Süzgeç yalnızca etkin değeri (eg active=1) basit bir test olabilir
daha çok alanda süzecekseniz bu söz dizimini kullanın extra.fieldcode=... (burada kod ek alanın kodudur)

Başkasına dayalı listeyi almak için :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parametre listesi bir tablodan gelir
Sözdizimi : table_name:label_field:id_field::filter
Örnek: c_typent:libelle:id::filter

süzgeç yalnızca etkin değeri gösteren (eg active=1) basit bir test olabilir
daha çok alanda süzecekseniz bu söz dizimini kullanın extra.fieldcode=... (burada kod ek alanın kodudur)

Başkasına dayalı listeyi almak için :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=PDF oluşturmada kullanılan kütüphane WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Müdahale dışaaktar Permission71=Üye oku Permission72=Üye oluştur/düzenle Permission74=Üye sil -Permission75=Üyeler için türleri ve öznitelikleri kur +Permission75=Üye türlerini ayarla Permission76=Veri dışaaktar Permission78=Abonelik oku Permission79=Abonelik oluştur/düzenle @@ -595,8 +598,8 @@ Permission106=Gönderilenleri dışaaktar Permission109=Gönderilenleri sil Permission111=Finansal tabloları oku Permission112=İşlem oluştur/düzenle/sil ve karşılaştır -Permission113=Finansal tablo kur (oluştur, kategorileri yönet) -Permission114=İşlemleri birleştir (konsolide et) +Permission113=Mali hesapları ayarla (kategoriler oluştur, yönet) +Permission114=İşlem uzlaştır Permission115=İşlemleri ve hesap tablolarını dışaaktar Permission116=Hesaplar arasında aktarım Permission117=Çek dağıtımlarını yönet @@ -761,10 +764,11 @@ Permission55001=Anket oku Permission55002=Anket oluştur/düzenle Permission59001=Ticari oran oku Permission59002=Ticari oran tanımla +Permission59003=Her müşteri oranını oku DictionaryCompanyType=Üçüncü parti türleri DictionaryCompanyJuridicalType=Üçüncü parti yasal türleri DictionaryProspectLevel=Aday potansiyel düzeyi -DictionaryCanton=Eyalet/Şehir +DictionaryCanton=Eyalet/İl DictionaryRegion=Bölgeler DictionaryCountry=Ülkeler DictionaryCurrency=Para birimleri @@ -816,7 +820,7 @@ LocalTax1ManagementES= RE Yönetimi LocalTax1IsUsedDescES= Aday, fatura, sipariş, v.s. oluştururken varsayılan RE oranı etkin standart kuralı kullanır:
Eğer alıcı RE ye tabi değilse, varsayılan RE = 0. Kural sonu.
Eğer alıcı RE ye tabiyse RE varsayılan değerdir. Kural sonu.
LocalTax1IsNotUsedDescES= Varsayılan olarak önerilen RE 0 dır. Kural sonu. LocalTax1IsUsedExampleES= İspanya’da İspanyol IAE nin bazı özel bölümlerine tabi profesyoneller vardır. -LocalTax1IsNotUsedExampleES= İspanya’da onlar uzman ile derneklerdir ve İspanyol IAE belirli bölümlerine tabiidir. +LocalTax1IsNotUsedExampleES= İspanya’da onlar uzman ile derneklerdir ve İspanyol IAE nin belirli bölümlerine tabiidir. LocalTax2ManagementES= IRPF Yönetimi LocalTax2IsUsedDescES= Adayları, faturaları, siparişleri, v.s. oluştururken kullanılan öntanımlı RE oranı geçerli standart kurala uyar:
Eğer satıcı IRPF ye tabii değilse, IRPF varsayılan=0. Kural sonu.
Eğer satıcı IRPF ye tabiiyse IRPF varsayılandır.
LocalTax2IsNotUsedDescES= Varsayılan olarak önerilen IRPF 0. Kural sonu. @@ -1038,7 +1042,7 @@ SendingMailSetup=E-posta gönderilerinin kurulumu SendmailOptionNotComplete=Uyarı, bazı Linux sistemlerinde, epostanızdan eposta göndermek için eposta gönderme uygulaması kurulumu –ba seçeneğini içermelidir (php.ini dosyanızın içine parameter mail.force_extra_parameters). Eğer bazı alıcılar hiç eposta alamazsa, bu PHP parametresini mail.force_extra_parameters = -ba ile düzenleyin. PathToDocuments=Belgelerin yolu PathDirectory=Dizin -SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by thoose bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommanded) is to use the method "SMTP socket library" that has no disadvantages. +SendmailOptionMayHurtBuggedMTA="PHP doğrudan posta" yöntemini kullanarak postalar gönderme özelliği bazı posta alıcısı sunucuları tarafından doğru olarak çözümlenemeyen bir posta iletisi oluşturur. Sonuç ise bazı postaların hatalı platformlar tarafından barındırılan kişiler tarafından okunamaz olmasıdır. Bu durum bazı İnternet sağlayıcılarına özgüdür (Örn: Fransa’daki Orange gibi). Bu Dolibarr ya da PHP için bir sorun değildir ama alıcı posta sunucusu için sorundur. Ancak Dolibarr’ı bundan korumak için Kurulum->Diğer de MAIN_FIX_FOR_BUGGED_MTA yı 1 yapma seçeneğini ekleyebilirsiniz. Ancak SMTP standartlarına sıkıca uyan diğer servislerde sorunla karşılaşabilirsiniz. Diğer bir çözüm (önerilen) ise hiçbir sakıncası olmayan "SMTP soket kütüphanesi" ni kullanmaktır. TranslationSetup=Çeviri yapılandırması TranslationDesc=Ekran görüntüsündeki dil değiştirilebilir:
* Genel olarak bu menüden Giriş - Kurulum - Görünüm
* Yalnızca User display sekmesindeki kullanıcı formundan (ekranın tepesindeki girişe tıklayın). TotalNumberOfActivatedModules=Toplam etkin özel modül sayısı: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=%s web tarayıcısını kullanıyorsunuz. Bu tarayıcı güvenlik ve BrowserIsKO=%s web tarayıcısını kullanıyorsunuz. Bu tarayıcı güvenlik, performans ve güvenirlik için kötü bir seçimdir. Firefox, Chrome, Opera veya Safari kullanmanızı öneririz. XDebugInstalled=XDebug yüklüdür. XCacheInstalled=XDebug yüklüdür. -AddRefInList=Listede müşteri/tedarikçi ref (liste ya da combobox seç) ve köprülerin çoğunu göster +AddRefInList=Listede müşteri/tedarikçi ref (liste ya da açılır liste seç) ve köprülerin çoğunu göster. Üçüncü partiler "Büyük firma" yerine "CC12345 - SC45678 - Büyük firma" adıyla görüntülenecektir. FieldEdition=%s Alanının düzenlenmesi FixTZ=Saat Dilimi Farkı FillThisOnlyIfRequired=Örnek: +2 (saat dilimi farkını yalnız zaman farkı sorunları yaşıyorsanız kullanın) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Teklifin kapatılmasından sonra siparişi doğrulam FreeLegalTextOnOrders=Siparişte serbest metin WatermarkOnDraftOrders=Taslak siparişlerde filigran (boşsa yoktur) ShippableOrderIconInList=Sipariş listesine sevk edilebilir olup olmadığını belirten bir simge koyun +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Siparişe ait banka hesabını iste ##### Clicktodial ##### ClickToDialSetup=TıklaAra modülü kurulumu ClickToDialUrlDesc=Telefon resmi üzerine tıklandığında Url aranır. URL’de aranan kişinin telefon numarası ile değişecek
__PHONETO__ etiketini kullanabilirsiniz @@ -1392,6 +1397,7 @@ RSSUrlExample=İlginç bir RSS beslemesi MailingSetup=E-postalama modülü kurulumu MailingEMailFrom=EPostalama modülü tarafından gönderilen e-postalar için gönderici e-posta (gönderen) MailingEMailError=Hatalı e-postalar için iade e-postası (Hatalar-kime) +MailingDelay=Sonraki mesajı göndermek için beklenecek saniyeler ##### Notification ##### NotificationSetup=Eposta bildirimi modülü ayarları NotificationEMailFrom=Bildirimler için gönderilen e-postalar için gönderici e-posta (gönderen) @@ -1414,7 +1420,7 @@ AdvancedEditor=Gelişmiş editör ActivateFCKeditor=Gelişmiş düzenleyiciyi şunun için etkinleştir: FCKeditorForCompany=Öğe açıklamaları ve notları için WYSIWIG oluşturma/düzenleme (ürünler/hizmetler hariç) FCKeditorForProduct=Ürünlerin/hizmetlerin açıklamaları ve notlar için WYSIWIG oluşturma/düzenleme -FCKeditorForProductDetails=Bütün öğelerde(teklifler, siparişler, faturalar, v.s.) ürünlerin ayrıntı satırları için WYSIWIG oluşturma/düzenleme.Uyarı: Bu durum için bu seçeneğin kullanılması, özel karakterlerin kullanımında ve PDF dosyalarının oluşturulmasında sorunlar yaratacağı için ciddi olarak önerilmez. +FCKeditorForProductDetails=Bütün öğelerde(teklifler, siparişler, faturalar, v.s...) ürünlerin ayrıntı satırları için WYSIWIG oluşturma/düzenleme. Uyarı: Bu durum için bu seçeneğin kullanılması, özel karakterlerin kullanımında ve PDF dosyalarının oluşturulmasında sorunlar yaratacağı için ciddi olarak önerilmez. FCKeditorForMailing= Postaları WYSIWIG olarak oluşturma/düzenleme FCKeditorForUserSignature=Kullanıcı imzasının WYSIWIG olarak oluşturulması/düzenlenmesi FCKeditorForMail=Bütün postaların WYSIWIG olarak oluşturulması/düzenlenmesi (Araçlar->ePostalama hariç) @@ -1562,3 +1568,4 @@ SalariesSetup=Ücretler Modülü Ayarları SortOrder=Sıralama düzeni Format=Biçim TypePaymentDesc=0:Müşteri ödeme türü, 1:Tedarikçi ödeme türü, 2:Hem müşteri hem de tedarikçi ödeme türü +IncludePath=Yolu içerir (%s değişlende tanımlanır) diff --git a/htdocs/langs/tr_TR/agenda.lang b/htdocs/langs/tr_TR/agenda.lang index 6ba800e4820..1c44bec7a8d 100644 --- a/htdocs/langs/tr_TR/agenda.lang +++ b/htdocs/langs/tr_TR/agenda.lang @@ -59,7 +59,8 @@ InvoiceSentByEMail=%s Müşteri faturası Eposta ile gönderildi SupplierOrderSentByEMail=%s Tedarikçi siparişi Eposta ile gönderildi SupplierInvoiceSentByEMail=%s Tedarikçi faturası Eposta ile gönderildi ShippingSentByEMail=%s Sevkiyatı Eposta ile gönderildi -ShippingValidated= Nakliyat %s doğrulandı +ShippingValidated= Sevkiyat %s doğrulandı +InterventionSentByEMail=%s Müdahalesi Eposta ile gönderildi NewCompanyToDolibarr= Üçüncü parti oluşturuldu DateActionPlannedStart= Planlanan başlangıç tarihi DateActionPlannedEnd= Planlanan bitiş tarihi diff --git a/htdocs/langs/tr_TR/banks.lang b/htdocs/langs/tr_TR/banks.lang index 03f1d2e99b7..45459c215f6 100644 --- a/htdocs/langs/tr_TR/banks.lang +++ b/htdocs/langs/tr_TR/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Hesap FinancialAccounts=Hesaplar BankAccount=Banka hesabı BankAccounts=Banka hesapları +ShowAccount=Hesabı Göster AccountRef=Ticari hesap ref AccountLabel=Ticari hesap adı CashAccount=Kasa hesabı diff --git a/htdocs/langs/tr_TR/bills.lang b/htdocs/langs/tr_TR/bills.lang index 643815b8abe..75337d23cc2 100644 --- a/htdocs/langs/tr_TR/bills.lang +++ b/htdocs/langs/tr_TR/bills.lang @@ -348,6 +348,7 @@ ChequeNumber=Çek No ChequeOrTransferNumber=Çek/Havale No ChequeMaker=Çeki veren ChequeBank=Çekin Bankası +CheckBank=Çek NetToBePaid=Net ödenecek PhoneNumber=Tel FullPhoneNumber=Telefon @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Tedarikçi fatura izleme tems TypeContact_invoice_supplier_external_BILLING=Tedarikçi fatura ilgilisi TypeContact_invoice_supplier_external_SHIPPING=Tedarikçi sevkiyat ilgilisi TypeContact_invoice_supplier_external_SERVICE=Tedarikçi hizmet ilgilisi +# Situation invoices +InvoiceFirstSituationAsk=İlk hakediş faturası +InvoiceFirstSituationDesc=Hakediş faturaları işin ilerleme durumuyla ilgili faturalardır, örneğin; bir inşaatın ilerleyişi. Her durum bir faturaya bağlanır. +InvoiceSituation=Hakediş faturası +InvoiceSituationAsk=Hakedişi izleyen fatura +InvoiceSituationDesc=Halihazırda olan bir hakedişi izleyen hakediş oluştur +SituationAmount=Hakediş faturası tutarı (net) +SituationDeduction=Hakediş düşülmesi +Progress=İlerleme +ModifyAllLines=Bütün satırları değiştir +CreateNextSituationInvoice=Sonraki hakedişi oluştur +NotLastInCycle=Bu fatura işin tamamının son faturası değildir ve değiştirilmemelidir. +DisabledBecauseNotLastInCycle=Sonraki hakediş zaten var. +DisabledBecauseFinal=Bu hakediş sondur. +CantBeLessThanMinPercent=Hakediş önceki hakedişin değerinden daha az olamaz. +NoSituations=Açık pozisyon yok +InvoiceSituationLast=Son ve genel fatura diff --git a/htdocs/langs/tr_TR/companies.lang b/htdocs/langs/tr_TR/companies.lang index 94e1b382509..f4239869a2a 100644 --- a/htdocs/langs/tr_TR/companies.lang +++ b/htdocs/langs/tr_TR/companies.lang @@ -311,7 +311,7 @@ LastContacts=Son kişiler MyContacts=Kişilerim Phones=Telefonlar Capital=Sermaye -CapitalOf=%s firmasının sermayesi +CapitalOf=Sermaye %s EditCompany=Firma düzenle EditDeliveryAddress=Teslimat adresi düzenle ThisUserIsNot=Bu kullanıcı bir aday, müşteri veya tedarikçi değildir diff --git a/htdocs/langs/tr_TR/compta.lang b/htdocs/langs/tr_TR/compta.lang index 20a21a9f512..eb6e0558110 100644 --- a/htdocs/langs/tr_TR/compta.lang +++ b/htdocs/langs/tr_TR/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Ciro PaymentsNotLinkedToInvoice=Herhangi bir faturaya bağlı olmayan ödemeler, herhangi bir üçüncü partiye de bağlı değildir PaymentsNotLinkedToUser=Herhangi bir kullanıcıya bağlı olmayan ödemeler Profit=Kar +AccountingResult=Muhasebe sonucu Balance=Bakiye Debit=Borç Credit=Alacak diff --git a/htdocs/langs/tr_TR/cron.lang b/htdocs/langs/tr_TR/cron.lang index 2e5755e83e9..7dc15f232c9 100644 --- a/htdocs/langs/tr_TR/cron.lang +++ b/htdocs/langs/tr_TR/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=Gerekliyse, Cron işlerini denetleyen ve başlatan İnternet OrToLaunchASpecificJob=Ya da özel bir işi denetlemek ve başlatmak için KeyForCronAccess=Cron işlerini başlatacak URL için güvenlik anahtarı FileToLaunchCronJobs=Cron işlerini başlatacak komut satırı -CronExplainHowToRunUnix=Unix ortamında her dakika Komut satırını çalıştırmak için cron sekmesini kullanmalısınız -CronExplainHowToRunWin=Microsoft (tm) Windows ortamında her dakika Komut satırı çalıştırmak için Planlı görev araçlarını kullanabilirsiniz +CronExplainHowToRunUnix=Unix ortamında komut satırını her 5 dakikada bir çalıştırmak için kron sekmesi girişini kullanmalısınız +CronExplainHowToRunWin=Mikrosot (tm) Windows ortamında komut satırını her 5 dakikada bir çalıştırmak için Planlanmış görev araçlarını kullanmalısınız # Menu CronJobs=Planlı işler CronListActive=Etkin/programlı işler listesi diff --git a/htdocs/langs/tr_TR/ecm.lang b/htdocs/langs/tr_TR/ecm.lang index 1d9cc36a44a..94b1faf2fba 100644 --- a/htdocs/langs/tr_TR/ecm.lang +++ b/htdocs/langs/tr_TR/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Sözleşmeler ile bağlantılı belgeler ECMDocsByInvoices=Müşteri faturaları ile bağlantılı belgeler ECMDocsByProducts=Ürünlere bağlantılı belgeler ECMDocsByProjects=Projelere bağlı belgeler +ECMDocsByUsers=Kullanıcılara bağlantılı belgeler +ECMDocsByInterventions=Müdahalelere bağlantılı belgeler ECMNoDirectoryYet=Hiçbir dizin oluşturulmadı ShowECMSection=Dizini göster DeleteSection=Dizini kaldır diff --git a/htdocs/langs/tr_TR/errors.lang b/htdocs/langs/tr_TR/errors.lang index df96ebb71d0..774c2a8d9df 100644 --- a/htdocs/langs/tr_TR/errors.lang +++ b/htdocs/langs/tr_TR/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Modül Kurulumu tamamlanmamış görünüyor. Tamaml ErrorBadMask=Maskede hata ErrorBadMaskFailedToLocatePosOfSequence=Hata, sıra numarasız maske ErrorBadMaskBadRazMonth=Hata, kötü sıfırlama değeri +ErrorMaxNumberReachForThisMask=Bu maskedeki ençok sayı +ErrorCounterMustHaveMoreThan3Digits=Sayaçta 3 ten fazla basamak olmalı ErrorSelectAtLeastOne=Hata. En az bir giriş seçin. ErrorProductWithRefNotExist='%s' referanslı ürün ürün yoktur ErrorDeleteNotPossibleLineIsConsolidated=Kaydın silinmesi mümkün değildir çünkü kayıt uzlaştırılmış bir banka işlemiyle bağlantılıdır @@ -156,6 +158,8 @@ ErrorPriceExpression21=Boş sonuç '%s' ErrorPriceExpression22=Eksi sonuç '%s' ErrorPriceExpressionInternal=İç hata '%s' ErrorPriceExpressionUnknown=Bilinmeyen hata '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Kaynak ve hedef depolar farklı olmalı +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Zorunlu kurulum parametreleri henüz tanımlanmamış diff --git a/htdocs/langs/tr_TR/install.lang b/htdocs/langs/tr_TR/install.lang index 36330eae61b..cb256a68aaf 100644 --- a/htdocs/langs/tr_TR/install.lang +++ b/htdocs/langs/tr_TR/install.lang @@ -147,7 +147,7 @@ IfAlreadyExistsCheckOption=Eğer bu isim doğru ise ve veritabanı henüz mevcut OpenBaseDir=PHP openbasedir parametresi YouAskToCreateDatabaseSoRootRequired="Veritabanı oluştur" kutusunu işaretlediniz. Bunun için süperkullanıcı kullanıcı adı/parola girmeniz (formun altına) gerekir. YouAskToCreateDatabaseUserSoRootRequired="Veritabanı sahibi oluştur" kutusunu işaretlediniz. Bunun için süperkullanıcı kullanıcı adı/parola girmeniz (formun altına) gerekir. -NextStepMightLastALongTime=Geçerli birkaç dakika sürebilir. Lütfen devam etmeden önce sonraki ekranın tamamen görüntülenmesini bekleyin. +NextStepMightLastALongTime=Geçerli işlem birkaç dakika sürebilir. Lütfen devam etmeden önce sonraki ekranın tamamen görüntülenmesini bekleyin. MigrationCustomerOrderShipping=Müşteri siparişleri kaydı için nakliye taşıma MigrationShippingDelivery=Nakliyenin saklanması bitti MigrationShippingDelivery2=Nakliye 2 nin saklanması bitti @@ -155,6 +155,7 @@ MigrationFinished=Taşıma bitti LastStepDesc=Son adım: Burada yazılıma bağlanmayı düşündüğünüz kullanıcı adı ve parolayı tanımlayın. Herkesi yönetecek hesap olduğundan dolayı bu bilgileri kaybetmeyin. ActivateModule=%s modülünü etkinleştir ShowEditTechnicalParameters=Gelişmiş parametreleri (uzman modu) göstermek/düzenlemek için burayı tıklayın +WarningUpgrade=Uyarı:\nÖnce bir veritabanı yedeklemesi yaptınız mı?\nBu son derece önerilir: örneğin; veritabanı sistemindeki bazı hatalar nedeniyle (örneğin mysql sürüm 5.5.40) bu işlem sırasında bazı veriler ve tablolar kaybolabilir. Bu yüzden taşımaya başlamadan önce veritabanının tam bir dökümünün olması son derece önerilir.\n\nTaşıma işlemini başlatmak için Tamam'a tıklayın... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Saniyede olarak harcanan süreyi güncelle MigrationActioncommElement=Eylemlere ilişkin veri güncellemesi MigrationPaymentMode=Ödeme biçimi için veri taşıma MigrationCategorieAssociation=Kategorilerin taşınması +MigrationEvents=Atama tablosuna etkinlik sahibi eklemek için gerekli taşıma eylemleri ShowNotAvailableOptions=Kullanılamayacak seçenekler görüntülensin HideNotAvailableOptions=Kullanılamayacak seçenekler gizlensin diff --git a/htdocs/langs/tr_TR/languages.lang b/htdocs/langs/tr_TR/languages.lang index 1da512688d6..8d8a07b3553 100644 --- a/htdocs/langs/tr_TR/languages.lang +++ b/htdocs/langs/tr_TR/languages.lang @@ -10,9 +10,10 @@ Language_da_DA=Danimarkaca Language_da_DK=Danimarkaca Language_de_DE=Almanca Language_de_AT=Almanca (Avusturya) -Language_de_CH=German (Switzerland) +Language_de_CH=Almanca (İsviçre) Language_el_GR=Yunanca Language_en_AU=İngilizce (Avustralya) +Language_en_CA=İngilizce (Kanada) Language_en_GB=İngilizce (Birleşik Krallık) Language_en_IN=İngilizce (Hindistan) Language_en_NZ=İngilizce (Yeni Zelanda) diff --git a/htdocs/langs/tr_TR/main.lang b/htdocs/langs/tr_TR/main.lang index d5e3a2636d5..9440b69ec09 100644 --- a/htdocs/langs/tr_TR/main.lang +++ b/htdocs/langs/tr_TR/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd/MM/yyyy FormatDateShortJavaInput=dd/MM/yyyy FormatDateShortJQuery=dd/mm/yy FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Hata, dosya kaydedilemedi. SetDate=Ayar tarihi SelectDate=Bir tarih seç SeeAlso=Buna da bakın %s +SeeHere=Buraya bak BackgroundColorByDefault=Varsayılan arkaplan rengi FileNotUploaded=Dosya yüklenmemiş FileUploaded=Dosya yüklemesi başarılı @@ -169,6 +171,7 @@ User=Kullanıcı Users=Kullanıcılar Group=Grup Groups=Gruplar +NoUserGroupDefined=Tanımlı kullanıcı grubu yok Password=Parola PasswordRetype=Parolanızı yeniden yazın NoteSomeFeaturesAreDisabled=Bu demoda bir çok özelliğin/modülün engelli olduğuna dikkat edin. @@ -258,6 +261,7 @@ days=gün Hours=Saat Minutes=Dakika Seconds=Saniye +Weeks=Hafta Today=Bugün Yesterday=Dün Tomorrow=Yarın @@ -683,6 +687,7 @@ XMoreLines=%s gizli satır PublicUrl=Genel URL AddBox=Kutu ekle SelectElementAndClickRefresh=Bir öğe seçin ve Yenile'ye tıkla +PrintFile=%s Dosyasını Yazdır # Week day Monday=Pazartesi Tuesday=Salı diff --git a/htdocs/langs/tr_TR/margins.lang b/htdocs/langs/tr_TR/margins.lang index 26da20b82a5..ca8865fa8ee 100644 --- a/htdocs/langs/tr_TR/margins.lang +++ b/htdocs/langs/tr_TR/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Oran ayrıntıları ProductMargins=Ürün oranları CustomerMargins=Müşteri oranları SalesRepresentativeMargins=Satış temsilcisi oranları +UserMargins=Kullanıcı oranları ProductService=Ürün veya Hizmet AllProducts=Bütün ürün ve hizmetler ChooseProduct/Service=Ürün veya hizmet seç diff --git a/htdocs/langs/tr_TR/orders.lang b/htdocs/langs/tr_TR/orders.lang index 140d9f1f08e..00b0a72dc1d 100644 --- a/htdocs/langs/tr_TR/orders.lang +++ b/htdocs/langs/tr_TR/orders.lang @@ -20,7 +20,7 @@ CustomersOrders=Müşteri siparişleri CustomersOrdersRunning=Mevcut müşteri siparişleri CustomersOrdersAndOrdersLines=Müşteri siparişleri ve sipariş kalemleri OrdersToValid=Doğrulanacak müşteri siparişleri -OrdersToBill=Faturalanacak müşteri siparişleri +OrdersToBill=Sevkedilen müşteri siparişleri OrdersInProcess=İşlemde olan müşteri siparişleri OrdersToProcess=İşlenecek müşteri siparişleri SuppliersOrdersToProcess=İşlenecek tedarikçi siparişleri @@ -29,7 +29,7 @@ StatusOrderDraftShort=Taslak StatusOrderValidatedShort=Doğrulanmış StatusOrderSentShort=İşlemde StatusOrderSent=Sevkiyat işlemde -StatusOrderOnProcessShort=Kabul +StatusOrderOnProcessShort=Sipariş edildi StatusOrderProcessedShort=İşlenmiş StatusOrderToBillShort=Teslim edlidi StatusOrderToBill2Short=Faturalanacak @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Herşey alındı StatusOrderCanceled=İptal edilmiş StatusOrderDraft=Taslak (doğrulanması gerekir) StatusOrderValidated=Doğrulanmış -StatusOrderOnProcess=Alınmak için bekliyor +StatusOrderOnProcess=Sipariş edildi - Teslime hazır StatusOrderProcessed=İşlenmiş StatusOrderToBill=Teslim edildi StatusOrderToBill2=Faturalanacak @@ -50,6 +50,8 @@ StatusOrderRefused=Reddedildi StatusOrderReceivedPartially=Kısmen alındı StatusOrderReceivedAll=Her şey kabul edildi ShippingExist=Bir sevkiyat var +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Taslak veya onaylanmış henüz sipariş verilmemiş DraftOrWaitingShipped=Taslak veya onaylanmış henüz sevkedilmemiş MenuOrdersToBill=Teslim edilen siparişler diff --git a/htdocs/langs/tr_TR/productbatch.lang b/htdocs/langs/tr_TR/productbatch.lang index 61b366364b3..443ddc9dbe9 100644 --- a/htdocs/langs/tr_TR/productbatch.lang +++ b/htdocs/langs/tr_TR/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Parti/seri yönetimi -ProductStatusOnBatch=Yapıldı -ProductStatusNotOnBatch=Yapılmadı -ProductStatusOnBatchShort=Yapıldı -ProductStatusNotOnBatchShort=Yapılmadı +ManageLotSerial=Parti/seri numarası kullan +ProductStatusOnBatch=Evet (Parti/seri numarası gerekliyse) +ProductStatusNotOnBatch=Hayır (Parti/seri numarası gerekli değilse) +ProductStatusOnBatchShort=Evet +ProductStatusNotOnBatchShort=Hayır Batch=Parti/Seri atleast1batchfield=Son yenme tarihi ya da Son satış tarihi ya da Parti numarası batch_number=Parti/Seri numarası @@ -18,3 +18,4 @@ printQty=Mik: %d AddDispatchBatchLine=Dağıtımda bir Raf Ömrü satırı ekle BatchDefaultNumber=Tanımlanmamış WhenProductBatchModuleOnOptionAreForced=Parti/Seri devredeyken, stok arttırma/eksiltme modu son seçime zorlanır ve düzenlenemez. Diğer seçenekler istediğiniz gibi yapılandırılabilir. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/tr_TR/products.lang b/htdocs/langs/tr_TR/products.lang index 9ec2f349d3b..2c3a9bf0d86 100644 --- a/htdocs/langs/tr_TR/products.lang +++ b/htdocs/langs/tr_TR/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Muhasebe kodu (satış) ProductOrService=Ürün veya Hizmet ProductsAndServices=Ürünler ve Hizmetler ProductsOrServices=Ürünler veya hizmetler -ProductsAndServicesOnSell=Varolan ürünler ve hizmetler -ProductsAndServicesNotOnSell=Eski Ürünler ve Hizmetler +ProductsAndServicesOnSell=Satılabilir veya satınalınabilir Ürünler ve Hizmetler +ProductsAndServicesNotOnSell=Satış dışı Ürünler ve Hizmetler ProductsAndServicesStatistics=Ürün ve Hizme istatistikleri ProductsStatistics=Ürün istatistikleri -ProductsOnSell=Varolan ürünler -ProductsNotOnSell=Kullanılmayan ürünler -ProductsOnSellAndOnBuy=Satılmaz ve satınalınmaz ürünler -ServicesOnSell=Varolan hizmetler -ServicesNotOnSell=Kullanılmayan hizmetler -ServicesOnSellAndOnBuy=Satılmaz ve satınalınmaz hizmetler +ProductsOnSell=Satılır ya da satınalınır ürün +ProductsNotOnSell=Satılmayan ya da satınalınmayan ürün +ProductsOnSellAndOnBuy=Satılır ve alınır ürünler +ServicesOnSell=Satılabilir veya satınalınabilir Hizmetler +ServicesNotOnSell=Satılmayan hizmetler +ServicesOnSellAndOnBuy=Satılır ve alınır hizmetler InternalRef=İç referans LastRecorded=Satışta kaydedilen son ürünler/hizmetler LastRecordedProductsAndServices=Son kaydedilen %s ürün/hizmet @@ -198,7 +198,7 @@ HelpAddThisServiceCard=Bu seçenek bir hizmet mevcut değilse bir tane oluşturm CurrentProductPrice=Geçerli fiyat AlwaysUseNewPrice=Ürün/hizmet için her zaman geçerli fiyatı kullan AlwaysUseFixedPrice=Sabit fiyatı kullan -PriceByQuantity=Miktara göre fiyat +PriceByQuantity=Miktara göre değişen fiyatlar PriceByQuantityRange=Miktar aralığı ProductsDashboard=Ürünler/Hizmetler özeti UpdateOriginalProductLabel=Orijinal etiketi değiştir @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Barkod türü tanımı ve değeri %s BarCodeDataForProduct=%s Ürünü için barkod bilgisi : BarCodeDataForThirdparty=%s Üçüncü parti için barkod bilgisi : ResetBarcodeForAllRecords=Bütün kayıtlar için barkod değeri tanımla (bu işlem halihazırda yeni değerler tanımlanmış barkod değerlerini sıfırlayacaktır) -PriceByCustomer=Müşteri fiyatı +PriceByCustomer=Her müşteri için farklı fiyat PriceCatalogue=Ürün/Servis için birim fiyat -PricingRule=Fiyatlandırma yetkileri +PricingRule=Müşteri fiyatları kuralları AddCustomerPrice=Müşteriler için fiyat ekle ForceUpdateChildPriceSoc=Müşterinin ortaklılarına aynı fiyatı uygula PriceByCustomerLog=Müşteri fiyat günlüğü @@ -244,6 +244,9 @@ MinimumPriceLimit=Enaz fiyat bundan düşük olamaz %s MinimumRecommendedPrice=Önerilen enaz fiyat: %s PriceExpressionEditor=Fiyat ifadesi düzenleyici PriceExpressionSelected=Seçili fiyat ifadesi -PriceExpressionEditorHelp=Fiyatı ayarlamak için "fiyat = 2 + 2" ya da "2 + 2"
EkAlanlar "#options_myextrafieldkey# * 2" benzeri değişkenlerdir
#quantity# and #tva_tx# benzeri özel değişkenler vardır
İfadeleri ayırmak için ; kullanın +PriceExpressionEditorHelp1=Fiyat ayarlaması için "fiyat = 2 + 2" ya da "2 + 2". Terimleri ayırmak için ; kullan +PriceExpressionEditorHelp2=EkAlanlara #options_myextrafieldkey# gibi değişkenlerle erişebilirsiniz +PriceExpressionEditorHelp3=Ürün/hizmet ve tedarikçi fiyatlarının her ikisinde de bu değişkenler bulunmaktadır:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=Ürün/hizmet fiyatında yalnızca: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Fiyat biçimi PriceNumeric=Sayı diff --git a/htdocs/langs/tr_TR/projects.lang b/htdocs/langs/tr_TR/projects.lang index 3fc2b0041c6..f5351a3add1 100644 --- a/htdocs/langs/tr_TR/projects.lang +++ b/htdocs/langs/tr_TR/projects.lang @@ -3,6 +3,7 @@ RefProject=Referans Proje ProjectId=Proje Kimliği Project=Proje Projects=Projeler +ProjectStatus=Project status SharedProject=Herkes PrivateProject=Proje ilgilileri MyProjectsDesc=Bu görünüm ilgilisi olduğunuz projelerle sınırlıdır (türü ne olursa olsun). @@ -11,7 +12,6 @@ ProjectsDesc=Bu görünüm tüm projeleri içerir (size verilen kullanıcı izin MyTasksDesc=Bu görünüm ilgilisi olduğunuz projelerle ya da görevlerle sınırlıdır (türü ne olursa olsun). TasksPublicDesc=Bu görünüm okuma izininiz olan tüm projeleri ve görevleri içerir. TasksDesc=Bu görünüm tüm projeleri ve görevleri içerir (size verilen kullanıcı izinleri her şeyi görmenizi sağlar). -Myprojects=Projelerim ProjectsArea=Projeler alanı NewProject=Yeni proje AddProject=Proje oluştur @@ -103,6 +103,7 @@ CloneContacts=Kişi klonla CloneNotes=Not klonla CloneProjectFiles=Birleşik proje dosyalarını kopyala CloneTaskFiles=Birleşik görev(ler) dosyalarını kopyala (görev(ler) kopyalanmışsa) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Bu projeyi klonlamak istediğinizden emin misiniz? ProjectReportDate=Görevi proje başlama tarihine göre değiştir ErrorShiftTaskDate=Görev tarihini yeni proje başlama tarihine göre kaydırmak olası değil diff --git a/htdocs/langs/tr_TR/sendings.lang b/htdocs/langs/tr_TR/sendings.lang index ea8adf02c7f..3c4c3483b2c 100644 --- a/htdocs/langs/tr_TR/sendings.lang +++ b/htdocs/langs/tr_TR/sendings.lang @@ -4,7 +4,8 @@ Sending=Sevkiyat Sendings=Sevkiyatlar Shipment=Sevkiyat Shipments=Sevkiyatlar -Receivings=Alınanlar +ShowSending=Show Sending +Receivings=Kabuller SendingsArea=Sevkiyat alanı ListOfSendings=Sevkiyat listesi SendingMethod=Sevkiyat yöntemi @@ -37,7 +38,7 @@ StatusSendingCanceledShort=İptal edildi StatusSendingDraftShort=Taslak StatusSendingValidatedShort=Doğrulanmış StatusSendingProcessedShort=İşlenmiş -SendingSheet=Sevkiyat çizelgesi +SendingSheet=Sevkiyat tablosu Carriers=Taşıyıcılar Carrier=Taşıyıcı CarriersArea=Taşıyıcı alanı @@ -61,8 +62,12 @@ ShipmentCreationIsDoneFromOrder=Şu an için, yeni bir sevkiyatın oluşturulmas RelatedShippings=İlgili sevkiyatlar ShipmentLine=Sevkiyat kalemi CarrierList=Taşımacı listesi -SendingRunning=Müşteri siparişindeki ürün zaten gönderildi -SuppliersReceiptRunning=Tedarikçi siparişindeki ürün zaten alındı +SendingRunning=Sipariş edilmiş müşteri sparişindeki ürün +SuppliersReceiptRunning=Sipariş edilmiş tedarikçi sparişindeki ürün +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Müşteri tarafından diff --git a/htdocs/langs/tr_TR/stocks.lang b/htdocs/langs/tr_TR/stocks.lang index 85a354f5c48..d34b2d88319 100644 --- a/htdocs/langs/tr_TR/stocks.lang +++ b/htdocs/langs/tr_TR/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=AOF EnhancedValueOfWarehouses=Depolar değeri UserWarehouseAutoCreate=Bir kullanıcı oluştururken otomatik olarak bir stok oluştur QtyDispatched=Sevkedilen miktar +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Stok sevkiyatı RuleForStockManagementDecrease=Stok azaltma yönetimi kuralı RuleForStockManagementIncrease=Stok arttırma yönetimi kuralı @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Tedarikçi siparişlerinin onanması üzerine gerçek sto ReStockOnDispatchOrder=Tedarikçi siparişi aldıktan sonra, elle yapılan sevk üzerine gerçek stokları artırın ReStockOnDeleteInvoice=Fatura silinirse gerçek stokları arttır OrderStatusNotReadyToDispatch=Sipariş henüz yoksa veya stok deposundan gönderime izin veren bir durum varsa. -StockDiffPhysicTeoric=Fiziksel ve teorik stok arasındaki stok farkı +StockDiffPhysicTeoric=Fiziksel ve teorik stok arasındaki farkın açıklaması NoPredefinedProductToDispatch=Bu nesne için önceden tanımlanmış ürünlenyok. Yani stoktan sevk gerekli değildir. DispatchVerb=Dağıtım StockLimitShort=Uyarı sınırı @@ -116,10 +118,15 @@ MassMovement=Toplu hareket MassStockMovement=Toplu stok hareketi SelectProductInAndOutWareHouse=Bir ürün, bir miktar, bir kaynak depo ve bir hedef depo seçin, sonra "%s" e tıklayın. Bütün gerekli hareketler için bu işlem yapıldığında "%s" e tıklayın. RecordMovement=Kayıt aktarımı -ReceivingForSameOrder=Bu sipariş için alımlar +ReceivingForSameOrder=Bu siparişten yapılan kabuller StockMovementRecorded=Stok hareketleri kaydedildi RuleForStockAvailability=Stok gereksinimi kuralları StockMustBeEnoughForInvoice=Faturaya ürün/hizmet eklemek için stok düzeyi yeterli olmalıdır StockMustBeEnoughForOrder=Siparişe ürün/hizmet eklemek için stok düzeyi yeterli olmalıdır StockMustBeEnoughForShipment= Sevkiyata ürün/hizmet eklemek için stok düzeyi yeterli olmalıdır - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/tr_TR/suppliers.lang b/htdocs/langs/tr_TR/suppliers.lang index 0b89e0a28d6..b07f6aba1ff 100644 --- a/htdocs/langs/tr_TR/suppliers.lang +++ b/htdocs/langs/tr_TR/suppliers.lang @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Hiçbiri veya toplu %s yürütülmedi SentToSuppliers=Tedarikçilere gönderilen ListOfSupplierOrders=Tedarikçi siparişleri listesi MenuOrdersSupplierToBill=Faturalanacak tedarikçi siparişleri +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/tr_TR/withdrawals.lang b/htdocs/langs/tr_TR/withdrawals.lang index ce113a437a0..29877b2cce6 100644 --- a/htdocs/langs/tr_TR/withdrawals.lang +++ b/htdocs/langs/tr_TR/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Alacak tarihi WithdrawalFileNotCapable=Ülkeniz %s için para çekme makbuzu oluşturulamıyor (Ülkeniz desteklenmiyor) ShowWithdraw=Para çekme göster IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Faturaya henüz enaz bir ödeme tahsilatı işlenmemişse, para çekme yönetimine izin vermek için ödendi olarak ayarlanamaz. -DoStandingOrdersBeforePayments=Bu sekme bir ödeme talimatı isteği yapmanızı sağlar. Yaptıktan sonra, ödeme talimatı yönetimi için Banka->Para çekme menüsüne gidin. Ödeme talimatı kapatıldıktan sonra, fatura ödemesi otomatik olarak kaydedilecek ve eğer bakiye sıfırsa fatura kapatılacaktır. +DoStandingOrdersBeforePayments=Bu sekme bir ödeme talimatı yapmanızı sağlar. Talimatı yaptıktan sonra, ödeme talimatını yürütmek için Banka->Para çekme menüsüne gidin. Ödeme talimatı kapatıldıktan sonra faturanın ödemesi otomatik olarak kaydedilecek ve kalan bakiye sıfır ise fatura kapatılacaktır. WithdrawalFile=Para çekme dosyası SetToStatusSent="Dosya Gönderildi" durumuna ayarla ThisWillAlsoAddPaymentOnInvoice=Bu aynı zamanda faturalara ödeme oluşturur ve onları "ödendi" olarak sınıflandırır diff --git a/htdocs/langs/tr_TR/workflow.lang b/htdocs/langs/tr_TR/workflow.lang index 3c1cde908e0..e6d92e4ecda 100644 --- a/htdocs/langs/tr_TR/workflow.lang +++ b/htdocs/langs/tr_TR/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=İş Akışı modülü kurulumu -WorkflowDesc=Bu modül, uygulama içinde kendiliğinden yapılacak işlemleri ayarlamak için tasarlanmıştır. Varsayılan olarak, iş akışı açıktır (işlemler istenen sırayla yapılabilir). Bununla birlikte kolaylık sağlayan işlemlerin kendiliğinden yapılması sağlanabilir. +WorkflowDesc=Bu modül uygulamalardaki otomatik eylemlerin davranışlarını değiştirmek için tasarlanmıştır. Varsayılan olarak, iş akışı açılır (istediğiniz şeyleri yaparsınız). İlgi duyduğunuz otomatik eylemleri etkinleştirebilirsiniz. ThereIsNoWorkflowToModify=Etkinleştirdiğiniz bu modül için değişitirilebilecek bir iş akışı yok. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Bir teklif imzalandıktan sonra kendiliğinden müşteri siparişi oluşturulsun descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Bir teklif imzalandıktan sonra kendiliğinden müşteri faturası oluşturulsun descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Bir sözleşme onaylandıktan sonra kendiliğinden müşteri faturası oluşturulsun descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Bir müşteri siparişi kapatıldıktan sonra kendiliğinden müşteri faturası oluşturulsun -descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Bir müşteri siparişi ödenmiş olarak güncellendiğinde ilgili kaynak teklifi faturalanmış olarak dosyalansın +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Bir müşteri siparişi ödenmiş olarak güncellendiğinde ilgili kaynak teklif faturalandı olarak dosyalansın descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Müşteri faturası ödendi olarak ayarlandığında bağlantılı kaynak sipariş(ler)ini faturalandı olarak sınıflandır descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Müşteri faturası doğrulandığında bağlantılı kaynak sipariş(ler)ini faturalandı olarak sınıflandır diff --git a/htdocs/langs/uk_UA/accountancy.lang b/htdocs/langs/uk_UA/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/uk_UA/accountancy.lang +++ b/htdocs/langs/uk_UA/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/uk_UA/admin.lang b/htdocs/langs/uk_UA/admin.lang index d68844d9f62..f9049def3dd 100644 --- a/htdocs/langs/uk_UA/admin.lang +++ b/htdocs/langs/uk_UA/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=This is setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr's root directory %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Select module: CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version +UpdateServerOffline=Update server offline GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Export interventions Permission71=Read members Permission72=Create/modify members Permission74=Delete members -Permission75=Setup types and attributes for members +Permission75=Setup types of membership Permission76=Export datas Permission78=Read subscriptions Permission79=Create/modify subscriptions @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Delete sendings Permission111=Read financial accounts Permission112=Create/modify/delete and compare transactions -Permission113=Setup financiel accounts (create, manage categories) -Permission114=Consolidate transactions +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Export transactions and account statements Permission116=Transfers between accounts Permission117=Manage cheques dispatching @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Setup of sendings by email SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). PathToDocuments=Path to documents PathDirectory=Directory -SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by thoose bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommanded) is to use the method "SMTP socket library" that has no disadvantages. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes i FreeLegalTextOnOrders=Free text on orders WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with your clicktodial login (defined on your user card)
__PASS__ that will be replaced with your clicktodial password (defined on your user card). @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=EMailing module setup MailingEMailFrom=Sender EMail (From) for emails sent by emailing module MailingEMailError=Return EMail (Errors-to) for emails with errors +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Sender EMail (From) for emails sent for notifications @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Sending module setup SendingsReceiptModel=Sending receipt model SendingsNumberingModules=Sendings numbering modules -SendingsAbility=Support sendings sheets for customer deliveries +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. -FreeLegalTextOnShippings=Free text on shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Products deliveries receipt numbering module DeliveryOrderModel=Products deliveries receipt model @@ -1414,7 +1420,7 @@ AdvancedEditor=Advanced editor ActivateFCKeditor=Activate advanced editor for: FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note -FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommanded as it can create problems with special characters and page formating when building PDF files. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/uk_UA/agenda.lang b/htdocs/langs/uk_UA/agenda.lang index 13d9dea3c7e..d45452deaa2 100644 --- a/htdocs/langs/uk_UA/agenda.lang +++ b/htdocs/langs/uk_UA/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Customer order %s sent by EMail InvoiceSentByEMail=Customer invoice %s sent by EMail SupplierOrderSentByEMail=Supplier order %s sent by EMail SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail -ShippingSentByEMail=Shipping %s sent by EMail -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Third party created DateActionPlannedStart= Planned start date DateActionPlannedEnd= Planned end date @@ -68,7 +69,7 @@ DateActionDoneEnd= Real end date DateActionStart= Start date DateActionEnd= End date AgendaUrlOptions1=You can also add following parameters to filter output: -AgendaUrlOptions2=login=%s to restrict output to actions created by, assigned to or done by user %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=%s to restrict output to actions assigned to user %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/uk_UA/banks.lang b/htdocs/langs/uk_UA/banks.lang index 05156a723ad..10a5f5b3c14 100644 --- a/htdocs/langs/uk_UA/banks.lang +++ b/htdocs/langs/uk_UA/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Account FinancialAccounts=Accounts BankAccount=Bank account BankAccounts=Bank accounts +ShowAccount=Show Account AccountRef=Financial account ref AccountLabel=Financial account label CashAccount=Cash account diff --git a/htdocs/langs/uk_UA/bills.lang b/htdocs/langs/uk_UA/bills.lang index 81b7515a8b8..7232f00e91c 100644 --- a/htdocs/langs/uk_UA/bills.lang +++ b/htdocs/langs/uk_UA/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Invoice Bills=Invoices -BillsCustomers=Customer's invoices -BillsCustomer=Customer's invoice -BillsSuppliers=Supplier's invoices -BillsCustomersUnpaid=Unpaid customer's invoices +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Unpaid customer's invoices for %s BillsSuppliersUnpaid=Unpaid supplier's invoices BillsSuppliersUnpaidForCompany=Unpaid supplier's invoices for %s BillsLate=Late payments -BillsStatistics=Customer's invoices statistics -BillsStatisticsSuppliers=Supplier's invoices statistics +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Disabled because can not be erased InvoiceStandard=Standard invoice InvoiceStandardAsk=Standard invoice @@ -348,6 +348,7 @@ ChequeNumber=Check N° ChequeOrTransferNumber=Check/Transfer N° ChequeMaker=Check transmitter ChequeBank=Bank of Check +CheckBank=Check NetToBePaid=Net to be paid PhoneNumber=Tel FullPhoneNumber=Telephone @@ -388,7 +389,7 @@ DisabledBecausePayments=Not possible since there are some payments CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified paid ExpectedToPay=Expected payment PayedByThisPayment=Paid by this payment -ClosePaidInvoicesAutomatically=Classify "Paid" all standard or replacement invoices entirely paid. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=All invoice with no remain to pay will be automatically closed to status "Paid". ToMakePayment=Pay @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up s TypeContact_invoice_supplier_external_BILLING=Supplier invoice contact TypeContact_invoice_supplier_external_SHIPPING=Supplier shipping contact TypeContact_invoice_supplier_external_SERVICE=Supplier service contact +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/uk_UA/compta.lang b/htdocs/langs/uk_UA/compta.lang index 878eb49b3c9..0d579a06ff1 100644 --- a/htdocs/langs/uk_UA/compta.lang +++ b/htdocs/langs/uk_UA/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Turnover PaymentsNotLinkedToInvoice=Payments not linked to any invoice, so not linked to any third party PaymentsNotLinkedToUser=Payments not linked to any user Profit=Profit +AccountingResult=Accounting result Balance=Balance Debit=Debit Credit=Credit diff --git a/htdocs/langs/uk_UA/cron.lang b/htdocs/langs/uk_UA/cron.lang index 195ad43c87c..82f4574b223 100644 --- a/htdocs/langs/uk_UA/cron.lang +++ b/htdocs/langs/uk_UA/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/uk_UA/ecm.lang b/htdocs/langs/uk_UA/ecm.lang index 90ace355500..4a1931a3217 100644 --- a/htdocs/langs/uk_UA/ecm.lang +++ b/htdocs/langs/uk_UA/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Documents linked to contracts ECMDocsByInvoices=Documents linked to customers invoices ECMDocsByProducts=Documents linked to products ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=No directory created ShowECMSection=Show directory DeleteSection=Remove directory diff --git a/htdocs/langs/uk_UA/errors.lang b/htdocs/langs/uk_UA/errors.lang index 53f8d168a55..497ddd814e4 100644 --- a/htdocs/langs/uk_UA/errors.lang +++ b/htdocs/langs/uk_UA/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Setup of module looks to be uncomplete. Go on Setup ErrorBadMask=Error on mask ErrorBadMaskFailedToLocatePosOfSequence=Error, mask without sequence number ErrorBadMaskBadRazMonth=Error, bad reset value +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Error. Select at least one entry. ErrorProductWithRefNotExist=Product with reference '%s' don't exist ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transation that is conciliated @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/uk_UA/install.lang b/htdocs/langs/uk_UA/install.lang index 5d0c83e3173..5a494156672 100644 --- a/htdocs/langs/uk_UA/install.lang +++ b/htdocs/langs/uk_UA/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migration finished LastStepDesc=Last step: Define here login and password you plan to use to connect to software. Do not loose this as it is the account to administer all others. ActivateModule=Activate module %s ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Update time spent in seconds MigrationActioncommElement=Update data on actions MigrationPaymentMode=Data migration for payment mode MigrationCategorieAssociation=Migration of categories +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/uk_UA/languages.lang b/htdocs/langs/uk_UA/languages.lang index 0ec33cebcfe..5d8cdfc0649 100644 --- a/htdocs/langs/uk_UA/languages.lang +++ b/htdocs/langs/uk_UA/languages.lang @@ -10,9 +10,10 @@ Language_da_DA=Данська Language_da_DK=Данська Language_de_DE=Німецький Language_de_AT=Німецька (Австрія) -Language_de_CH=German (Switzerland) +Language_de_CH=Німецька (Швейцарія) Language_el_GR=Грецький Language_en_AU=Англійська (Австралія) +Language_en_CA=English (Canada) Language_en_GB=Англійська (Великобританія) Language_en_IN=Англійська (Індія) Language_en_NZ=Англійська (Нова Зеландія) @@ -20,9 +21,9 @@ Language_en_SA=Англійська (Саудівська Аравія) Language_en_US=Англійська (США) Language_en_ZA=Англійська (Південна Африка) Language_es_ES=Іспанська -Language_es_DO=Spanish (Dominican Republic) +Language_es_DO=Іспанська (Домініканська Республіка) Language_es_AR=Іспанська (Аргентина) -Language_es_CL=Spanish (Chile) +Language_es_CL=Іспанська (Чілі) Language_es_HN=Іспанська (Гондурас) Language_es_MX=Іспанська (Мексика) Language_es_PY=Іспанська (Парагвай) @@ -40,7 +41,7 @@ Language_fr_NC=Французька (Нова Каледонія) Language_he_IL=Іврит Language_hr_HR=Хорватська Language_hu_HU=Угорська -Language_id_ID=Indonesian +Language_id_ID=Індонезійська Language_is_IS=Ісландський Language_it_IT=Італійський Language_ja_JP=Японський @@ -61,7 +62,7 @@ Language_tr_TR=Турецька Language_sl_SI=Словенська Language_sv_SV=Шведська Language_sv_SE=Шведська -Language_sq_AL=Albanian +Language_sq_AL=Албанська Language_sk_SK=Словаччини Language_th_TH=Тайська Language_uk_UA=Український diff --git a/htdocs/langs/uk_UA/main.lang b/htdocs/langs/uk_UA/main.lang index 120e6bf0544..31e70c2b72a 100644 --- a/htdocs/langs/uk_UA/main.lang +++ b/htdocs/langs/uk_UA/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=MM/dd/yyyy FormatDateShortJavaInput=MM/dd/yyyy FormatDateShortJQuery=mm/dd/yy FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Error, failed to save file. SetDate=Set date SelectDate=Select a date SeeAlso=See also %s +SeeHere=See here BackgroundColorByDefault=Default background color FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=User Users=Users Group=Group Groups=Groups +NoUserGroupDefined=No user group defined Password=Password PasswordRetype=Retype your password NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. @@ -258,6 +261,7 @@ days=days Hours=Hours Minutes=Minutes Seconds=Seconds +Weeks=Weeks Today=Today Yesterday=Yesterday Tomorrow=Tomorrow @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/uk_UA/margins.lang b/htdocs/langs/uk_UA/margins.lang index 606d5e5053a..748b3c71f30 100644 --- a/htdocs/langs/uk_UA/margins.lang +++ b/htdocs/langs/uk_UA/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Product or Service AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/uk_UA/orders.lang b/htdocs/langs/uk_UA/orders.lang index 6ee9c19fa95..34792ae1eb2 100644 --- a/htdocs/langs/uk_UA/orders.lang +++ b/htdocs/langs/uk_UA/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customer's orders +CustomersOrders=Customers orders CustomersOrdersRunning=Current customer's orders CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customer's orders to validate -OrdersToBill=Customer's orders delivered -OrdersInProcess=Customer's orders in process -OrdersToProcess=Customer's orders to process +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Supplier's orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated StatusOrderSentShort=In process StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Reception +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Processed StatusOrderToBillShort=Delivered StatusOrderToBill2Short=To bill @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Everything received StatusOrderCanceled=Canceled StatusOrderDraft=Draft (needs to be validated) StatusOrderValidated=Validated -StatusOrderOnProcess=Waiting to receive +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Processed StatusOrderToBill=Delivered StatusOrderToBill2=To bill @@ -50,6 +50,8 @@ StatusOrderRefused=Refused StatusOrderReceivedPartially=Partially received StatusOrderReceivedAll=Everything received ShippingExist=A shipment exists +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Draft or approved not yet ordered DraftOrWaitingShipped=Draft or validated not yet shipped MenuOrdersToBill=Orders delivered diff --git a/htdocs/langs/uk_UA/productbatch.lang b/htdocs/langs/uk_UA/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/uk_UA/productbatch.lang +++ b/htdocs/langs/uk_UA/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/uk_UA/products.lang b/htdocs/langs/uk_UA/products.lang index 81d217ddb54..3a29639b12b 100644 --- a/htdocs/langs/uk_UA/products.lang +++ b/htdocs/langs/uk_UA/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Accountancy code (sell) ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services -ProductsAndServicesOnSell=Available Products and Services -ProductsAndServicesNotOnSell=Obsolete Products and Services +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Available products -ProductsNotOnSell=Obsolete products -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Available services -ServicesNotOnSell=Obsolete services -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded LastRecordedProductsAndServices=Last %s recorded products/services @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/uk_UA/projects.lang b/htdocs/langs/uk_UA/projects.lang index c48e27fd204..b3c150d1687 100644 --- a/htdocs/langs/uk_UA/projects.lang +++ b/htdocs/langs/uk_UA/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Project Projects=Projects +ProjectStatus=Project status SharedProject=Everybody PrivateProject=Contacts of project MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). @@ -11,7 +12,6 @@ ProjectsDesc=This view presents all projects (your user permissions grant you pe MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). TasksPublicDesc=This view presents all projects and tasks you are allowed to read. TasksDesc=This view presents all projects and tasks (your user permissions grant you permission to view everything). -Myprojects=My projects ProjectsArea=Projects area NewProject=New project AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/uk_UA/sendings.lang b/htdocs/langs/uk_UA/sendings.lang index f6111bac684..794c9019c86 100644 --- a/htdocs/langs/uk_UA/sendings.lang +++ b/htdocs/langs/uk_UA/sendings.lang @@ -4,7 +4,8 @@ Sending=Shipment Sendings=Shipments Shipment=Shipment Shipments=Shipments -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Shipments area ListOfSendings=List of shipments SendingMethod=Shipping method @@ -14,7 +15,7 @@ SearchASending=Search for shipment StatisticsOfSendings=Statistics for shipments NbOfSendings=Number of shipments NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Shipping card +SendingCard=Shipment card NewSending=New shipment CreateASending=Create a shipment CreateSending=Create shipment @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Canceled StatusSendingDraftShort=Draft StatusSendingValidatedShort=Validated StatusSendingProcessedShort=Processed -SendingSheet=Sending sheet +SendingSheet=Shipment sheet Carriers=Carriers Carrier=Carrier CarriersArea=Carriers area @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Events on shipment LinkToTrackYourPackage=Link to track your package ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is done from the order card. -RelatedShippings=Related shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Catch by customer diff --git a/htdocs/langs/uk_UA/stocks.lang b/htdocs/langs/uk_UA/stocks.lang index 06c502504e9..9de2e5a4dbe 100644 --- a/htdocs/langs/uk_UA/stocks.lang +++ b/htdocs/langs/uk_UA/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a warehouse automatically when creating a user QtyDispatched=Quantity dispatched +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Stock dispatching RuleForStockManagementDecrease=Rule for stock management decrease RuleForStockManagementIncrease=Rule for stock management increase @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. -StockDiffPhysicTeoric=Reason for difference stock physical and theoretical +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=No predefined products for this object. So no dispatching in stock is required. DispatchVerb=Dispatch StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/uk_UA/suppliers.lang b/htdocs/langs/uk_UA/suppliers.lang index b1545d6ca3c..7b4d4acb244 100644 --- a/htdocs/langs/uk_UA/suppliers.lang +++ b/htdocs/langs/uk_UA/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Suppliers Supplier=Supplier -AddSupplier=Add a supplier +AddSupplier=Create a supplier SupplierRemoved=Supplier removed SuppliersInvoice=Suppliers invoice NewSupplier=New supplier @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=None or batch %s not ran recently SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/uk_UA/withdrawals.lang b/htdocs/langs/uk_UA/withdrawals.lang index ea32511fefb..c36ffbf025a 100644 --- a/htdocs/langs/uk_UA/withdrawals.lang +++ b/htdocs/langs/uk_UA/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Credit on WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Show Withdraw IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one withdrawal payment not yet processed, it won't be set as paid to allow prior withdrawal management. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/uk_UA/workflow.lang b/htdocs/langs/uk_UA/workflow.lang index b7f4f77d9f4..17c8dd3aafa 100644 --- a/htdocs/langs/uk_UA/workflow.lang +++ b/htdocs/langs/uk_UA/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin -# WorkflowSetup=Workflow module setup -# WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can enabled automatic actions that you are interesting in. -# ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -# descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -# descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -# descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -# descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed -# descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +WorkflowSetup=Workflow module setup +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. +ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/uz_UZ/admin.lang b/htdocs/langs/uz_UZ/admin.lang index f12efa61626..38634cbd497 100644 --- a/htdocs/langs/uz_UZ/admin.lang +++ b/htdocs/langs/uz_UZ/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=This is setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr's root directory %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Select module: CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version +UpdateServerOffline=Update server offline GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=Export interventions Permission71=Read members Permission72=Create/modify members Permission74=Delete members -Permission75=Setup types and attributes for members +Permission75=Setup types of membership Permission76=Export datas Permission78=Read subscriptions Permission79=Create/modify subscriptions @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=Delete sendings Permission111=Read financial accounts Permission112=Create/modify/delete and compare transactions -Permission113=Setup financiel accounts (create, manage categories) -Permission114=Consolidate transactions +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Export transactions and account statements Permission116=Transfers between accounts Permission117=Manage cheques dispatching @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=Setup of sendings by email SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). PathToDocuments=Path to documents PathDirectory=Directory -SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by thoose bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommanded) is to use the method "SMTP socket library" that has no disadvantages. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes i FreeLegalTextOnOrders=Free text on orders WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with your clicktodial login (defined on your user card)
__PASS__ that will be replaced with your clicktodial password (defined on your user card). @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=EMailing module setup MailingEMailFrom=Sender EMail (From) for emails sent by emailing module MailingEMailError=Return EMail (Errors-to) for emails with errors +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Sender EMail (From) for emails sent for notifications @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=Sending module setup SendingsReceiptModel=Sending receipt model SendingsNumberingModules=Sendings numbering modules -SendingsAbility=Support sendings sheets for customer deliveries +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. -FreeLegalTextOnShippings=Free text on shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Products deliveries receipt numbering module DeliveryOrderModel=Products deliveries receipt model @@ -1414,7 +1420,7 @@ AdvancedEditor=Advanced editor ActivateFCKeditor=Activate advanced editor for: FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note -FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommanded as it can create problems with special characters and page formating when building PDF files. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/uz_UZ/agenda.lang b/htdocs/langs/uz_UZ/agenda.lang index a24c678a2e5..04e2ae30de8 100644 --- a/htdocs/langs/uz_UZ/agenda.lang +++ b/htdocs/langs/uz_UZ/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Customer order %s sent by EMail InvoiceSentByEMail=Customer invoice %s sent by EMail SupplierOrderSentByEMail=Supplier order %s sent by EMail SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail -ShippingSentByEMail=Shipping %s sent by EMail -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Third party created DateActionPlannedStart= Planned start date DateActionPlannedEnd= Planned end date @@ -68,7 +69,7 @@ DateActionDoneEnd= Real end date DateActionStart= Start date DateActionEnd= End date AgendaUrlOptions1=You can also add following parameters to filter output: -AgendaUrlOptions2=login=%s to restrict output to actions created by, assigned to or done by user %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=%s to restrict output to actions assigned to user %s. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/uz_UZ/banks.lang b/htdocs/langs/uz_UZ/banks.lang index 05156a723ad..10a5f5b3c14 100644 --- a/htdocs/langs/uz_UZ/banks.lang +++ b/htdocs/langs/uz_UZ/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Account FinancialAccounts=Accounts BankAccount=Bank account BankAccounts=Bank accounts +ShowAccount=Show Account AccountRef=Financial account ref AccountLabel=Financial account label CashAccount=Cash account diff --git a/htdocs/langs/uz_UZ/bills.lang b/htdocs/langs/uz_UZ/bills.lang index 81b7515a8b8..7232f00e91c 100644 --- a/htdocs/langs/uz_UZ/bills.lang +++ b/htdocs/langs/uz_UZ/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Invoice Bills=Invoices -BillsCustomers=Customer's invoices -BillsCustomer=Customer's invoice -BillsSuppliers=Supplier's invoices -BillsCustomersUnpaid=Unpaid customer's invoices +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Unpaid customer's invoices for %s BillsSuppliersUnpaid=Unpaid supplier's invoices BillsSuppliersUnpaidForCompany=Unpaid supplier's invoices for %s BillsLate=Late payments -BillsStatistics=Customer's invoices statistics -BillsStatisticsSuppliers=Supplier's invoices statistics +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Disabled because can not be erased InvoiceStandard=Standard invoice InvoiceStandardAsk=Standard invoice @@ -348,6 +348,7 @@ ChequeNumber=Check N° ChequeOrTransferNumber=Check/Transfer N° ChequeMaker=Check transmitter ChequeBank=Bank of Check +CheckBank=Check NetToBePaid=Net to be paid PhoneNumber=Tel FullPhoneNumber=Telephone @@ -388,7 +389,7 @@ DisabledBecausePayments=Not possible since there are some payments CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified paid ExpectedToPay=Expected payment PayedByThisPayment=Paid by this payment -ClosePaidInvoicesAutomatically=Classify "Paid" all standard or replacement invoices entirely paid. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=All invoice with no remain to pay will be automatically closed to status "Paid". ToMakePayment=Pay @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up s TypeContact_invoice_supplier_external_BILLING=Supplier invoice contact TypeContact_invoice_supplier_external_SHIPPING=Supplier shipping contact TypeContact_invoice_supplier_external_SERVICE=Supplier service contact +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/uz_UZ/compta.lang b/htdocs/langs/uz_UZ/compta.lang index 878eb49b3c9..0d579a06ff1 100644 --- a/htdocs/langs/uz_UZ/compta.lang +++ b/htdocs/langs/uz_UZ/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Turnover PaymentsNotLinkedToInvoice=Payments not linked to any invoice, so not linked to any third party PaymentsNotLinkedToUser=Payments not linked to any user Profit=Profit +AccountingResult=Accounting result Balance=Balance Debit=Debit Credit=Credit diff --git a/htdocs/langs/uz_UZ/cron.lang b/htdocs/langs/uz_UZ/cron.lang index 195ad43c87c..82f4574b223 100644 --- a/htdocs/langs/uz_UZ/cron.lang +++ b/htdocs/langs/uz_UZ/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/uz_UZ/ecm.lang b/htdocs/langs/uz_UZ/ecm.lang index 90ace355500..4a1931a3217 100644 --- a/htdocs/langs/uz_UZ/ecm.lang +++ b/htdocs/langs/uz_UZ/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Documents linked to contracts ECMDocsByInvoices=Documents linked to customers invoices ECMDocsByProducts=Documents linked to products ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=No directory created ShowECMSection=Show directory DeleteSection=Remove directory diff --git a/htdocs/langs/uz_UZ/errors.lang b/htdocs/langs/uz_UZ/errors.lang index 53f8d168a55..497ddd814e4 100644 --- a/htdocs/langs/uz_UZ/errors.lang +++ b/htdocs/langs/uz_UZ/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Setup of module looks to be uncomplete. Go on Setup ErrorBadMask=Error on mask ErrorBadMaskFailedToLocatePosOfSequence=Error, mask without sequence number ErrorBadMaskBadRazMonth=Error, bad reset value +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Error. Select at least one entry. ErrorProductWithRefNotExist=Product with reference '%s' don't exist ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transation that is conciliated @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/uz_UZ/install.lang b/htdocs/langs/uz_UZ/install.lang index 5d0c83e3173..5a494156672 100644 --- a/htdocs/langs/uz_UZ/install.lang +++ b/htdocs/langs/uz_UZ/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Migration finished LastStepDesc=Last step: Define here login and password you plan to use to connect to software. Do not loose this as it is the account to administer all others. ActivateModule=Activate module %s ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Update time spent in seconds MigrationActioncommElement=Update data on actions MigrationPaymentMode=Data migration for payment mode MigrationCategorieAssociation=Migration of categories +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/uz_UZ/languages.lang b/htdocs/langs/uz_UZ/languages.lang index 1116e29c21c..d20aab00146 100644 --- a/htdocs/langs/uz_UZ/languages.lang +++ b/htdocs/langs/uz_UZ/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=German (Austria) Language_de_CH=German (Switzerland) Language_el_GR=Greek Language_en_AU=English (Australia) +Language_en_CA=English (Canada) Language_en_GB=English (United Kingdom) Language_en_IN=English (India) Language_en_NZ=English (New Zealand) diff --git a/htdocs/langs/uz_UZ/main.lang b/htdocs/langs/uz_UZ/main.lang index b586bf4ea5a..ea5bebeaebf 100644 --- a/htdocs/langs/uz_UZ/main.lang +++ b/htdocs/langs/uz_UZ/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=dd.MM.yyyy FormatDateShortJavaInput=dd.MM.yyyy FormatDateShortJQuery=dd.mm.yy FormatDateShortJQueryInput=dd.mm.yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Error, failed to save file. SetDate=Set date SelectDate=Select a date SeeAlso=See also %s +SeeHere=See here BackgroundColorByDefault=Default background color FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=User Users=Users Group=Group Groups=Groups +NoUserGroupDefined=No user group defined Password=Password PasswordRetype=Retype your password NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. @@ -258,6 +261,7 @@ days=days Hours=Hours Minutes=Minutes Seconds=Seconds +Weeks=Weeks Today=Today Yesterday=Yesterday Tomorrow=Tomorrow @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/uz_UZ/margins.lang b/htdocs/langs/uz_UZ/margins.lang index 606d5e5053a..748b3c71f30 100644 --- a/htdocs/langs/uz_UZ/margins.lang +++ b/htdocs/langs/uz_UZ/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Product or Service AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/uz_UZ/orders.lang b/htdocs/langs/uz_UZ/orders.lang index 6ee9c19fa95..34792ae1eb2 100644 --- a/htdocs/langs/uz_UZ/orders.lang +++ b/htdocs/langs/uz_UZ/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customer's orders +CustomersOrders=Customers orders CustomersOrdersRunning=Current customer's orders CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customer's orders to validate -OrdersToBill=Customer's orders delivered -OrdersInProcess=Customer's orders in process -OrdersToProcess=Customer's orders to process +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Supplier's orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated StatusOrderSentShort=In process StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Reception +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Processed StatusOrderToBillShort=Delivered StatusOrderToBill2Short=To bill @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Everything received StatusOrderCanceled=Canceled StatusOrderDraft=Draft (needs to be validated) StatusOrderValidated=Validated -StatusOrderOnProcess=Waiting to receive +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Processed StatusOrderToBill=Delivered StatusOrderToBill2=To bill @@ -50,6 +50,8 @@ StatusOrderRefused=Refused StatusOrderReceivedPartially=Partially received StatusOrderReceivedAll=Everything received ShippingExist=A shipment exists +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Draft or approved not yet ordered DraftOrWaitingShipped=Draft or validated not yet shipped MenuOrdersToBill=Orders delivered diff --git a/htdocs/langs/uz_UZ/products.lang b/htdocs/langs/uz_UZ/products.lang index 81d217ddb54..3a29639b12b 100644 --- a/htdocs/langs/uz_UZ/products.lang +++ b/htdocs/langs/uz_UZ/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Accountancy code (sell) ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services -ProductsAndServicesOnSell=Available Products and Services -ProductsAndServicesNotOnSell=Obsolete Products and Services +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Available products -ProductsNotOnSell=Obsolete products -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=Available services -ServicesNotOnSell=Obsolete services -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded LastRecordedProductsAndServices=Last %s recorded products/services @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/uz_UZ/projects.lang b/htdocs/langs/uz_UZ/projects.lang index c48e27fd204..b3c150d1687 100644 --- a/htdocs/langs/uz_UZ/projects.lang +++ b/htdocs/langs/uz_UZ/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=Project Projects=Projects +ProjectStatus=Project status SharedProject=Everybody PrivateProject=Contacts of project MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). @@ -11,7 +12,6 @@ ProjectsDesc=This view presents all projects (your user permissions grant you pe MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). TasksPublicDesc=This view presents all projects and tasks you are allowed to read. TasksDesc=This view presents all projects and tasks (your user permissions grant you permission to view everything). -Myprojects=My projects ProjectsArea=Projects area NewProject=New project AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/uz_UZ/sendings.lang b/htdocs/langs/uz_UZ/sendings.lang index f6111bac684..794c9019c86 100644 --- a/htdocs/langs/uz_UZ/sendings.lang +++ b/htdocs/langs/uz_UZ/sendings.lang @@ -4,7 +4,8 @@ Sending=Shipment Sendings=Shipments Shipment=Shipment Shipments=Shipments -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Shipments area ListOfSendings=List of shipments SendingMethod=Shipping method @@ -14,7 +15,7 @@ SearchASending=Search for shipment StatisticsOfSendings=Statistics for shipments NbOfSendings=Number of shipments NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Shipping card +SendingCard=Shipment card NewSending=New shipment CreateASending=Create a shipment CreateSending=Create shipment @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Canceled StatusSendingDraftShort=Draft StatusSendingValidatedShort=Validated StatusSendingProcessedShort=Processed -SendingSheet=Sending sheet +SendingSheet=Shipment sheet Carriers=Carriers Carrier=Carrier CarriersArea=Carriers area @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=Events on shipment LinkToTrackYourPackage=Link to track your package ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is done from the order card. -RelatedShippings=Related shippings +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Catch by customer diff --git a/htdocs/langs/uz_UZ/stocks.lang b/htdocs/langs/uz_UZ/stocks.lang index 06c502504e9..9de2e5a4dbe 100644 --- a/htdocs/langs/uz_UZ/stocks.lang +++ b/htdocs/langs/uz_UZ/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a warehouse automatically when creating a user QtyDispatched=Quantity dispatched +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Stock dispatching RuleForStockManagementDecrease=Rule for stock management decrease RuleForStockManagementIncrease=Rule for stock management increase @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. -StockDiffPhysicTeoric=Reason for difference stock physical and theoretical +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=No predefined products for this object. So no dispatching in stock is required. DispatchVerb=Dispatch StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/uz_UZ/suppliers.lang b/htdocs/langs/uz_UZ/suppliers.lang index b1545d6ca3c..7b4d4acb244 100644 --- a/htdocs/langs/uz_UZ/suppliers.lang +++ b/htdocs/langs/uz_UZ/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Suppliers Supplier=Supplier -AddSupplier=Add a supplier +AddSupplier=Create a supplier SupplierRemoved=Supplier removed SuppliersInvoice=Suppliers invoice NewSupplier=New supplier @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=None or batch %s not ran recently SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/uz_UZ/withdrawals.lang b/htdocs/langs/uz_UZ/withdrawals.lang index ea32511fefb..c36ffbf025a 100644 --- a/htdocs/langs/uz_UZ/withdrawals.lang +++ b/htdocs/langs/uz_UZ/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Credit on WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Show Withdraw IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one withdrawal payment not yet processed, it won't be set as paid to allow prior withdrawal management. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/uz_UZ/workflow.lang b/htdocs/langs/uz_UZ/workflow.lang index ed0b30ae89c..17c8dd3aafa 100644 --- a/htdocs/langs/uz_UZ/workflow.lang +++ b/htdocs/langs/uz_UZ/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow module setup -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can enabled automatic actions that you are interesting in. +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed diff --git a/htdocs/langs/vi_VN/accountancy.lang b/htdocs/langs/vi_VN/accountancy.lang index 8eba08cd1d6..76900923d16 100644 --- a/htdocs/langs/vi_VN/accountancy.lang +++ b/htdocs/langs/vi_VN/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Cấu hình của các chuyên gia kế toán mô-đun Journaux=Tạp chí JournalFinancial=Tạp chí tài chính Exports=Xuất khẩu +Export=Export Modelcsv=Mô hình xuất khẩu +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Chọn một mô hình xuất khẩu Modelcsv_normal=Cổ điển xuất khẩu Modelcsv_CEGID=Xuất khẩu theo hướng CEGID chuyên gia @@ -66,7 +68,7 @@ Lineofinvoice=Dòng của hóa đơn VentilatedinAccount=Ventilation thành công trong các tài khoản kế toán NotVentilatedinAccount=Không ventilation trong tài khoản kế toán -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/vi_VN/admin.lang b/htdocs/langs/vi_VN/admin.lang index 52535054170..fb7efc64748 100644 --- a/htdocs/langs/vi_VN/admin.lang +++ b/htdocs/langs/vi_VN/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Không sử dụng trong sản xuất ThisIsProcessToFollow=Đây là thiết lập để quá trình: StepNb=Bước%s FindPackageFromWebSite=Tìm một gói phần mềm cung cấp các tính năng mà bạn muốn (ví dụ như trên trang web chính thức %s). -DownloadPackageFromWebSite=Tải về gói. +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=Tập tin gói giải nén vào thư mục gốc của Dolibarr %s SetupIsReadyForUse=Cài đặt xong và Dolibarr đã sẵn sàng để sử dụng với thành phần mới này. NotExistsDirect=Các thư mục gốc thay thế không được định nghĩa.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Chọn mô-đun: CurrentVersion=Phiên bản hiện tại Dolibarr CallUpdatePage=Tới trang đó cập nhật các cấu trúc cơ sở dữ liệu và dữ liệu:% s. LastStableVersion=Cuối phiên bản ổn định +UpdateServerOffline=Update server offline GenericMaskCodes=Bạn có thể nhập bất kỳ số mặt nạ. Trong mặt nạ này, các thẻ sau đây có thể được sử dụng:
{000000} tương ứng với một số trong đó sẽ được phát triển trên mỗi%s. Nhập càng nhiều số không như độ dài mong muốn của các truy cập. Truy cập sẽ được hoàn thành vào số không trên bên trái để có nhiều số không như mặt nạ.
{000000+000} giống như trước nhưng một bù đắp tương ứng với số bên phải dấu + là đã áp dụng bắt đầu từ ngày đầu tiên %s.
{000000@x} giống như trước, nhưng truy cập được thiết lập lại để không khi tháng x đạt được (x từ 1 đến 12, hoặc từ 0 đến sử dụng những tháng đầu của năm tài chính được xác định trong cấu hình của bạn, hoặc 99 để thiết lập lại bằng không mỗi tháng ). Nếu tùy chọn này được sử dụng và x là 2 hoặc cao hơn, sau đó tự {yy}{mm} hoặc {yyyy}{mm} cũng được yêu cầu.
{dd} ngày (01 đến 31).
{mm} tháng (01 đến 12).
{yy}, {yyyy} hoặc {y} năm trên 2, 4 hoặc 1 con số.
GenericMaskCodes2={cccc} mã khách hàng về n ký tự
{cccc000} mã khách hàng về n ký tự tiếp theo là một truy cập dành riêng cho khách hàng. Truy cập này dành riêng cho khách hàng được thiết lập lại tại cùng một thời gian hơn truy cập toàn cầu.
{tttt} Đoạn mã của loại của bên thứ ba trên n ký tự (xem các loại từ điển của bên thứ ba).
GenericMaskCodes3=Tất cả các nhân vật khác trong mặt nạ sẽ vẫn còn nguyên vẹn.
Khoảng trống không được phép.
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Chọn từ bảng ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Nút radio +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Danh sách các thông số phải như quan trọng, giá trị

ví dụ:
1, value1
2, value2
3, value3
...

Để có danh sách tùy thuộc vào khác:
1, value1 | parent_list_code: parent_key
2, value2 | parent_list_code: parent_key ExtrafieldParamHelpcheckbox=Danh sách các thông số phải như quan trọng, giá trị

ví dụ:
1, value1
2, value2
3, value3
... ExtrafieldParamHelpradio=Danh sách các thông số phải như quan trọng, giá trị

ví dụ:
1, value1
2, value2
3, value3
... ExtrafieldParamHelpsellist=Danh sách các thông số xuất phát từ một bảng
Cú pháp: tên_bảng: label_field: id_field :: lọc
Ví dụ: c_typent: libelle: id :: lọc

bộ lọc có thể là một thử nghiệm đơn giản (ví dụ như hoạt động = 1) để hiển thị chỉ có giá trị tích cực
nếu bạn muốn lọc vào extrafields sử dụng syntaxt extra.fieldcode = ... (nơi mã trường là mã của extrafield)

Để có danh sách tùy thuộc vào khác:
c_typent: libelle: id: parent_list_code | parent_column: bộ lọc +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Thư viện được sử dụng để xây dựng PDF WarningUsingFPDF=Cảnh báo: conf.php của bạn có chứa trực tiếp dolibarr_pdf_force_fpdf=1.
Điều này có nghĩa là bạn sử dụng thư viện FPDF để tạo ra các tập tin PDF. Thư viện này là cũ và không hỗ trợ rất nhiều tính năng (Unicode, minh bạch, hình ảnh, ngôn ngữ Cyrillic, Arab và châu Á, ...), vì vậy bạn có thể gặp một số lỗi trong hệ PDF.
Để giải quyết điều này và có một sự hỗ trợ đầy đủ các thế hệ PDF, xin vui lòng tải TCPDF library, sau đó bình luận hoặc loại bỏ các dòng $dolibarr_pdf_force_fpdf=1, và thêm thay vì $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Một số quốc gia áp dụng 2 hoặc 3 loại thuế trên mỗi dòng hóa đơn. Nếu đây là trường hợp, chọn loại thuế thứ hai và thứ ba và tỷ lệ của nó. Loại có thể là:
1: thuế địa phương áp dụng trên các sản phẩm và dịch vụ mà không có thùng (thùng không được áp dụng thuế địa phương)
2: thuế địa phương áp dụng trên các sản phẩm và dịch vụ trước khi thùng (thùng được tính trên số tiền + localtax)
3: thuế địa phương áp dụng vào các sản phẩm mà không có thùng (thùng không được áp dụng thuế địa phương)
4: thuế địa phương áp dụng trên các sản phẩm trước khi thùng (thùng được tính trên số tiền + localtax)
5: thuế địa phương áp dụng vào các dịch vụ mà không có thùng (thùng không được áp dụng thuế địa phương)
6: thuế địa phương áp dụng vào các dịch vụ trước khi thùng (thùng được tính trên số tiền + localtax) @@ -572,7 +575,7 @@ Permission67=Can thiệp xuất khẩu Permission71=Thành viên đã đọc Permission72=Tạo / thay đổi thành viên Permission74=Xóa thành viên -Permission75=Thiết lập các loại và các thuộc tính cho các thành viên +Permission75=Setup types of membership Permission76=Export datas Permission78=Đọc đăng ký Permission79=Tạo / sửa đổi đăng ký @@ -595,8 +598,8 @@ Permission106=Sendings xuất khẩu Permission109=Xóa sendings Permission111=Đọc các tài khoản tài chính Permission112=Tạo / sửa đổi / xóa và so sánh giao dịch -Permission113=Thiết lập tài khoản financiel (tạo, quản lý danh mục) -Permission114=Củng cố giao dịch +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=Các giao dịch xuất khẩu, báo cáo tài khoản Permission116=Chuyển giữa các tài khoản Permission117=Quản lý việc gửi séc @@ -761,6 +764,7 @@ Permission55001=Đọc các cuộc thăm dò Permission55002=Tạo / sửa đổi các cuộc thăm dò Permission59001=Đọc lợi nhuận thương mại Permission59002=Xác định lợi nhuận thương mại +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties loại DictionaryCompanyJuridicalType=Các loại pháp nhân của thirdparties DictionaryProspectLevel=Triển vọng mức tiềm năng @@ -1038,7 +1042,7 @@ SendingMailSetup=Thiết lập sendings qua email SendmailOptionNotComplete=Cảnh báo, trên một số hệ thống Linux, để gửi email từ email của bạn, thiết lập sendmail thực hiện phải có lựa chọn -ba (mail.force_extra_parameters tham số vào file php.ini của bạn). Nếu một số người nhận không bao giờ nhận được email, hãy thử để chỉnh sửa thông số này PHP với mail.force_extra_parameters = -ba). PathToDocuments=Đường dẫn đến tài liệu PathDirectory=Thư mục -SendmailOptionMayHurtBuggedMTA=Tính năng gửi mail sử dụng phương pháp "PHP thư trực tiếp" sẽ tạo ra một tin nhắn qua thư có thể được phân tích cú pháp không chính xác bởi một số máy chủ email nhận được. Kết quả là một số mail không thể được đọc bởi những người tổ chức bởi thoose nền tảng nghe trộm. Đó là trường hợp đối với một số nhà cung cấp Internet (Ví dụ: Orange tại Pháp). Đây không phải là một vấn đề vào Dolibarr cũng không vào PHP nhưng nhận được vào máy chủ mail. Tuy nhiên bạn có thể thêm tùy chọn MAIN_FIX_FOR_BUGGED_MTA tới 1 vào thiết lập - khác để sửa đổi Dolibarr để tránh điều này. Tuy nhiên, bạn có thể gặp vấn đề với các máy chủ khác mà triệt để tôn trọng các tiêu chuẩn SMTP. Các giải pháp khác (recommanded) là sử dụng phương pháp "ổ cắm SMTP thư viện" mà không có nhược điểm. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Cấu hình de la Traduction TranslationDesc=Lựa chọn ngôn ngữ hiển thị trên màn hình có thể được chỉnh sửa:
* Trên toàn cầu từ menu Home - Cài đặt - Hiển thị
* Đối với người dùng chỉ từ tab hiển thị tài khoản của người sử dụng thẻ (click vào đăng nhập trên đầu trang của màn hình). TotalNumberOfActivatedModules=Tổng số các module tính năng kích hoạt: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=Bạn đang sử dụng trình duyệt web%s. Trình duyệt này l BrowserIsKO=Bạn đang sử dụng trình duyệt web%s. Trình duyệt này được biết đến là một lựa chọn tốt cho bảo mật, hiệu suất và độ tin cậy. Chúng tôi recommand bạn sử dụng Firefox, Chrome, Opera hay Safari. XDebugInstalled=XDebug được tải. XCacheInstalled=XCache được tải. -AddRefInList=Hiển thị khách hàng / nhà cung cấp ref vào danh sách (chọn danh sách hoặc combobox) và hầu hết các siêu liên kết +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition của trường%s FixTZ=Sửa chữa TimeZone FillThisOnlyIfRequired=Ví dụ: 2 (chỉ điền nếu múi giờ bù đắp vấn đề có nhiều kinh nghiệm) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=Để xác nhận đơn đặt hàng sau khi đề x FreeLegalTextOnOrders=Miễn phí văn bản trên đơn đặt hàng WatermarkOnDraftOrders=Watermark về dự thảo đơn đặt hàng (nếu không có sản phẩm nào) ShippableOrderIconInList=Thêm một biểu tượng trong danh sách đơn đặt hàng lớn cho biết nếu thứ tự là shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=Nhấn vào đây để quay số thiết lập mô-đun ClickToDialUrlDesc=Url gọi khi một nhấp chuột trên điện thoại Picto được thực hiện. Trong URL, bạn có thể sử dụng các thẻ
__PHONETO__ Sẽ được thay thế bằng số điện thoại của người gọi
__PHONEFROM__ Sẽ được thay thế bằng số điện thoại của người gọi (của bạn)
__LOGIN__ Sẽ được thay thế bằng đăng nhập clicktodial của bạn (xác định trên thẻ người dùng của bạn)
__PASS__ Sẽ được thay thế bằng mật khẩu clicktodial của bạn (xác định trên thẻ người dùng của bạn). @@ -1392,6 +1397,7 @@ RSSUrlExample=Một nguồn cấp dữ liệu RSS thú vị MailingSetup=Gửi email cài đặt mô-đun MailingEMailFrom=Tên người gửi thư điện tử (Từ) cho email được gửi bằng cách gửi email mô-đun MailingEMailError=Quay trở lại thư điện tử (lỗi-to) cho email với các lỗi +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=Thư điện tử của thiết lập mô-đun thông báo NotificationEMailFrom=Tên người gửi thư điện tử (Từ) cho các email gửi đi thông báo @@ -1401,9 +1407,9 @@ FixedEmailTarget=Mục tiêu email cố định SendingsSetup=Gửi thiết lập mô-đun SendingsReceiptModel=Gửi mô hình nhận SendingsNumberingModules=Sendings đánh số module -SendingsAbility=Hỗ trợ sendings tờ cho việc giao hàng của khách hàng +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=Trong hầu hết các trường hợp, sendings hóa đơn được sử dụng như tờ cho việc giao hàng của khách hàng (danh sách các sản phẩm để gửi) và tấm được recevied và chữ ký của khách hàng. Vì vậy, phân phối sản phẩm hóa đơn là một tính năng sao chép và hiếm khi được kích hoạt. -FreeLegalTextOnShippings=Miễn phí văn bản trên shippings +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=Sản phẩm phân phối mô-đun số nhận DeliveryOrderModel=Sản phẩm mô hình giao nhận @@ -1414,7 +1420,7 @@ AdvancedEditor=Biên tập viên cao cấp ActivateFCKeditor=Kích hoạt trình soạn thảo nâng cao cho: FCKeditorForCompany=WYSIWIG tạo / phiên bản của các yếu tố mô tả và lưu ý (trừ các sản phẩm / dịch vụ) FCKeditorForProduct=WYSIWIG tạo / phiên bản của sản phẩm / dịch vụ mô tả và lưu ý -FCKeditorForProductDetails=WYSIWIG tạo / phiên bản của sản phẩm chi tiết cho tất cả các dòng thực thể (đề xuất, đơn đặt hàng, hóa đơn, vv ...). Cảnh báo: Sử dụng tùy chọn này trong trường hợp này là nghiêm túc không recommanded vì nó có thể tạo ra các vấn đề với các ký tự đặc biệt và các định dạng trang khi xây dựng PDF tập tin. +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG tạo / phiên bản cho eMailings khối (Tools> gửi email) FCKeditorForUserSignature=WYSIWIG tạo / phiên bản của chữ ký người sử dụng FCKeditorForMail=WYSIWIG tạo / phiên bản cho tất cả thư (trừ Outils-> gửi email) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Định dạng TypePaymentDesc=0: Loại khách hàng thanh toán 1: Nhà cung cấp phương thức thanh toán, 2: Cả hai khách hàng và nhà cung cấp loại hình thanh toán +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/vi_VN/agenda.lang b/htdocs/langs/vi_VN/agenda.lang index d382aef3a06..bb938979f9c 100644 --- a/htdocs/langs/vi_VN/agenda.lang +++ b/htdocs/langs/vi_VN/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=Đơn đặt hàng %s gửi Thư điện tử InvoiceSentByEMail=Hóa đơn của khách hàng %s gửi Thư điện tử SupplierOrderSentByEMail=Để nhà cung cấp %s gửi Thư điện tử SupplierInvoiceSentByEMail=Nhà cung cấp hóa đơn %s gửi bằng thư điện tử -ShippingSentByEMail=Vận chuyển %s gửi thư điện tử -ShippingValidated= Vận chuyển %s xác nhận +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Bên thứ ba tạo ra DateActionPlannedStart= Ngày bắt đầu lên kế hoạch DateActionPlannedEnd= Ngày kết thúc kế hoạch @@ -68,7 +69,7 @@ DateActionDoneEnd= Bất ngày cuối DateActionStart= Ngày bắt đầu DateActionEnd= Ngày kết thúc AgendaUrlOptions1=Bạn cũng có thể thêm các thông số sau đây để lọc đầu ra: -AgendaUrlOptions2=login =%s ​​để hạn chế sản lượng để hành động được tạo ra bởi, phân định hoặc thực hiện bằng cách sử dụng %s. +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=Logina =%s ​​để hạn chế sản lượng để hành động thuộc sở hữu của một người dùng %s. AgendaUrlOptions4=logint =%s ​​để hạn chế sản lượng để hành động được gán cho người dùng %s. AgendaUrlOptionsProject=dự án = PROJECT_ID để hạn chế sản lượng để hành động liên quan đến dự án PROJECT_ID. diff --git a/htdocs/langs/vi_VN/banks.lang b/htdocs/langs/vi_VN/banks.lang index 5a05d8f4b62..284f998d741 100644 --- a/htdocs/langs/vi_VN/banks.lang +++ b/htdocs/langs/vi_VN/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Tài khoản FinancialAccounts=Tài khoản BankAccount=Tài khoản ngân hàng BankAccounts=Tài khoản ngân hàng +ShowAccount=Show Account AccountRef=Tài khoản tài chính ref AccountLabel=Nhãn tài khoản tài chính CashAccount=Tài khoản tiền mặt diff --git a/htdocs/langs/vi_VN/bills.lang b/htdocs/langs/vi_VN/bills.lang index ec7882a6bf0..d30df986f9f 100644 --- a/htdocs/langs/vi_VN/bills.lang +++ b/htdocs/langs/vi_VN/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Hoá đơn Bills=Hoá đơn -BillsCustomers=Hoá đơn của khách hàng -BillsCustomer=Hóa đơn của khách hàng -BillsSuppliers=Hoá đơn của nhà cung cấp -BillsCustomersUnpaid=Hoá đơn chưa thanh toán của khách hàng +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=Hoá đơn chưa thanh toán của khách hàng cho %s BillsSuppliersUnpaid=Hoá đơn chưa thanh toán của nhà cung cấp BillsSuppliersUnpaidForCompany=Hoá đơn chưa thanh toán của nhà cung cấp cho %s BillsLate=Khoản thanh toán trễ -BillsStatistics=Hoá đơn số liệu thống kê của khách hàng -BillsStatisticsSuppliers=Hoá đơn của nhà cung cấp số liệu thống kê +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=Vô hiệu hóa vì không thể bị xóa InvoiceStandard=Hóa đơn tiêu chuẩn InvoiceStandardAsk=Hóa đơn tiêu chuẩn @@ -348,6 +348,7 @@ ChequeNumber=Kiểm tra N ° ChequeOrTransferNumber=Kiểm tra / Chuyển N ° ChequeMaker=Kiểm tra máy phát ChequeBank=Ngân hàng Kiểm tra +CheckBank=Check NetToBePaid=Net để được thanh toán PhoneNumber=Điện thoại FullPhoneNumber=Điện thoại @@ -388,7 +389,7 @@ DisabledBecausePayments=Không thể vì có một số khoản thanh toán CantRemovePaymentWithOneInvoicePaid=Không thể loại bỏ thanh toán kể từ khi có ít nhất một hóa đơn thanh toán phân loại ExpectedToPay=Thanh toán dự kiến PayedByThisPayment=Thanh toán thanh toán này -ClosePaidInvoicesAutomatically=Phân loại "Đã thanh toán" tất cả các hóa đơn tiêu chuẩn hoặc thay thế hoàn toàn thanh toán. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Phân loại các "Đã thanh toán" tất cả các ghi chú ghi nợ hoàn toàn trả lại. AllCompletelyPayedInvoiceWillBeClosed=Tất cả hóa đơn không còn phải trả sẽ được tự động đóng cửa để trạng thái "Đã thanh toán". ToMakePayment=Trả @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Đại diện theo dõi nhà TypeContact_invoice_supplier_external_BILLING=Nhà cung cấp hóa đơn liên lạc TypeContact_invoice_supplier_external_SHIPPING=Nhà cung cấp vận chuyển liên lạc TypeContact_invoice_supplier_external_SERVICE=Nhà cung cấp dịch vụ liên lạc +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/vi_VN/compta.lang b/htdocs/langs/vi_VN/compta.lang index c169fe2afbc..14237f389b5 100644 --- a/htdocs/langs/vi_VN/compta.lang +++ b/htdocs/langs/vi_VN/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=Doanh thu PaymentsNotLinkedToInvoice=Thanh toán không liên quan đến bất kỳ hóa đơn, do đó không liên quan đến bất kỳ bên thứ ba PaymentsNotLinkedToUser=Thanh toán không liên quan đến bất kỳ người dùng Profit=Lợi nhuận +AccountingResult=Accounting result Balance=Cân bằng Debit=Nợ Credit=Tín dụng diff --git a/htdocs/langs/vi_VN/cron.lang b/htdocs/langs/vi_VN/cron.lang index 019e6939edb..e72c787d499 100644 --- a/htdocs/langs/vi_VN/cron.lang +++ b/htdocs/langs/vi_VN/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL để kiểm tra và khởi động công việc cron n OrToLaunchASpecificJob=Hoặc để kiểm tra và khởi động một công việc cụ thể KeyForCronAccess=Khóa bảo mật cho URL để khởi động công việc cron FileToLaunchCronJobs=Dòng lệnh để khởi động công việc cron -CronExplainHowToRunUnix=Về môi trường Unix bạn nên sử dụng crontab để chạy dòng lệnh mỗi phút -CronExplainHowToRunWin=Trên Microsoft (tm) Windows environement bạn có thể sử dụng công cụ nhiệm vụ theo lịch trình để chạy dòng lệnh mỗi phút +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Việc theo lịch trình CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/vi_VN/ecm.lang b/htdocs/langs/vi_VN/ecm.lang index b8c8e2d59a3..dbd28988cc3 100644 --- a/htdocs/langs/vi_VN/ecm.lang +++ b/htdocs/langs/vi_VN/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=Các tài liệu liên quan đến hợp đồng ECMDocsByInvoices=Các tài liệu liên quan đến hoá đơn cho khách hàng ECMDocsByProducts=Các tài liệu liên quan đến sản phẩm ECMDocsByProjects=Các tài liệu liên quan đến dự án +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=Không có thư mục được tạo ra ShowECMSection=Hiện thư mục DeleteSection=Hủy bỏ thư mục diff --git a/htdocs/langs/vi_VN/errors.lang b/htdocs/langs/vi_VN/errors.lang index a949fb6453e..ae106155037 100644 --- a/htdocs/langs/vi_VN/errors.lang +++ b/htdocs/langs/vi_VN/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Thiết lập các mô-đun có vẻ là uncomplete. ErrorBadMask=Lỗi trên mặt nạ ErrorBadMaskFailedToLocatePosOfSequence=Lỗi, mặt nạ mà không có số thứ tự ErrorBadMaskBadRazMonth=Lỗi, giá trị thiết lập lại xấu +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Lỗi. Chọn ít nhất một mục. ErrorProductWithRefNotExist=Sản phẩm có sự tham khảo '% s' không tồn tại ErrorDeleteNotPossibleLineIsConsolidated=Xóa không thể vì hồ sơ được liên kết với một ngân hàng transation được hoà giải @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Thiết lập các thông số bắt buộc chưa được xác định diff --git a/htdocs/langs/vi_VN/install.lang b/htdocs/langs/vi_VN/install.lang index e59c45f7a10..efc226e1a58 100644 --- a/htdocs/langs/vi_VN/install.lang +++ b/htdocs/langs/vi_VN/install.lang @@ -155,6 +155,7 @@ MigrationFinished=Di cư đã hoàn thành LastStepDesc=Bước cuối cùng: Xác định đây đăng nhập và mật khẩu bạn có kế hoạch sử dụng để kết nối với phần mềm. Đừng mất này vì nó là tài khoản để quản lý tất cả những người khác. ActivateModule=Kích hoạt module %s ShowEditTechnicalParameters=Click vào đây để hiển thị các thông số tiên tiến / chỉnh sửa (chế độ chuyên môn) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=Cập nhật dành thời gian trong vài giây MigrationActioncommElement=Cập nhật dữ liệu về các hoạt động MigrationPaymentMode=Di chuyển dữ liệu cho phương thức thanh toán MigrationCategorieAssociation=Di chuyển các loại +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Hiển thị tùy chọn không có sẵn HideNotAvailableOptions=Ẩn các tùy chọn không có sẵn diff --git a/htdocs/langs/vi_VN/languages.lang b/htdocs/langs/vi_VN/languages.lang index 46ef6c6678e..dda345c1b78 100644 --- a/htdocs/langs/vi_VN/languages.lang +++ b/htdocs/langs/vi_VN/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=Đức (Áo) Language_de_CH=Đức (Thụy Sĩ) Language_el_GR=Hy Lạp Language_en_AU=Anh (Úc) +Language_en_CA=English (Canada) Language_en_GB=Anh (Vương quốc Anh) Language_en_IN=Anh (Ấn Độ) Language_en_NZ=Anh (New Zealand) diff --git a/htdocs/langs/vi_VN/main.lang b/htdocs/langs/vi_VN/main.lang index e4f8cd66622..363fd296611 100644 --- a/htdocs/langs/vi_VN/main.lang +++ b/htdocs/langs/vi_VN/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=MM/dd/yyyy FormatDateShortJavaInput=MM/dd/yyyy FormatDateShortJQuery=mm/dd/yy FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=Lỗi, không lưu tập tin. SetDate=Thiết lập ngày SelectDate=Chọn một ngày SeeAlso=Xem thêm %s +SeeHere=See here BackgroundColorByDefault=Màu mặc định nền FileNotUploaded=Các tập tin không được tải lên FileUploaded=Các tập tin được tải lên thành công @@ -169,6 +171,7 @@ User=Người sử dụng Users=Người sử dụng Group=Nhóm Groups=Nhóm +NoUserGroupDefined=No user group defined Password=Mật khẩu PasswordRetype=Nhập lại mật khẩu của bạn NoteSomeFeaturesAreDisabled=Lưu ý rằng rất nhiều tính năng / modules bị vô hiệu hóa trong trình diễn này. @@ -258,6 +261,7 @@ days=ngày Hours=Giờ Minutes=Phút Seconds=Giây +Weeks=Weeks Today=Hôm nay Yesterday=Hôm qua Tomorrow=Ngày mai @@ -683,6 +687,7 @@ XMoreLines=Dòng (các) %s ẩn PublicUrl=URL công cộng AddBox=Thêm vào hộp SelectElementAndClickRefresh=Chọn một phần tử và nhấn Refresh +PrintFile=Print File %s # Week day Monday=Thứ hai Tuesday=Thứ ba diff --git a/htdocs/langs/vi_VN/margins.lang b/htdocs/langs/vi_VN/margins.lang index 0ae04d128e2..b48ab7198be 100644 --- a/htdocs/langs/vi_VN/margins.lang +++ b/htdocs/langs/vi_VN/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Chi tiết Biên lợi nhuận ProductMargins=Biên lợi nhuận sản phẩm CustomerMargins=Biên lợi nhuận của khách hàng SalesRepresentativeMargins=Biên lợi nhuận đại diện bán hàng +UserMargins=User margins ProductService=Sản phẩm hoặc dịch vụ AllProducts=Tất cả các sản phẩm và dịch vụ ChooseProduct/Service=Chọn sản phẩm hoặc dịch vụ diff --git a/htdocs/langs/vi_VN/orders.lang b/htdocs/langs/vi_VN/orders.lang index 37da0e7191f..735f5774e4f 100644 --- a/htdocs/langs/vi_VN/orders.lang +++ b/htdocs/langs/vi_VN/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Để nhà cung cấp SuppliersOrders=Nhà cung cấp đơn đặt hàng SuppliersOrdersRunning=Đơn đặt hàng của các nhà cung cấp hiện tại CustomerOrder=Đơn đặt hàng -CustomersOrders=Đơn đặt hàng của khách hàng +CustomersOrders=Customers orders CustomersOrdersRunning=Đơn đặt hàng của khách hàng hiện tại của CustomersOrdersAndOrdersLines=Đơn đặt hàng của khách hàng và đơn đặt hàng của dòng -OrdersToValid=Đơn đặt hàng của khách hàng để xác nhận -OrdersToBill=Đơn đặt hàng của khách hàng cung cấp -OrdersInProcess=Đơn đặt hàng của khách hàng trong quá trình -OrdersToProcess=Đơn đặt hàng của khách hàng để quá trình +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=Đơn đặt hàng của nhà cung cấp cho quá trình StatusOrderCanceledShort=Hủy bỏ StatusOrderDraftShort=Dự thảo StatusOrderValidatedShort=Xác nhận StatusOrderSentShort=Trong quá trình StatusOrderSent=Lô hàng trong quá trình -StatusOrderOnProcessShort=Tiếp nhận +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Đã xử lý StatusOrderToBillShort=Đã giao hàng StatusOrderToBill2Short=Thanh toán @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=Đã nhận đủ StatusOrderCanceled=Đã bị hủy StatusOrderDraft=Nháp (cần phải được xác nhận) StatusOrderValidated=Xác nhận -StatusOrderOnProcess=Đang chờ nhận +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=Đã xử lý StatusOrderToBill=Đã giao hàng StatusOrderToBill2=Thanh toán @@ -50,6 +50,8 @@ StatusOrderRefused=Đã bị từ chối StatusOrderReceivedPartially=Đã nhận một phần StatusOrderReceivedAll=Đã nhận đầy đủ ShippingExist=A shipment exists +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=Nháp hoặc đã được phê duyệt nhưng chưa đặt hàng DraftOrWaitingShipped=Nháp hoặc đã xác nhận nhưng chưa vận chuyển MenuOrdersToBill=Đơn hàng đã giao diff --git a/htdocs/langs/vi_VN/productbatch.lang b/htdocs/langs/vi_VN/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/vi_VN/productbatch.lang +++ b/htdocs/langs/vi_VN/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/vi_VN/products.lang b/htdocs/langs/vi_VN/products.lang index eb6a21adcba..ec161d09574 100644 --- a/htdocs/langs/vi_VN/products.lang +++ b/htdocs/langs/vi_VN/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Mã kế toán (bán) ProductOrService=Sản phẩm hoặc dịch vụ ProductsAndServices=Sản phẩm và dịch vụ ProductsOrServices=Sản phẩm hoặc dịch vụ -ProductsAndServicesOnSell=Sản phẩm và dịch vụ có sẵn -ProductsAndServicesNotOnSell=Sản phẩm và dịch vụ lỗi thời +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=Thống kê Sản phẩm và Dịch vụ ProductsStatistics=Thống kê Sản phẩm -ProductsOnSell=Sản phẩm có sẵn -ProductsNotOnSell=Sản phẩm lỗi thời -ProductsOnSellAndOnBuy=Sản phẩm không phải để bán cũng không mua -ServicesOnSell=Dịch vụ có sẵn -ServicesNotOnSell=Dịch vụ lỗi thời -ServicesOnSellAndOnBuy=Dịch vụ không phải để bán cũng không mua +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Tham khảo nội bộ LastRecorded=Sản phẩm/dịch vụ được bán cuối cùng LastRecordedProductsAndServices=Sản phẩm/dịch vụ %s được ghi cuối cùng @@ -198,7 +198,7 @@ HelpAddThisServiceCard=Tùy chọn này cho phép bạn tạo ra hoặc sao ché CurrentProductPrice=Giá hiện tại AlwaysUseNewPrice=Luôn luôn sử dụng giá hiện tại của sản phẩm / dịch vụ AlwaysUseFixedPrice=Sử dụng giá cố định -PriceByQuantity=Giá bán theo số lượng +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Phạm vi số lượng ProductsDashboard=Tóm tắt Sản phẩm / dịch vụ UpdateOriginalProductLabel=Sửa đổi nhãn gốc @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Định nghĩa của loại hoặc g BarCodeDataForProduct=Thông tin mã vạch của sản phẩm %s: BarCodeDataForThirdparty=Thông tin mã vạch của bên thứ ba của %s: ResetBarcodeForAllRecords=Xác định giá trị mã vạch cho tất cả các hồ sơ (cũng sẽ thiết lập lại giá trị này đã được xác định mã vạch với các giá trị mới) -PriceByCustomer=Giá bán của khách hàng +PriceByCustomer=Different price for each customer PriceCatalogue=Giá duy nhất cho mỗi sản phẩm / dịch vụ -PricingRule=Quy định giá +PricingRule=Rules for customer prices AddCustomerPrice=Thêm giá của khách hàng ForceUpdateChildPriceSoc=Đặt giá trên cùng một công ty con của khách hàng PriceByCustomerLog=Giá bán của khách hàng đăng nhập @@ -244,6 +244,9 @@ MinimumPriceLimit=Giá tối thiểu không thấp hơn %s MinimumRecommendedPrice=Giá đề nghị tối thiểu là: %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/vi_VN/projects.lang b/htdocs/langs/vi_VN/projects.lang index a6ccfac4cf2..d06e3d14f88 100644 --- a/htdocs/langs/vi_VN/projects.lang +++ b/htdocs/langs/vi_VN/projects.lang @@ -3,6 +3,7 @@ RefProject=Tài liệu tham khảo. dự án ProjectId=Mã dự án Project=Dự án Projects=Các dự án +ProjectStatus=Project status SharedProject=Mọi người PrivateProject=Liên lạc về dự án MyProjectsDesc=Phần xem này được giới hạn với từng dự án phụ thuộc vào phần bạn có liên hệ với (đối với bất kỳ loại dự án nào). @@ -11,7 +12,6 @@ ProjectsDesc=Phần xem này hiển thị tất cả các dự án (quyền ngư MyTasksDesc=Phần xem này bị giới hạn với các dự án hoặc tác vụ mà bạn có mối liên hệ với (bất kỳ loại dự án nào). TasksPublicDesc=Phần xem này hiển thị tất cả dự án và tác vụ mà bạn được phép theo dõi. TasksDesc=Phần xem này hiển thị tất cả các dự án và tác vụ (quyền người dùng của bạn hiện đang cho phép bạn xem tất cả thông tin). -Myprojects=Dự án của tôi ProjectsArea=Khu vực dự án NewProject=Dự án mới AddProject=Tạo dự án @@ -103,6 +103,7 @@ CloneContacts=Nhân bản liên lạc CloneNotes=Nhân bản các ghi chú CloneProjectFiles=Dự án Clone tham gia các tập tin CloneTaskFiles=Clone nhiệm vụ (các) tập tin tham gia (nếu nhiệm vụ (các) nhân bản vô tính) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Bạn có chắc rằng bạn muốn nhân bản dự án này? ProjectReportDate=Thay đổi thời gian tác vụ theo thời gian bắt đầu dự án ErrorShiftTaskDate=Không thể dịch chuyển ngày của phần tác vụ dựa theo ngày bắt đầu của dự án mới diff --git a/htdocs/langs/vi_VN/sendings.lang b/htdocs/langs/vi_VN/sendings.lang index b37fed33b8e..94e807f91b5 100644 --- a/htdocs/langs/vi_VN/sendings.lang +++ b/htdocs/langs/vi_VN/sendings.lang @@ -4,7 +4,8 @@ Sending=Lô hàng Sendings=Lô hàng Shipment=Lô hàng Shipments=Lô hàng -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=Diện tích lô hàng ListOfSendings=Danh sách các lô hàng SendingMethod=Phương thức vận chuyển @@ -14,7 +15,7 @@ SearchASending=Tìm kiếm hàng StatisticsOfSendings=Thống kê cho lô hàng NbOfSendings=Số lô hàng NumberOfShipmentsByMonth=Số lô hàng theo tháng -SendingCard=Thẻ vận chuyển +SendingCard=Shipment card NewSending=Lô hàng mới CreateASending=Tạo một lô hàng CreateSending=Tạo lô hàng @@ -37,7 +38,7 @@ StatusSendingCanceledShort=Hủy bỏ StatusSendingDraftShort=Dự thảo StatusSendingValidatedShort=Xác nhận StatusSendingProcessedShort=Xử lý -SendingSheet=Gửi tờ +SendingSheet=Shipment sheet Carriers=Các hãng tàu Carrier=Nhà cung cấp CarriersArea=Khu vực các tàu sân bay @@ -58,11 +59,15 @@ SendShippingRef=Nộp hàng% s ActionsOnShipping=Các sự kiện trên lô hàng LinkToTrackYourPackage=Liên kết để theo dõi gói của bạn ShipmentCreationIsDoneFromOrder=Đối với thời điểm này, tạo ra một lô hàng mới được thực hiện từ thẻ thứ tự. -RelatedShippings=Shippings liên quan +RelatedShippings=Related shipments ShipmentLine=Đường vận chuyển CarrierList=Danh sách vận chuyển -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=Catch của khách hàng diff --git a/htdocs/langs/vi_VN/stocks.lang b/htdocs/langs/vi_VN/stocks.lang index 304832413e7..a78e65a63b8 100644 --- a/htdocs/langs/vi_VN/stocks.lang +++ b/htdocs/langs/vi_VN/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=WAP EnhancedValueOfWarehouses=Các kho hàng giá trị UserWarehouseAutoCreate=Tạo một kho tự động khi tạo một người sử dụng QtyDispatched=Số lượng cử +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Điều phối kho RuleForStockManagementDecrease=Quy tắc cho quản lý kho giảm RuleForStockManagementIncrease=Quy tắc cho tăng quản lý kho @@ -59,7 +61,7 @@ ReStockOnValidateOrder=Tăng tồn kho thực sự tán thành đơn đặt hàn ReStockOnDispatchOrder=Tăng tồn kho thực trên dẫn điều phối vào kho, sau khi tiếp nhận đơn đặt hàng nhà cung cấp ReStockOnDeleteInvoice=Tăng tồn kho thực trên xóa hóa đơn OrderStatusNotReadyToDispatch=Đặt hàng vẫn chưa hoặc không có thêm một trạng thái cho phép điều phối các sản phẩm trong kho kho. -StockDiffPhysicTeoric=Lý do cho tồn kho khác biệt về thể chất và lý thuyết +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=Không có sản phẩm được xác định trước cho đối tượng này. Vì vậy, không có điều phối trong kho là bắt buộc. DispatchVerb=Công văn StockLimitShort=Hạn cảnh báo @@ -116,10 +118,15 @@ MassMovement=Chuyển kho toàn bộ MassStockMovement=Chuyển kho toàn bộ SelectProductInAndOutWareHouse=Chọn một sản phẩm, một số lượng lớn, kho nguồn và một kho hàng mục tiêu, sau đó nhấp vào "% s". Một khi điều này được thực hiện với mọi hoạt động cần thiết, kích vào "% s". RecordMovement=Ghi transfert -ReceivingForSameOrder=Receivings về đơn hàng này +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Chuyển động kho được ghi nhận RuleForStockAvailability=Quy định về yêu cầu kho StockMustBeEnoughForInvoice=Mức tồn kho phải đủ để thêm sản phẩm / dịch vụ vào hóa đơn StockMustBeEnoughForOrder=Mức tồn kho phải đủ để thêm sản phẩm / dịch vụ vào nề nếp StockMustBeEnoughForShipment= Mức tồn kho phải đủ để thêm sản phẩm / dịch vụ vào lô hàng - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/vi_VN/suppliers.lang b/htdocs/langs/vi_VN/suppliers.lang index 39ad630c510..44feaea27fe 100644 --- a/htdocs/langs/vi_VN/suppliers.lang +++ b/htdocs/langs/vi_VN/suppliers.lang @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=Không có hoặc hàng loạt% s không chạy g SentToSuppliers=Gửi đến nhà cung cấp ListOfSupplierOrders=Danh sách các đơn đặt hàng nhà cung cấp MenuOrdersSupplierToBill=Đơn đặt hàng nhà cung cấp cho hóa đơn +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/vi_VN/withdrawals.lang b/htdocs/langs/vi_VN/withdrawals.lang index 846f80ab12d..e363452059b 100644 --- a/htdocs/langs/vi_VN/withdrawals.lang +++ b/htdocs/langs/vi_VN/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Về tín dụng WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=Hiện Rút IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Tuy nhiên, nếu hóa đơn có ít nhất một thanh toán rút chưa qua chế biến, nó sẽ không được thiết lập như là trả tiền để cho phép quản lý thu hồi trước. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Thu hồi tập tin SetToStatusSent=Thiết lập để tình trạng "File gửi" ThisWillAlsoAddPaymentOnInvoice=Điều này cũng sẽ áp dụng chi trả cho các hóa đơn và sẽ phân loại là "Đã thanh toán" diff --git a/htdocs/langs/vi_VN/workflow.lang b/htdocs/langs/vi_VN/workflow.lang index 1e92c9c1396..b54583b5294 100644 --- a/htdocs/langs/vi_VN/workflow.lang +++ b/htdocs/langs/vi_VN/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Thiết lập mô-đun công việc -WorkflowDesc=Module này được thiết kế để thay đổi hành vi của các hành động tự động vào ứng dụng. Theo mặc định, quy trình làm việc được mở ra (bạn thực hiện điều theo thứ tự bạn muốn). Bạn có thể kích hoạt các hành động tự động mà bạn là thú vị trong. +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=Không có công việc, bạn có thể thay đổi cho mô-đun bạn đã kích hoạt. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Tạo ra một đơn đặt hàng tự động sau một đề nghị thương mại được ký kết descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Tạo ra một hóa đơn khách hàng tự động sau một đề nghị thương mại được ký kết diff --git a/htdocs/langs/zh_CN/accountancy.lang b/htdocs/langs/zh_CN/accountancy.lang index fc37725f98e..47bd7f800b4 100644 --- a/htdocs/langs/zh_CN/accountancy.lang +++ b/htdocs/langs/zh_CN/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=配置"会计专家模块" Journaux=日记帐 JournalFinancial=财经杂志 Exports=出口 +Export=Export Modelcsv=出口型号 +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=选择一个“导出模型” Modelcsv_normal=典型的导出 Modelcsv_CEGID=出口对Cegid的专家 @@ -66,7 +68,7 @@ Lineofinvoice=发票行 VentilatedinAccount=在会计账户成功通风 NotVentilatedinAccount=不通风的会计账户 -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/zh_CN/admin.lang b/htdocs/langs/zh_CN/admin.lang index aa7361675a0..ed3f62b3a6c 100644 --- a/htdocs/langs/zh_CN/admin.lang +++ b/htdocs/langs/zh_CN/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=请勿用于生产环境 ThisIsProcessToFollow=以下为软体的安装过程: StepNb=第 %s 步骤 FindPackageFromWebSite=搜索你需要的功能(例如在官方 %s )。 -DownloadPackageFromWebSite=下载软件包。 +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=解压缩到 Dolibarr 的根目录 %s 下 SetupIsReadyForUse=安装完成,Dolibarr 已可以使用此新组件。 NotExistsDirect=未设置可选备用根目录。
@@ -304,6 +304,7 @@ YouCanSubmitFile=选择模块: CurrentVersion=Dolibarr 当前版本 CallUpdatePage=请到数据库的结构和数据更新页面:%s。 LastStableVersion=最新的稳定版本 +UpdateServerOffline=Update server offline GenericMaskCodes=您可自由设置格式掩码。在 %s 格式掩码中, 有如下计数标记可用:
{000000}表示按顺序递增的序号。序号位数与掩码中0的个数相同,不足自动补零,达最大值后自动归零。
{000000+000} 同上但 %s 起始序号从 + 后的数值记起。
{000000@x} 与第一种相同,但序号到X月时自动清零(x=1~12 、0=程序设置中的财年起始月、99=每月清零)。 如果使用此种掩码且 x >= 2 ,则必须同时使用日期掩码 {yy}{mm} 或 {yyyy}{mm}。
{dd} 天 (01~31)。
{mm} 月 (01~12)。
{yy}{yyyy}{y} 代表 2位, 4位 或 1 位年。

GenericMaskCodes2={cccc} n个字符,客户端代码
{cccc000}上的n个字符的客户端代码后面是一个专门用于客户计数器。此计数器将比较全局计数器相同时间为用户进行复位。
{tttt}第三方类型的n个字符(见词典第三方类型)的代码。
GenericMaskCodes3=其它非标记字符将维持不变。
不允许使用空格
@@ -382,10 +383,12 @@ ExtrafieldSelectList = 从表格中选取 ExtrafieldSeparator=分隔符 ExtrafieldCheckBox=复选框 ExtrafieldRadio=单选框 +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=在一些国家,每个账单行有 2 或 3 项税。(大陆不适用)如果是这样,请选择第二和第三项税的类型及税率。Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=导出干预措施 Permission71=阅读成员 Permission72=建立/修改成员 Permission74=删除成员 -Permission75=安装类型和成员属性 +Permission75=Setup types of membership Permission76=导出数据 Permission78=阅读订阅 Permission79=建立/修改订阅 @@ -595,8 +598,8 @@ Permission106=导出发货单 Permission109=删除发货单 Permission111=阅读财务帐目 Permission112=建立/修改/删除和比较交易 -Permission113=设置财务账户(建立,管理类别) -Permission114=合并交易 +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=导出交易和帐户报表 Permission116=帐户之间转帐 Permission117=支票调度管理 @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=查看商业利润 Permission59002=确定商业利润 +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=通过电邮发送的设置 SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). PathToDocuments=文件路径 PathDirectory=目录 -SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by thoose bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommanded) is to use the method "SMTP socket library" that has no disadvantages. +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=您正在使用 %s 浏览器。这个浏览器安全和性能都ok BrowserIsKO=您正在使用 %s 浏览器。这个浏览器的安全性,性能和可靠性都不错。我们推荐您使用火狐,Chrome,Opera和Safari。 XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache已经加载。 -AddRefInList=显示客户/供应商参考列表(选择列表或组合框)和大部分超级链接 +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes i FreeLegalTextOnOrders=订单中的额外说明文本 WatermarkOnDraftOrders=为订单草稿加水印(如果空) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=点击拨号模块设置 ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with your clicktodial login (defined on your user card)
__PASS__ that will be replaced with your clicktodial password (defined on your user card). @@ -1392,6 +1397,7 @@ RSSUrlExample=感兴趣的 RSS 源 MailingSetup=电邮发送模块设置 MailingEMailFrom=邮件模块所使用的邮件发件人 MailingEMailError=对错误的电子邮件发送错误通知邮件(慎用避免循环退信造成IP拉入黑名单) +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=通知模块所使用的邮件发件人 @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=发货单模块设置 SendingsReceiptModel=发货单据模板 SendingsNumberingModules=发货单编号模块 -SendingsAbility=发货单支持客户收货回执功能 +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=通常发货单同时被用来作为发货清单和收货回执,由客户接收并签字。所以产品收货回执/交付回执是此功能的重复,很少使用。 -FreeLegalTextOnShippings=发货单中的额外说明文本 +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=收货回执编号模块 DeliveryOrderModel=收货回执模块 @@ -1414,7 +1420,7 @@ AdvancedEditor=高级编辑 ActivateFCKeditor=为以下为功能启用高级编辑器功能: FCKeditorForCompany=描述及注解采用所见即所得的方式建立或编辑(不含产品及服务) FCKeditorForProduct=产品/服务的描述及注解采用所见即所得的方式建立或编辑 -FCKeditorForProductDetails=以所见即所得方式创建/编辑产品及所有文档(报价、订单、账单等...)的详情。警告: 此项功能不推荐使用,因为可能造成PDF文档中的特殊字符和页面排版问题。 +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= 以所见即所得方式创建/编辑群发邮件(工具->电邮寄送) FCKeditorForUserSignature=以所见即所得方式创建/编辑用户签名 FCKeditorForMail=以所见即所得方式创建/编辑所有邮件(工具->电邮寄送 除外) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=格式 TypePaymentDesc=0:客户支付类型,1:供应商支付类型,2:客户和供应商的付款方式 +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/zh_CN/agenda.lang b/htdocs/langs/zh_CN/agenda.lang index 50054428dab..4e379a7415c 100644 --- a/htdocs/langs/zh_CN/agenda.lang +++ b/htdocs/langs/zh_CN/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=客户订单通过电子邮件发送%s InvoiceSentByEMail=客户发票通过电子邮件发送%s SupplierOrderSentByEMail=供应商的订单通过电子邮件发送%s SupplierInvoiceSentByEMail=供应商的发票通过电子邮件发送%s -ShippingSentByEMail=通过电子邮件发送的航运%s -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= 第三方创建 DateActionPlannedStart= 计划开始日期 DateActionPlannedEnd= 计划结束日期 @@ -68,7 +69,7 @@ DateActionDoneEnd= 真正的结束日期 DateActionStart= 开始日期 DateActionEnd= 结束日期 AgendaUrlOptions1=您还可以添加以下参数来筛选输出: -AgendaUrlOptions2=login=%s 表示限制只导出创造用户,受影响用户或使用者或执行者为%s的待办事项。 +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=%s表示限制只导出使用者与受影响者为%s的待办事项。 AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/zh_CN/banks.lang b/htdocs/langs/zh_CN/banks.lang index 8906296303b..a5c26c5a4ac 100644 --- a/htdocs/langs/zh_CN/banks.lang +++ b/htdocs/langs/zh_CN/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=帐户 FinancialAccounts=帐目 BankAccount=银行帐户 BankAccounts=银行帐户 +ShowAccount=Show Account AccountRef=金融帐号 AccountLabel=金融帐户标签 CashAccount=现金帐户 diff --git a/htdocs/langs/zh_CN/bills.lang b/htdocs/langs/zh_CN/bills.lang index 18c59db625f..873e55377a3 100644 --- a/htdocs/langs/zh_CN/bills.lang +++ b/htdocs/langs/zh_CN/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=发票 Bills=发票 -BillsCustomers=客户的发票 -BillsCustomer=客户的发票 -BillsSuppliers=供应商的发票 -BillsCustomersUnpaid=未付客户的发票 +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=为%无偿客户的发票s BillsSuppliersUnpaid=未付供应商的发票 BillsSuppliersUnpaidForCompany=%s未付供应商的发票 BillsLate=逾期付款 -BillsStatistics=客户的发票统计 -BillsStatisticsSuppliers=供应商的发票统计 +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=禁用,因为不能被擦除 InvoiceStandard=标准发票 InvoiceStandardAsk=标准发票 @@ -348,6 +348,7 @@ ChequeNumber=检查ñ ° ChequeOrTransferNumber=支票/转账ñ ° ChequeMaker=检查发射机 ChequeBank=银行检查 +CheckBank=Check NetToBePaid=网,以支付 PhoneNumber=电话 FullPhoneNumber=电话 @@ -388,7 +389,7 @@ DisabledBecausePayments=不可能的,因为有一些付款 CantRemovePaymentWithOneInvoicePaid=无法删除,因为至少有付款发票分类所许 ExpectedToPay=预期付款 PayedByThisPayment=氟离子选择电极通过此付款 -ClosePaidInvoicesAutomatically=分类“支付最高”的所有entirely支付最高标准或更换发票。 +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=分类“付费”的所有信贷注意到完全支付。 AllCompletelyPayedInvoiceWillBeClosed=所有发票仍然没有支付将被自动关闭状态“支付最高”。 ToMakePayment=支付 @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=代表随访供应商发票 TypeContact_invoice_supplier_external_BILLING=供应商发票接触 TypeContact_invoice_supplier_external_SHIPPING=航运供应商联系 TypeContact_invoice_supplier_external_SERVICE=服务供应商联系 +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/zh_CN/compta.lang b/htdocs/langs/zh_CN/compta.lang index 1386b63e55c..efed455e7a9 100644 --- a/htdocs/langs/zh_CN/compta.lang +++ b/htdocs/langs/zh_CN/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=营业额 PaymentsNotLinkedToInvoice=付款不链接到任何发票,所以无法与任何第三方关联 PaymentsNotLinkedToUser=付款不链接到任何用户 Profit=利润 +AccountingResult=Accounting result Balance=平衡 Debit=借方 Credit=贷方 diff --git a/htdocs/langs/zh_CN/cron.lang b/htdocs/langs/zh_CN/cron.lang index 85476b74a5c..6c5880d43a0 100644 --- a/htdocs/langs/zh_CN/cron.lang +++ b/htdocs/langs/zh_CN/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/zh_CN/ecm.lang b/htdocs/langs/zh_CN/ecm.lang index 8ee2bbb3c3d..49bfd7dedba 100644 --- a/htdocs/langs/zh_CN/ecm.lang +++ b/htdocs/langs/zh_CN/ecm.lang @@ -43,6 +43,8 @@ ECMDocsByContracts=文件与合约 ECMDocsByInvoices=文件与客户发票 ECMDocsByProducts=文件与产品 ECMDocsByProjects=文件关联到项目 +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions ECMNoDirectoryYet=没有目录中创建 ShowECMSection=显示目录 DeleteSection=删除目录 diff --git a/htdocs/langs/zh_CN/errors.lang b/htdocs/langs/zh_CN/errors.lang index 1a9cf940bfd..bae0d3f806d 100644 --- a/htdocs/langs/zh_CN/errors.lang +++ b/htdocs/langs/zh_CN/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=模块设置,看起来是uncomplete的。进入设 ErrorBadMask=在面具的错误 ErrorBadMaskFailedToLocatePosOfSequence=没有序列号错误,面具 ErrorBadMaskBadRazMonth=错误,坏的复位值 +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=错误。选择至少一个条目。 ErrorProductWithRefNotExist=参考“%s”产品不存在 ErrorDeleteNotPossibleLineIsConsolidated=删除没有可能的,因为记录是调解到的银行transation, @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=强制设置参数尚未定义 diff --git a/htdocs/langs/zh_CN/install.lang b/htdocs/langs/zh_CN/install.lang index c8f2f92d154..fa94910fb70 100644 --- a/htdocs/langs/zh_CN/install.lang +++ b/htdocs/langs/zh_CN/install.lang @@ -155,6 +155,7 @@ MigrationFinished=迁移完成 LastStepDesc=最后一步 :此处定义的登录名和密码,您打算使用连接到软件。不松,因为它是帐户管理所有其他。 ActivateModule=激活模块%s ShowEditTechnicalParameters=点击此处显示/编辑高级参数(专家模式) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=更新时间花费在几秒钟内 MigrationActioncommElement=在行动上的更新数据 MigrationPaymentMode=付款方式的数据迁移 MigrationCategorieAssociation=迁移类别 +MigrationEvents=Migration of events to add event owner into assignement table -ShowNotAvailableOptions=Show not available options -HideNotAvailableOptions=Hide not available options +ShowNotAvailableOptions=显示不可用的选项 +HideNotAvailableOptions=隐藏不可用的选项 diff --git a/htdocs/langs/zh_CN/languages.lang b/htdocs/langs/zh_CN/languages.lang index 7f3f8fd36d7..9de9d6802f6 100644 --- a/htdocs/langs/zh_CN/languages.lang +++ b/htdocs/langs/zh_CN/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=德语(奥地利) Language_de_CH=German (Switzerland) Language_el_GR=希腊语 Language_en_AU=英语(Australie) +Language_en_CA=English (Canada) Language_en_GB=英语(英国) Language_en_IN=英国(印度) Language_en_NZ=英语(新西兰) diff --git a/htdocs/langs/zh_CN/main.lang b/htdocs/langs/zh_CN/main.lang index 6829f2fb346..e46b3e779e3 100644 --- a/htdocs/langs/zh_CN/main.lang +++ b/htdocs/langs/zh_CN/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=yyyy/MM/dd FormatDateShortJavaInput=yyyy/MM/dd FormatDateShortJQuery=yy/mm/dd FormatDateShortJQueryInput=yy/mm/dd +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=错误,无法保存文件。 SetDate=Set date SelectDate=Select a date SeeAlso=另请参阅 %s +SeeHere=See here BackgroundColorByDefault=默认的背景颜色 FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=用户 Users=用户 Group=组 Groups=团体 +NoUserGroupDefined=No user group defined Password=密码 PasswordRetype=重新输入您的密码 NoteSomeFeaturesAreDisabled=请注意,很多功能/模块在这次示威禁用。 @@ -258,6 +261,7 @@ days=天 Hours=时间 Minutes=纪要 Seconds=秒 +Weeks=Weeks Today=今日 Yesterday=昨天 Tomorrow=明天 @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=星期一 Tuesday=星期二 diff --git a/htdocs/langs/zh_CN/margins.lang b/htdocs/langs/zh_CN/margins.lang index c348b547321..ed5581c71ad 100644 --- a/htdocs/langs/zh_CN/margins.lang +++ b/htdocs/langs/zh_CN/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=产品/服务 AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/zh_CN/orders.lang b/htdocs/langs/zh_CN/orders.lang index 02ee548183d..280b701742f 100644 --- a/htdocs/langs/zh_CN/orders.lang +++ b/htdocs/langs/zh_CN/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=供应商的订单 SuppliersOrders=供应商的订单 SuppliersOrdersRunning=当前供应商的订单 CustomerOrder=客户订单 -CustomersOrders=客户的订单 +CustomersOrders=Customers orders CustomersOrdersRunning=当前客户的订单 CustomersOrdersAndOrdersLines=客户订单和订单行 -OrdersToValid=客户订单验证 -OrdersToBill=已发货订单 -OrdersInProcess=处理中的客户订单 -OrdersToProcess=待处理客户订单 +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=待处理供应商订单 StatusOrderCanceledShort=已取消 StatusOrderDraftShort=草案 StatusOrderValidatedShort=已验证 StatusOrderSentShort=处理中 StatusOrderSent=船运处理中 -StatusOrderOnProcessShort=论过程 +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=处理中 StatusOrderToBillShort=已递送 StatusOrderToBill2Short=待付账 @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=全部收到 StatusOrderCanceled=已取消 StatusOrderDraft=草案(需要验证) StatusOrderValidated=已验证 -StatusOrderOnProcess=等待接收 +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=已处理 StatusOrderToBill=已递送 StatusOrderToBill2=待付账 @@ -50,6 +50,8 @@ StatusOrderRefused=已拒绝 StatusOrderReceivedPartially=部分收到 StatusOrderReceivedAll=全部收到 ShippingExist=航运存在 +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=草案或尚未批准的订单 DraftOrWaitingShipped=草案或尚未验证的船运 MenuOrdersToBill=已发货订单 diff --git a/htdocs/langs/zh_CN/productbatch.lang b/htdocs/langs/zh_CN/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/zh_CN/productbatch.lang +++ b/htdocs/langs/zh_CN/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/zh_CN/products.lang b/htdocs/langs/zh_CN/products.lang index d308f2dbaa5..5ee6af20ff5 100644 --- a/htdocs/langs/zh_CN/products.lang +++ b/htdocs/langs/zh_CN/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=会计代码 (销售) ProductOrService=产品/服务 ProductsAndServices=产品和服务 ProductsOrServices=产品或服务 -ProductsAndServicesOnSell=可用的产品和服务 -ProductsAndServicesNotOnSell=淘汰的产品和服务 +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=产品和服务统计 ProductsStatistics=产品统计数据 -ProductsOnSell=可用产品 -ProductsNotOnSell=淘汰产品 -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=可用服务 -ServicesNotOnSell=淘汰服务 -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=内部编号 LastRecorded=最近销售的产品/服务 LastRecordedProductsAndServices=最近添加的 %s 项产品/服务 @@ -198,7 +198,7 @@ HelpAddThisServiceCard=如果所需的服务不存在,此项可以创建或复 CurrentProductPrice=当前价格 AlwaysUseNewPrice=始终使用产品/服务的当前价格 AlwaysUseFixedPrice=使用固定价格 -PriceByQuantity=按数量定价 +PriceByQuantity=Different prices by quantity PriceByQuantityRange=定量范围 ProductsDashboard=产品/服务总结 UpdateOriginalProductLabel=修改原有标签 @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/zh_CN/projects.lang b/htdocs/langs/zh_CN/projects.lang index cb9cecbc481..7ce7b5665e7 100644 --- a/htdocs/langs/zh_CN/projects.lang +++ b/htdocs/langs/zh_CN/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=项目 Projects=项目 +ProjectStatus=Project status SharedProject=每个人 PrivateProject=项目联系人 MyProjectsDesc=这种观点是有限的项目你是一个接触(不管是类型)。 @@ -11,7 +12,6 @@ ProjectsDesc=这种观点提出的所有项目(你的用户权限批准你认 MyTasksDesc=这种观点是有限的项目或任务你是一个接触(不管是类型)。 TasksPublicDesc=这种观点提出的所有项目,您可阅读任务。 TasksDesc=这种观点提出的所有项目和任务(您的用户权限批准你认为一切)。 -Myprojects=我的项目 ProjectsArea=项目领域 NewProject=新项目 AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=克隆往来 CloneNotes=克隆票据 CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=你一定要克隆这个项目? ProjectReportDate=更改任务的日期,根据项目的开始日期 ErrorShiftTaskDate=根据新项目的开始日期,不可能的改变任务日期 diff --git a/htdocs/langs/zh_CN/sendings.lang b/htdocs/langs/zh_CN/sendings.lang index b3b6e2e2c1b..d498aa8ead8 100644 --- a/htdocs/langs/zh_CN/sendings.lang +++ b/htdocs/langs/zh_CN/sendings.lang @@ -4,7 +4,8 @@ Sending=装船 Sendings=出货 Shipment=装船 Shipments=出货 -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=出货面积 ListOfSendings=名单sendings SendingMethod=送货方式 @@ -14,7 +15,7 @@ SearchASending=搜索装运 StatisticsOfSendings=统计出货量 NbOfSendings=出货数量 NumberOfShipmentsByMonth=每月的出货数量 -SendingCard=船舶卡 +SendingCard=Shipment card NewSending=新装运 CreateASending=创建一个货件 CreateSending=创建货件 @@ -37,7 +38,7 @@ StatusSendingCanceledShort=取消 StatusSendingDraftShort=草案 StatusSendingValidatedShort=验证 StatusSendingProcessedShort=加工 -SendingSheet=发送表 +SendingSheet=Shipment sheet Carriers=载体 Carrier=载波 CarriersArea=运营商领域 @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=对装运的事件 LinkToTrackYourPackage=链接到追踪您的包裹 ShipmentCreationIsDoneFromOrder=就目前而言,建立一个新的装运完成从订单卡。 -RelatedShippings=相关运送 +RelatedShippings=Related shipments ShipmentLine=航线 CarrierList=转运列表 -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=按客户捕捉 diff --git a/htdocs/langs/zh_CN/stocks.lang b/htdocs/langs/zh_CN/stocks.lang index 8c7df3be823..b9a37e83685 100644 --- a/htdocs/langs/zh_CN/stocks.lang +++ b/htdocs/langs/zh_CN/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=的WAP EnhancedValueOfWarehouses=仓库价值 UserWarehouseAutoCreate=创建一个股票时自动创建一个用户 QtyDispatched=派出数量 +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=联合调度 RuleForStockManagementDecrease=为减少库存管理规则 RuleForStockManagementIncrease=增加的库存管理规则 @@ -59,7 +61,7 @@ ReStockOnValidateOrder=对供应商的订单增加赞许(警告在此版本中 ReStockOnDispatchOrder=增加人工调度到仓库供应商接到订单后,实时股票 ReStockOnDeleteInvoice=增加发票缺失的实际库存 OrderStatusNotReadyToDispatch=命令还没有或根本没有更多的地位,使产品在仓库库存调度。 -StockDiffPhysicTeoric=股票差异的原因和理论物理 +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=此对象没有预定义的产品。因此,没有库存调度是必需的。 DispatchVerb=派遣 StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/zh_CN/suppliers.lang b/htdocs/langs/zh_CN/suppliers.lang index 18940213370..e03729ca861 100644 --- a/htdocs/langs/zh_CN/suppliers.lang +++ b/htdocs/langs/zh_CN/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=供应商 Supplier=供应商 -AddSupplier=新增供应商 +AddSupplier=Create a supplier SupplierRemoved=供应商删除 SuppliersInvoice=供应商发票 NewSupplier=新供应商 @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=无或批处理%不是最近跑 SentToSuppliers=发送到供应商 ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/zh_CN/withdrawals.lang b/htdocs/langs/zh_CN/withdrawals.lang index fa4949d1971..cc24d8029c4 100644 --- a/htdocs/langs/zh_CN/withdrawals.lang +++ b/htdocs/langs/zh_CN/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=信贷 WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=显示撤柜 IfInvoiceNeedOnWithdrawPaymentWontBeClosed=然而,如果发票已至少有一个撤出支付尚未处理的,它不会被设置为支付最高允许管理撤出之前。 -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=撤回文件 SetToStatusSent=设置状态“发送的文件” ThisWillAlsoAddPaymentOnInvoice=这也将创造在付款发票上,将它们归类支付 diff --git a/htdocs/langs/zh_CN/workflow.lang b/htdocs/langs/zh_CN/workflow.lang index 1a5f3ceba1d..8312fbfea84 100644 --- a/htdocs/langs/zh_CN/workflow.lang +++ b/htdocs/langs/zh_CN/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=工作流模块的设置 -WorkflowDesc=这个模块是设计修改申请自动操作的行为。默认情况下,工作流被打开(你做的事情,你想要的顺序)。您有兴趣可以启用自动操作。 +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=没有工作流程,您可以修改你已激活的模块。 descWORKFLOW_PROPAL_AUTOCREATE_ORDER=商业提案签署后自动创建一个客户订单 descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=商业提案签署后自动创建一个客户发票 descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=创建一个客户发票,合同验证后自动 descWORKFLOW_ORDER_AUTOCREATE_INVOICE=创建一个客户发票,客户订单后自动关闭 descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=分类链接来源建议,建立客户订单时设置支付 -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/zh_TW/accountancy.lang b/htdocs/langs/zh_TW/accountancy.lang index 39c2732ec29..bb9b358c045 100644 --- a/htdocs/langs/zh_TW/accountancy.lang +++ b/htdocs/langs/zh_TW/accountancy.lang @@ -13,7 +13,9 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals Exports=Exports +Export=Export Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export Modelcsv_CEGID=Export towards CEGID Expert @@ -66,7 +68,7 @@ Lineofinvoice=Line of invoice VentilatedinAccount=Ventilated successfully in the accounting account NotVentilatedinAccount=Not ventilated in the accounting account -ACCOUNTING_SEPARATORCSV=Separator CSV +ACCOUNTING_SEPARATORCSV=Column separator in export file ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements diff --git a/htdocs/langs/zh_TW/admin.lang b/htdocs/langs/zh_TW/admin.lang index 55ae292a37f..7c22ab166f0 100644 --- a/htdocs/langs/zh_TW/admin.lang +++ b/htdocs/langs/zh_TW/admin.lang @@ -294,7 +294,7 @@ DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=以下為軟體安裝的過程: StepNb=第 %s 步驟 FindPackageFromWebSite=從網站尋找你想要擴充的主題、模組(可上 %s 網站參考)。 -DownloadPackageFromWebSite=下載軟體升級(擴充)用的壓縮檔。 +DownloadPackageFromWebSite=Download package %s. UnpackPackageInDolibarrRoot=解壓縮到 %Dolibarr 目錄下 SetupIsReadyForUse=安裝完成,此時此系統軟體已經可以開始使用擴充的部分。 NotExistsDirect=The alternative root directory is not defined.
@@ -304,6 +304,7 @@ YouCanSubmitFile=Select module: CurrentVersion=此系統軟體(Dolibarr)目前版本 CallUpdatePage=請到 %s 網頁更新資料庫結構及其資料。 LastStableVersion=最新的穩定版本 +UpdateServerOffline=Update server offline GenericMaskCodes=這個編碼模組使用方式如下:
1. {000000}表示每個 %s 編碼會依據此參數產生序號字串,且會自動遞增。有多少個0就表示序號字串有多長,滿最大值會自動歸0。
2. {000000+000} 同上面第一條,但是多了 offset 功能,也就第一筆 %s 編碼的起始序號會根據 + 號後面的參數而定。
3. {000000@x} 同上面第一條,但是每當為新的月份時,會將序號歸0。如果使用兩個x 則必需要有 {yy}{mm} 或 {yyyy}{mm} 參數。
{dd} 表示天 (01 to 31).
{mm} 表示月 (01 to 12)
{yy}, {yyyy} or {y} 表示用多少位數顯示年
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=非遮罩字元的則該字元維持不變,也就是 A 就是 A,Z 就是 Z
注意:不允許空白字元
@@ -382,10 +383,12 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table ExtrafieldParamHelpselect=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
...

In order to have the list depending on another :
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpradio=Parameters list have to be like key,value

for example :
1,value1
2,value2
3,value3
... ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (vat is not applied on local tax)
2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
3 : local tax apply on products without vat (vat is not applied on local tax)
4 : local tax apply on products before vat (vat is calculated on amount + localtax)
5 : local tax apply on services without vat (vat is not applied on local tax)
6 : local tax apply on services before vat (vat is calculated on amount + localtax) @@ -572,7 +575,7 @@ Permission67=出口乾預措施 Permission71=閲讀成員 Permission72=建立/修改成員 Permission74=刪除成員 -Permission75=安裝類型和成員屬性 +Permission75=Setup types of membership Permission76=出口達塔斯 Permission78=閲讀訂閲 Permission79=建立/修改訂閲 @@ -595,8 +598,8 @@ Permission106=Export sendings Permission109=刪除出貨單 Permission111=閲讀財務帳目 Permission112=建立/修改/刪除和比較交易 -Permission113=安裝程序(建立,管理類financiel帳戶) -Permission114=合併交易 +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions Permission115=出口交易和帳戶報表 Permission116=帳戶之間轉帳 Permission117=檢查調度管理 @@ -761,6 +764,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -1038,7 +1042,7 @@ SendingMailSetup=通過電子郵件的設置sendings SendmailOptionNotComplete=警告,在某些Linux系統,從您的電子郵件發送電子郵件,必須conatins sendmail的執行設置選項-BA(參數mail.force_extra_parameters到你的php.ini文件)。如果收件人沒有收到電子郵件,嘗試編輯mail.force_extra_parameters =-BA)這個PHP參數。 PathToDocuments=文件路徑 PathDirectory=目錄 -SendmailOptionMayHurtBuggedMTA=功能使用方法“PHP的mail直接”發送電子郵件,將生成一個郵件,可能會不正確地解析一些接收郵件服務器。結果是不能由thoose竊聽平台的託管人閲讀一些郵件。這是一些互聯網服務提供商(例如:在法國Orange)的情況下。這不是一個將Dolibarr也不到PHP中,但到接收郵件服務器的問題。但是,您可以選項MAIN_FIX_FOR_BUGGED_MTA添加1,進入設置 - 其他,修改Dolibarr避免這種情況。然而,你可能會遇到與其他服務器的問題,嚴格遵守SMTP標準。其他的解決辦法(建議報告)是使用的方法“SMTP套接字庫”,有沒有壞處。 +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Configuration de la traduction TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). TotalNumberOfActivatedModules=Total number of activated feature modules: %s @@ -1057,7 +1061,7 @@ BrowserIsOK=You are using the web browser %s. This browser is ok for security an BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug is loaded. XCacheInstalled=XCache is loaded. -AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edition of field %s FixTZ=TimeZone fix FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) @@ -1157,6 +1161,7 @@ ValidOrderAfterPropalClosed=為了驗證該命令後,建議密切,使得它 FreeLegalTextOnOrders=可在下面輸入額外的訂單資訊 WatermarkOnDraftOrders=Watermark on draft orders (none if empty) ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup=點擊撥號模組設置 ClickToDialUrlDesc=連結時調用一個電話象形點擊完成。丹斯l'網址,vous pouvez utiliser萊balises
%%1 $ s的誇血清remplacé電話桿樂德l' appelé
%%2 $ s的誇血清remplacé電話桿樂德l' appelant(樂votre)
%%3 $ s的誇血清remplacé桿votre登錄clicktodial(定義所涵蓋河畔votre膠片utilisateur)
%%4 $ s的誇血清remplacé桿votre摩托羅拉德過時clicktodial(定義所涵蓋河畔votre膠片utilisateur)。 @@ -1392,6 +1397,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=設定電子郵件發送模組 MailingEMailFrom=發件人的電子郵件(從)為通過電子郵件發送電子郵件模組 MailingEMailError=回電子郵件(錯誤對),與錯誤的電子郵件 +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=發件人的電子郵件(從)為發送通知郵件 @@ -1401,9 +1407,9 @@ FixedEmailTarget=Fixed email target SendingsSetup=設定出貨單模組 SendingsReceiptModel=出貨單據範本 SendingsNumberingModules=設定出貨單編號模組 -SendingsAbility=開啟或關閉出貨單是否支援客戶交貨狀況 +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=在大多數情況下,出貨單據可提供客戶記錄及查詢交貨單資訊(產品出貨清單)及收貨單資訊,客戶可同時註記簽收狀態。所以產品交貨單據是一個重複的功能,很少被開啟。 -FreeLegalTextOnShippings=可在下面輸入額外的出貨資訊 +FreeLegalTextOnShippings=Free text on shipments ##### Deliveries ##### DeliveryOrderNumberingModules=產品收貨編號模組 DeliveryOrderModel=產品收貨模型 @@ -1414,7 +1420,7 @@ AdvancedEditor=高級編輯 ActivateFCKeditor=以下為進階的編輯器功能,請決定啟用或關閉: FCKeditorForCompany=描述及註解採用所見即所得的方式建立或編輯(不含產品及服務) FCKeditorForProduct=產品/服務的描述及註解採用所見即所得的方式建立或編輯 -FCKeditorForProductDetails=產品細部描述可以採用所見即所得的方式建立或編輯,並可給所有模組使用(proposals, orders, invoices, etc...)。警告:使用這個選項可能會引起嚴重的問題,不建議使用。尤其是當中如果含有建立PDF檔案時,所需的特殊字元或頁面格式資訊,更容易產生問題 +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= 所見即所得創建/編輯的郵件 FCKeditorForUserSignature=WYSIWIG creation/edition of user signature FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) @@ -1562,3 +1568,4 @@ SalariesSetup=Setup of module salaries SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) diff --git a/htdocs/langs/zh_TW/agenda.lang b/htdocs/langs/zh_TW/agenda.lang index 65870ed6994..081cd8dd75f 100644 --- a/htdocs/langs/zh_TW/agenda.lang +++ b/htdocs/langs/zh_TW/agenda.lang @@ -58,8 +58,9 @@ OrderSentByEMail=客戶訂單通過電子郵件發送%s InvoiceSentByEMail=客戶發票通過電子郵件發送%s SupplierOrderSentByEMail=供應商的訂單通過電子郵件發送%s SupplierInvoiceSentByEMail=供應商的發票通過電子郵件發送%s -ShippingSentByEMail=通過電子郵件發送的航運%s -ShippingValidated= Shipping %s validated +ShippingSentByEMail=Shipment %s sent by EMail +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= 第三方創建 DateActionPlannedStart= 計劃開始日期 DateActionPlannedEnd= 計劃結束日期 @@ -68,7 +69,7 @@ DateActionDoneEnd= 真正的結束日期 DateActionStart= 開始日期 DateActionEnd= 結束日期 AgendaUrlOptions1=您還可以添加以下參數來篩選輸出: -AgendaUrlOptions2=login=%s到限制產量以行動來創造,受影響或將使用者 與所做%。 +AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=%s到限制輸出到行動使用者與受影響%。 AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. diff --git a/htdocs/langs/zh_TW/banks.lang b/htdocs/langs/zh_TW/banks.lang index 2c1f2ee4506..7a6b5d7355f 100644 --- a/htdocs/langs/zh_TW/banks.lang +++ b/htdocs/langs/zh_TW/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=帐户/* FinancialAccounts=帳目 BankAccount=銀行帳戶 BankAccounts=銀行帳戶 +ShowAccount=Show Account AccountRef=金融帳號 AccountLabel=金融帳戶標簽 CashAccount=現金帳戶 diff --git a/htdocs/langs/zh_TW/bills.lang b/htdocs/langs/zh_TW/bills.lang index 1674ff158ab..2bf9461e0e1 100644 --- a/htdocs/langs/zh_TW/bills.lang +++ b/htdocs/langs/zh_TW/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=發票 Bills=發票 -BillsCustomers=客戶的發票 -BillsCustomer=客戶的發票 -BillsSuppliers=供應商的發票 -BillsCustomersUnpaid=尚未付款的客戶的發票(invoice) +BillsCustomers=Customers invoices +BillsCustomer=Customers invoice +BillsSuppliers=Suppliers invoices +BillsCustomersUnpaid=Unpaid customers invoices BillsCustomersUnpaidForCompany=尚未付款的客戶發票(invoice) for %s BillsSuppliersUnpaid=尚未付款的供應商發票(invoice) BillsSuppliersUnpaidForCompany=%s未付供應商的發票 BillsLate=逾期付款 -BillsStatistics=客戶發票統計 -BillsStatisticsSuppliers=供應商發票統計 +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Suppliers invoices statistics DisabledBecauseNotErasable=禁用,因為不能被擦除 InvoiceStandard=發票 InvoiceStandardAsk=發票 @@ -348,6 +348,7 @@ ChequeNumber=檢查ñ ° ChequeOrTransferNumber=支票/轉賬ñ ° ChequeMaker=檢查發射機 ChequeBank=銀行檢查 +CheckBank=Check NetToBePaid=網,以支付 PhoneNumber=電話 FullPhoneNumber=電話 @@ -388,7 +389,7 @@ DisabledBecausePayments=不可能的,因為有一些付款 CantRemovePaymentWithOneInvoicePaid=無法刪除,因為至少有付款發票分類所許 ExpectedToPay=預期付款 PayedByThisPayment=氟離子選擇電極通過此付款 -ClosePaidInvoicesAutomatically=分類“支付最高”的所有entirely支付最高標準或更換發票。 +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=所有發票仍然沒有支付將被自動關閉狀態“支付最高”。 ToMakePayment=Pay @@ -410,3 +411,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up s TypeContact_invoice_supplier_external_BILLING=供應商利用發票(invoice)方式 TypeContact_invoice_supplier_external_SHIPPING=供應商利用貨運方式 TypeContact_invoice_supplier_external_SERVICE=Supplier service contact +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/zh_TW/compta.lang b/htdocs/langs/zh_TW/compta.lang index 90a7651497b..9df8ffc58d8 100644 --- a/htdocs/langs/zh_TW/compta.lang +++ b/htdocs/langs/zh_TW/compta.lang @@ -29,6 +29,7 @@ ReportTurnover=營業額 PaymentsNotLinkedToInvoice=付款不鏈接到任何發票,所以無法與任何第三方 PaymentsNotLinkedToUser=付款不鏈接到任何用戶 Profit=利潤 +AccountingResult=Accounting result Balance=平衡 Debit=借方 Credit=信用 diff --git a/htdocs/langs/zh_TW/cron.lang b/htdocs/langs/zh_TW/cron.lang index 04f3929fe1c..c8e534528f5 100644 --- a/htdocs/langs/zh_TW/cron.lang +++ b/htdocs/langs/zh_TW/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL to check and launch cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs diff --git a/htdocs/langs/zh_TW/ecm.lang b/htdocs/langs/zh_TW/ecm.lang index 620b3b4f63b..a0514fe5b9e 100644 --- a/htdocs/langs/zh_TW/ecm.lang +++ b/htdocs/langs/zh_TW/ecm.lang @@ -23,10 +23,10 @@ ECMNewDocument=新文件 ECMCreationDate=建立日期 ECMNbOfFilesInDir=在目錄中的文件數 ECMNbOfSubDir=數子目錄 -# ECMNbOfFilesInSubDir=Number of files in sub-directories +ECMNbOfFilesInSubDir=Number of files in sub-directories ECMCreationUser=創造者 -# ECMArea=EDM area -# ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. +ECMArea=EDM area +ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. ECMAreaDesc2=*自動填寫目錄時自動加入一個元素從卡的文件。
*手動目錄可以用來保存未鏈接到一個特定元素的文件。 ECMSectionWasRemoved=目錄%s已被刪除。 ECMDocumentsSection=文件的目錄 @@ -35,15 +35,17 @@ ECMSearchByEntity=搜尋對象 ECMSectionOfDocuments=目錄中的文件 ECMTypeManual=手冊 ECMTypeAuto=自動 -# ECMDocsBySocialContributions=Documents linked to social contributions +ECMDocsBySocialContributions=Documents linked to social contributions ECMDocsByThirdParties=文件鏈接到第三方 ECMDocsByProposals=文件與建議 ECMDocsByOrders=文件鏈接到客戶的訂單 ECMDocsByContracts=文件與合約 ECMDocsByInvoices=文件與客戶發票 ECMDocsByProducts=文件與產品 -# ECMDocsByProjects=Documents linked to projects -# ECMNoDirectoryYet=No directory created +ECMDocsByProjects=Documents linked to projects +ECMDocsByUsers=Documents linked to users +ECMDocsByInterventions=Documents linked to interventions +ECMNoDirectoryYet=No directory created ShowECMSection=顯示目錄 DeleteSection=刪除目錄 ConfirmDeleteSection=你能確認你要刪除的目錄%s嗎 ? @@ -51,5 +53,5 @@ ECMDirectoryForFiles=相對目錄的文件 CannotRemoveDirectoryContainsFiles=刪除不可能的,因為它包含了一些文件 ECMFileManager=檔案管理員 ECMSelectASection=左樹中選擇一個目錄... -# DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. +DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. diff --git a/htdocs/langs/zh_TW/errors.lang b/htdocs/langs/zh_TW/errors.lang index 4fab2ab4b90..2f8a6e35c64 100644 --- a/htdocs/langs/zh_TW/errors.lang +++ b/htdocs/langs/zh_TW/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=模塊設置,看起來是uncomplete的。進入設 ErrorBadMask=錯誤的遮罩參數值 ErrorBadMaskFailedToLocatePosOfSequence=沒有序列號錯誤,面具 ErrorBadMaskBadRazMonth=錯誤,壞的復位值 +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=錯誤。選擇至少一個條目。 ErrorProductWithRefNotExist=參考“%s”產品不存在 ErrorDeleteNotPossibleLineIsConsolidated=刪除沒有可能的,因為記錄是調解到的銀行transation, @@ -156,6 +158,8 @@ ErrorPriceExpression21=Empty result '%s' ErrorPriceExpression22=Negative result '%s' ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/zh_TW/install.lang b/htdocs/langs/zh_TW/install.lang index 0f1510d94ce..51a93e88a66 100644 --- a/htdocs/langs/zh_TW/install.lang +++ b/htdocs/langs/zh_TW/install.lang @@ -155,6 +155,7 @@ MigrationFinished=遷移完成 LastStepDesc=最後一步 :此處定義的登錄名和密碼,您打算使用連接到軟件。不松,因為它是帳戶管理所有其他。 ActivateModule=激活模塊%s ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... ######### # upgrade @@ -206,6 +207,7 @@ MigrationProjectTaskTime=更新時間花費在幾秒鐘內 MigrationActioncommElement=在行動上的更新數據 MigrationPaymentMode=付款方式的數據遷移 MigrationCategorieAssociation=Migration of categories +MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/zh_TW/languages.lang b/htdocs/langs/zh_TW/languages.lang index 3e1d7ab6342..9ab32a535dd 100644 --- a/htdocs/langs/zh_TW/languages.lang +++ b/htdocs/langs/zh_TW/languages.lang @@ -13,6 +13,7 @@ Language_de_AT=德語(奧地利) Language_de_CH=German (Switzerland) Language_el_GR=希臘語 Language_en_AU=英語(Australie) +Language_en_CA=English (Canada) Language_en_GB=英語(英國) Language_en_IN=英國(印度) Language_en_NZ=英語(新西蘭) diff --git a/htdocs/langs/zh_TW/main.lang b/htdocs/langs/zh_TW/main.lang index 3b27e8f9a7e..dcc25276db5 100644 --- a/htdocs/langs/zh_TW/main.lang +++ b/htdocs/langs/zh_TW/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=yyyy/MM/dd FormatDateShortJavaInput=yyyy/MM/dd FormatDateShortJQuery=yy/mm/dd FormatDateShortJQueryInput=yy/mm/dd +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%Y %b %d @@ -61,6 +62,7 @@ ErrorFailedToSaveFile=錯誤,無法保存文件。 SetDate=Set date SelectDate=Select a date SeeAlso=See also %s +SeeHere=See here BackgroundColorByDefault=默認的背景顏色 FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded @@ -169,6 +171,7 @@ User=用戶 Users=用戶 Group=群組 Groups=群組 +NoUserGroupDefined=No user group defined Password=密碼 PasswordRetype=重新輸入您的密碼 NoteSomeFeaturesAreDisabled=請注意,很多功能/模塊在這次示威禁用。 @@ -258,6 +261,7 @@ days=天 Hours=時間 Minutes=紀要 Seconds=秒 +Weeks=Weeks Today=今日 Yesterday=昨天 Tomorrow=明天 @@ -683,6 +687,7 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s # Week day Monday=星期一 Tuesday=星期二 diff --git a/htdocs/langs/zh_TW/margins.lang b/htdocs/langs/zh_TW/margins.lang index 80bee50f2c3..180d2d80e0c 100644 --- a/htdocs/langs/zh_TW/margins.lang +++ b/htdocs/langs/zh_TW/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=產品或服務 AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/zh_TW/orders.lang b/htdocs/langs/zh_TW/orders.lang index e83d01cad45..105a3209321 100644 --- a/htdocs/langs/zh_TW/orders.lang +++ b/htdocs/langs/zh_TW/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=供應商訂單 SuppliersOrders=供應商訂單 SuppliersOrdersRunning=當前供應商的訂單 CustomerOrder=客戶訂單 -CustomersOrders=客戶的訂單 +CustomersOrders=Customers orders CustomersOrdersRunning=當前客戶的訂單 CustomersOrdersAndOrdersLines=客戶的訂單,訂單的行 -OrdersToValid=常規驗證 -OrdersToBill=訂單To帳單 -OrdersInProcess=訂單流程 -OrdersToProcess=待處理的客戶訂單 +OrdersToValid=Customers orders to validate +OrdersToBill=Customers orders delivered +OrdersInProcess=Customers orders in process +OrdersToProcess=Customers orders to process SuppliersOrdersToProcess=待處理的供應商的訂單 StatusOrderCanceledShort=已取消 StatusOrderDraftShort=草案階段 StatusOrderValidatedShort=驗證階段 StatusOrderSentShort=在過程 StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=處理中 +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=處理完畢 StatusOrderToBillShort=等待帳單 StatusOrderToBill2Short=為了法案 @@ -41,7 +41,7 @@ StatusOrderReceivedAllShort=一切都收到 StatusOrderCanceled=取消 StatusOrderDraft=草案(等待驗證) StatusOrderValidated=驗證階段 -StatusOrderOnProcess=處理中 +StatusOrderOnProcess=Ordered - Standby reception StatusOrderProcessed=處理完畢 StatusOrderToBill=等待帳單 StatusOrderToBill2=為了法案 @@ -50,6 +50,8 @@ StatusOrderRefused=已拒絕 StatusOrderReceivedPartially=部分收到 StatusOrderReceivedAll=一切都收到 ShippingExist=A貨存在 +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered DraftOrWaitingApproved=草案尚未下令或批準 DraftOrWaitingShipped=草案或審定尚未運 MenuOrdersToBill=訂單To帳單 diff --git a/htdocs/langs/zh_TW/productbatch.lang b/htdocs/langs/zh_TW/productbatch.lang index ca3e49749ab..864782023a0 100644 --- a/htdocs/langs/zh_TW/productbatch.lang +++ b/htdocs/langs/zh_TW/productbatch.lang @@ -1,9 +1,9 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Manage batch/serial -ProductStatusOnBatch=Managed -ProductStatusNotOnBatch=Not Managed -ProductStatusOnBatchShort=Managed -ProductStatusNotOnBatchShort=Not Managed +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/serial not used) +ProductStatusOnBatchShort=Yes +ProductStatusNotOnBatchShort=No Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number @@ -18,3 +18,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use batch/serial number diff --git a/htdocs/langs/zh_TW/products.lang b/htdocs/langs/zh_TW/products.lang index e7406e70399..e18d6416532 100644 --- a/htdocs/langs/zh_TW/products.lang +++ b/htdocs/langs/zh_TW/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=會計代碼(銷售) ProductOrService=產品或服務 ProductsAndServices=產品與服務 ProductsOrServices=產品或服務 -ProductsAndServicesOnSell=現有產品和服務 -ProductsAndServicesNotOnSell=已停產的產品和服務 +ProductsAndServicesOnSell=Products and Services for sale or for purchase +ProductsAndServicesNotOnSell=Products and Services out of sale ProductsAndServicesStatistics=產品與服務的統計數字 ProductsStatistics=產品統計 -ProductsOnSell=可用產品 -ProductsNotOnSell=已停產的產品 -ProductsOnSellAndOnBuy=Products not for sale nor purchase -ServicesOnSell=服務可銷售 -ServicesNotOnSell=服務不可銷售 -ServicesOnSellAndOnBuy=Services not for sale nor purchase +ProductsOnSell=Product for sale or for pruchase +ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSell=Services for sale or for purchase +ServicesNotOnSell=Services out of sale +ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=內部參考 LastRecorded=最新產品/服務的銷售記錄 LastRecordedProductsAndServices=上次%s的記錄產品/服務 @@ -198,7 +198,7 @@ HelpAddThisServiceCard=This option allows you to create or clone a service if it CurrentProductPrice=Current price AlwaysUseNewPrice=Always use current price of product/service AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Price by quantity +PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar c BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) -PriceByCustomer=Price by customer +PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service -PricingRule=Pricing Rules +PricingRule=Rules for customer prices AddCustomerPrice=Add price by customers ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log @@ -244,6 +244,9 @@ MinimumPriceLimit=Minimum price can't be lower that %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp="price = 2 + 2" or "2 + 2" for setting the price
ExtraFields are variables like "#options_myextrafieldkey# * 2"
There are special variables like #quantity# and #tva_tx#
Use ; to separate expressions +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Price mode PriceNumeric=Number diff --git a/htdocs/langs/zh_TW/projects.lang b/htdocs/langs/zh_TW/projects.lang index 3fa7e273657..2970d7c4481 100644 --- a/htdocs/langs/zh_TW/projects.lang +++ b/htdocs/langs/zh_TW/projects.lang @@ -3,6 +3,7 @@ RefProject=Ref. project ProjectId=Project Id Project=項目 Projects=項目 +ProjectStatus=Project status SharedProject=每個人 PrivateProject=項目聯系人 MyProjectsDesc=這種觀點是有限的項目你是一個接觸(不管是類型)。 @@ -11,7 +12,6 @@ ProjectsDesc=這種觀點提出的所有項目(你的用戶權限批準你認 MyTasksDesc=這種觀點是有限的項目或任務你是一個接觸(不管是類型)。 TasksPublicDesc=這種觀點提出的所有項目,您可閱讀任務。 TasksDesc=這種觀點提出的所有項目和任務(您的用戶權限批準你認為一切)。 -Myprojects=我的項目 ProjectsArea=項目領域 NewProject=新項目 AddProject=Create project @@ -103,6 +103,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date diff --git a/htdocs/langs/zh_TW/sendings.lang b/htdocs/langs/zh_TW/sendings.lang index d721893af67..8cd48f0d71f 100644 --- a/htdocs/langs/zh_TW/sendings.lang +++ b/htdocs/langs/zh_TW/sendings.lang @@ -4,7 +4,8 @@ Sending=出貨 Sendings=出貨 Shipment=出貨 Shipments=出貨 -Receivings=Receivings +ShowSending=Show Sending +Receivings=Receipts SendingsArea=出貨 ListOfSendings=出貨清單列表 SendingMethod=送貨方式 @@ -14,7 +15,7 @@ SearchASending=搜尋出貨項目 StatisticsOfSendings=統計出貨量 NbOfSendings=出貨數量 NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=出貨卡 +SendingCard=Shipment card NewSending=建立出貨 CreateASending=建立一個新的出貨單 CreateSending=建立出貨單 @@ -37,7 +38,7 @@ StatusSendingCanceledShort=取消 StatusSendingDraftShort=草案 StatusSendingValidatedShort=驗證 StatusSendingProcessedShort=加工 -SendingSheet=出貨單 +SendingSheet=Shipment sheet Carriers=載體 Carrier=載波 CarriersArea=運營商領域 @@ -58,11 +59,15 @@ SendShippingRef=Submission of shipment %s ActionsOnShipping=對裝運的事件 LinkToTrackYourPackage=鏈接到追蹤您的包裹 ShipmentCreationIsDoneFromOrder=就目前而言,從這個訂單而建立的出貨單已經完成。 -RelatedShippings=相關出貨清單 +RelatedShippings=Related shipments ShipmentLine=Shipment line CarrierList=List of transporters -SendingRunning=Product from customer order already sent -SuppliersReceiptRunning=Product from supplier order already received +SendingRunning=Product from ordered customer orders +SuppliersReceiptRunning=Product from ordered supplier orders +ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders +ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders +ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods SendingMethodCATCH=按客戶捕捉 diff --git a/htdocs/langs/zh_TW/stocks.lang b/htdocs/langs/zh_TW/stocks.lang index d46a709f7cb..a0973e97c5b 100644 --- a/htdocs/langs/zh_TW/stocks.lang +++ b/htdocs/langs/zh_TW/stocks.lang @@ -48,6 +48,8 @@ PMPValueShort=的WAP EnhancedValueOfWarehouses=倉庫價值 UserWarehouseAutoCreate=當建立一個用戶時,自動建立一個倉庫 QtyDispatched=派出數量 +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=聯合調度 RuleForStockManagementDecrease=啟用或關閉庫存減少的管理規則 RuleForStockManagementIncrease=啟用或關閉庫存增加的管理規則 @@ -59,7 +61,7 @@ ReStockOnValidateOrder=在供應商訂單批准後,增加實際庫存量 ReStockOnDispatchOrder=在手動轉讓庫存量或供應商訂單收到後,增加實際庫存量 ReStockOnDeleteInvoice=Increase real stocks on invoice deletion OrderStatusNotReadyToDispatch=命令還沒有或根本沒有更多的地位,使產品在倉庫庫存調度。 -StockDiffPhysicTeoric=股票差異的原因和理論物理 +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock NoPredefinedProductToDispatch=此對象沒有預定義的產品。因此,沒有庫存調度是必需的。 DispatchVerb=派遣 StockLimitShort=Limit for alert @@ -116,10 +118,15 @@ MassMovement=Mass movement MassStockMovement=Mass stock movement SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". RecordMovement=Record transfert -ReceivingForSameOrder=Receivings for this order +ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock content correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/zh_TW/suppliers.lang b/htdocs/langs/zh_TW/suppliers.lang index 1be3e6d8bf4..8ad3d74c0b0 100644 --- a/htdocs/langs/zh_TW/suppliers.lang +++ b/htdocs/langs/zh_TW/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=供應商 Supplier=供應商 -AddSupplier=新增供應商 +AddSupplier=Create a supplier SupplierRemoved=供應商刪除 SuppliersInvoice=供應商的發票 NewSupplier=新供應商 @@ -42,3 +42,5 @@ NoneOrBatchFileNeverRan=無或批處理%不是最近跑 SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/zh_TW/withdrawals.lang b/htdocs/langs/zh_TW/withdrawals.lang index 06d3f9d694c..778eb334c4d 100644 --- a/htdocs/langs/zh_TW/withdrawals.lang +++ b/htdocs/langs/zh_TW/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=信貸 WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) ShowWithdraw=顯示撤櫃 IfInvoiceNeedOnWithdrawPaymentWontBeClosed=然而,如果發票已至少有一個撤出支付尚未處理的,它不會被設置為支付最高允許管理撤出之前。 -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once donee, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. +DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" diff --git a/htdocs/langs/zh_TW/workflow.lang b/htdocs/langs/zh_TW/workflow.lang index 8cbfbdf085e..940da38e45f 100644 --- a/htdocs/langs/zh_TW/workflow.lang +++ b/htdocs/langs/zh_TW/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=工作流模塊的設置 -WorkflowDesc=此模塊designed修改應用程序的自動操作的行為。默認情況下,工作流被打開(你做的事情在你想要的順序)。您可以啟用自動操作,你是有趣英寸 +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. ThereIsNoWorkflowToModify=沒有工作流程,您可以修改你已激活的模塊。 descWORKFLOW_PROPAL_AUTOCREATE_ORDER=商業提案簽署後自動創建一個客戶訂單 descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=商業提案簽署後自動創建一個客戶發票 descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=創建一個客戶發票,合同驗證後自動 descWORKFLOW_ORDER_AUTOCREATE_INVOICE=創建一個客戶發票,客戶訂單後自動關閉 -# descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -# descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -# descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated From 6189db677d3d5dec4b44641b1158f032fb36eb62 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 14 Feb 2015 11:25:26 +0100 Subject: [PATCH 085/137] Fix package .exe --- build/makepack-dolibarr.pl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 8467d4140f3..27af49cb6f4 100755 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -947,6 +947,8 @@ if ($nboftargetok) { print "Remove target $FILENAMEEXEDOLIWAMP.exe...\n"; unlink "$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe"; + print "Check that in your Wine setup, you create a Z: drive that point to your /tmp directory.\n"; + $SOURCEBACK=$SOURCE; $SOURCEBACK =~ s/\//\\/g; @@ -954,7 +956,7 @@ if ($nboftargetok) { $ret=`cat "$SOURCE/build/exe/doliwamp/doliwamp.iss" | sed -e 's/__FILENAMEEXEDOLIWAMP__/$FILENAMEEXEDOLIWAMP/g' > "$SOURCE/build/exe/doliwamp/doliwamp.tmp.iss"`; print "Compil exe $FILENAMEEXEDOLIWAMP.exe file from iss file \"$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.tmp.iss\"\n"; - $cmd= "ISCC.exe \"$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.tmp.iss\""; + $cmd= "ISCC.exe \"Z:$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.tmp.iss\""; print "$cmd\n"; $ret= `$cmd`; #print "$ret\n"; From c596fa1475e3ea85188ed58263d3d00fa831ad61 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 14 Feb 2015 12:24:16 +0100 Subject: [PATCH 086/137] Introduce a protection to avoid migration if database has critical bugs making data lost. --- htdocs/core/db/DoliDB.class.php | 2 +- htdocs/install/check.php | 2 ++ htdocs/install/upgrade.php | 30 +++++++++++++++++++++++++-- htdocs/langs/en_US/install.lang | 1 + htdocs/theme/eldy/img/menus/README.md | 2 +- 5 files changed, 33 insertions(+), 4 deletions(-) diff --git a/htdocs/core/db/DoliDB.class.php b/htdocs/core/db/DoliDB.class.php index baf38bd9a39..67e3022d6e3 100644 --- a/htdocs/core/db/DoliDB.class.php +++ b/htdocs/core/db/DoliDB.class.php @@ -201,7 +201,7 @@ abstract class DoliDB implements Database */ function getVersionArray() { - return explode('.',$this->getVersion()); + return preg_split("/[\.,-]/",$this->getVersion()); } /** diff --git a/htdocs/install/check.php b/htdocs/install/check.php index 671c3660594..70447a2a191 100644 --- a/htdocs/install/check.php +++ b/htdocs/install/check.php @@ -531,9 +531,11 @@ $("div#AShowChoices a").click(function() { }); +/* $(".runupgrade").click(function() { return confirm("'.dol_escape_js($langs->transnoentitiesnoconv("WarningUpgrade"), 0, 1).'"); }); +*/ '; diff --git a/htdocs/install/upgrade.php b/htdocs/install/upgrade.php index e93b27ab6e9..3fe51cc8192 100644 --- a/htdocs/install/upgrade.php +++ b/htdocs/install/upgrade.php @@ -83,7 +83,7 @@ if (! $versionfrom && ! $versionto) $sapi_type = php_sapi_name(); $script_file = basename(__FILE__); $path=dirname(__FILE__).'/'; - if (substr($sapi_type, 0, 3) == 'cli') + if (substr($sapi_type, 0, 3) == 'cli') { print 'Syntax from command line: '.$script_file." x.y.z a.b.c\n"; } @@ -178,7 +178,7 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action'))) print '
'; dolibarr_install_syslog("upgrade: ".$langs->transnoentities("ServerVersion")." : $version"); - // Test database version + // Test database version requirement $versionmindb=$db::VERSIONMIN; //print join('.',$versionarray).' - '.join('.',$versionmindb); if (count($versionmindb) && count($versionarray) @@ -190,6 +190,32 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action'))) $ok=0; } + // Test database version is not forbidden for migration + $dbversion_disallowed=array( + array('type'=>'mysql','version'=>array(5,5,40)), + array('type'=>'mysqli','version'=>array(5,5,40)), + array('type'=>'mysql','version'=>array(5,5,41)), + array('type'=>'mysqli','version'=>array(5,5,41)) + ); + $listofforbiddenversion=''; + foreach ($dbversion_disallowed as $dbversion_totest) + { + if ($dbversion_totest['type'] == $db->type) $listofforbiddenversion.=($listofforbiddenversion?', ':'').join('.',$dbversion_totest['version']); + } + foreach ($dbversion_disallowed as $dbversion_totest) + { + print $db->type.' - '.join('.',$versionarray).' - '.versioncompare($dbversion_totest['version'],$versionarray)."
\n"; + if ($dbversion_totest['type'] == $db->type + && (versioncompare($dbversion_totest['version'],$versionarray) == 0 || versioncompare($dbversion_totest['version'],$versionarray)<=-4 || versioncompare($dbversion_totest['version'],$versionarray)>=4) + ) + { + // Warning: database version too low. + print '
\n"; + dolibarr_install_syslog("upgrade: ".$langs->transnoentities("ErrorDatabaseVersionForbiddenForMigration",join('.',$versionarray),$listofforbiddenversion)); + $ok=0; + break; + } + } } // Force l'affichage de la progression diff --git a/htdocs/langs/en_US/install.lang b/htdocs/langs/en_US/install.lang index ef5b7e20ca6..7de123d5ea3 100644 --- a/htdocs/langs/en_US/install.lang +++ b/htdocs/langs/en_US/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Last step: Define here login and password you plan ActivateModule=Activate module %s ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... +ErrorDatabaseVersionForbiddenForMigration=Your database version is %s. It has a critical bug making data loss if you make structure change on your database, like it is required by the migration process. For his reason, migration will not be allowed until you upgrade your database to a higher fixed version (list of known bugged version: %s) ######### # upgrade diff --git a/htdocs/theme/eldy/img/menus/README.md b/htdocs/theme/eldy/img/menus/README.md index 1b3942d1913..12cd9da537a 100644 --- a/htdocs/theme/eldy/img/menus/README.md +++ b/htdocs/theme/eldy/img/menus/README.md @@ -3,7 +3,7 @@ Tutorial to create a new image for menu: 1) First find an image. 2) With Gimp, open image and check there is a alpha channel. If not add one. -3) Convert image into back and white. +3) Convert image into back and white (Menu Image - Mode - Grey levels). 4) Use the degrade tool with option: * Erase color * Opacity: 50 +/- From 7cf115cc8786770affafe7c96086aa0aab773bd7 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 14 Feb 2015 12:26:39 +0100 Subject: [PATCH 087/137] Introduce a protection to avoid migration if database has critical bugs making data lost. --- htdocs/install/upgrade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/install/upgrade.php b/htdocs/install/upgrade.php index 3fe51cc8192..8f62a755518 100644 --- a/htdocs/install/upgrade.php +++ b/htdocs/install/upgrade.php @@ -204,7 +204,7 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action'))) } foreach ($dbversion_disallowed as $dbversion_totest) { - print $db->type.' - '.join('.',$versionarray).' - '.versioncompare($dbversion_totest['version'],$versionarray)."
\n"; + //print $db->type.' - '.join('.',$versionarray).' - '.versioncompare($dbversion_totest['version'],$versionarray)."
\n"; if ($dbversion_totest['type'] == $db->type && (versioncompare($dbversion_totest['version'],$versionarray) == 0 || versioncompare($dbversion_totest['version'],$versionarray)<=-4 || versioncompare($dbversion_totest['version'],$versionarray)>=4) ) From 2a9ba93712b0480c174f04650c3dc38de4b89340 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 14 Feb 2015 12:32:22 +0100 Subject: [PATCH 088/137] Update test of module inits --- test/phpunit/ModulesTest.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/test/phpunit/ModulesTest.php b/test/phpunit/ModulesTest.php index eff4b85c698..3c8b96ffe2a 100755 --- a/test/phpunit/ModulesTest.php +++ b/test/phpunit/ModulesTest.php @@ -128,11 +128,12 @@ class ModulesTest extends PHPUnit_Framework_TestCase $db=$this->savdb; $modulelist=array('Accounting','Adherent','Agenda','Banque','Barcode','Bookmark', - 'CashDesk','Categorie','ClickToDial','Commande','Comptabilite','Contrat','Cron','Deplacement','Document','Don', - 'ECM','Expedition','Export','ExternalRss','ExternalSite','Facture', - 'Fckeditor','Ficheinter','Fournisseur','FTP','GeoIPMaxmind','Gravatar','Holiday','Import','Label','Ldap','Mailing', - 'Notification','OpenSurvey','Paybox','Paypal','Prelevement','Product','Projet','Propale', - 'Service','Societe','Stock','Syslog','Tax','User','WebServices','Workflow'); + 'CashDesk','Categorie','ClickToDial','Commande','Comptabilite','Contrat','Cron','Deplacement','DocumentGeneration','Don','DynamicPrices', + 'ECM','Expedition','Export','ExternalRss','ExternalSite', + 'Facture','Fckeditor','Ficheinter','Fournisseur','FTP','GeoIPMaxmind','Gravatar','Holiday','Import','Label','Ldap', + 'Mailing','MailmanSpip','Margin', + 'Notification','OpenSurvey','Paybox','Paypal','Prelevement','Product','ProductBatch','Projet','Propale', + 'Salaries','Service','Skype','Societe','Stock','SyncSupplierWebServices','Syslog','Tax','User','WebServices','Workflow'); foreach($modulelist as $modlabel) { require_once(DOL_DOCUMENT_ROOT.'/core/modules/mod'.$modlabel.'.class.php'); From bd4b4012812639de9e8fc7130d943fa27ac1d6dc Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 14 Feb 2015 15:10:06 +0100 Subject: [PATCH 089/137] New: Introduce "_deprecated" keyword into module version when module has been superseed by another one. --- dev/skeletons/modMyModule.class.php | 2 +- htdocs/core/modules/DolibarrModules.class.php | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/dev/skeletons/modMyModule.class.php b/dev/skeletons/modMyModule.class.php index 4c09e379d9b..e9abfb38bc4 100644 --- a/dev/skeletons/modMyModule.class.php +++ b/dev/skeletons/modMyModule.class.php @@ -57,7 +57,7 @@ class modMyModule extends DolibarrModules $this->name = preg_replace('/^mod/i','',get_class($this)); // Module description, used if translation string 'ModuleXXXDesc' not found (where XXX is value of numeric property 'numero' of module) $this->description = "Description of module MyModule"; - // Possible values for version are: 'development', 'experimental', 'dolibarr' or version + // Possible values for version are: 'development', 'experimental', 'dolibarr' or 'dolibarr_deprecated' or version $this->version = '1.0'; // Key used in llx_const table to save module status enabled/disabled (where MYMODULE is value of property name of module in uppercase) $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); diff --git a/htdocs/core/modules/DolibarrModules.class.php b/htdocs/core/modules/DolibarrModules.class.php index e78e24c316a..0e9b24bb22b 100644 --- a/htdocs/core/modules/DolibarrModules.class.php +++ b/htdocs/core/modules/DolibarrModules.class.php @@ -416,11 +416,17 @@ abstract class DolibarrModules global $langs; $langs->load("admin"); - if ($this->version == 'experimental') return $langs->trans("VersionExperimental"); - elseif ($this->version == 'development') return $langs->trans("VersionDevelopment"); - elseif ($this->version == 'dolibarr') return DOL_VERSION; - elseif ($this->version) return $this->version; - else return $langs->trans("VersionUnknown"); + $ret=''; + + $newversion=preg_replace('/_deprecated/','',$this->version); + if ($newversion == 'experimental') $ret=$langs->trans("VersionExperimental"); + elseif ($newversion == 'development') $ret=$langs->trans("VersionDevelopment"); + elseif ($newversion == 'dolibarr') $ret=DOL_VERSION; + elseif ($newversion) $ret=$newversion; + else $ret=$langs->trans("VersionUnknown"); + + if (preg_match('/_deprecated/',$this->version)) $ret.=' ('.$langs->trans("Deprecated").')'; + return $ret; } @@ -431,7 +437,7 @@ abstract class DolibarrModules */ function isCoreOrExternalModule() { - if ($this->version == 'dolibarr') return 'core'; + if ($this->version == 'dolibarr' || $this->version == 'dolibarr_deprecated') return 'core'; if (! empty($this->version) && ! in_array($this->version,array('experimental','development'))) return 'external'; if (! empty($this->editor_name) || ! empty($this->editor_web)) return 'external'; return 'unknown'; From 674585136e2f47a47ca3d1f97da574322ef894cb Mon Sep 17 00:00:00 2001 From: KreizIT Date: Sat, 14 Feb 2015 16:16:01 +0100 Subject: [PATCH 090/137] Fix inconsistent data --- htdocs/install/mysql/data/llx_00_c_country.sql | 2 +- htdocs/install/mysql/data/llx_10_c_regions.sql | 2 -- htdocs/install/mysql/data/llx_c_tva.sql | 4 ++-- htdocs/install/mysql/tables/llx_c_regions.sql | 2 +- htdocs/install/mysql/tables/llx_rights_def.sql | 2 +- 5 files changed, 5 insertions(+), 7 deletions(-) diff --git a/htdocs/install/mysql/data/llx_00_c_country.sql b/htdocs/install/mysql/data/llx_00_c_country.sql index a6c0efc77a6..9c83b70502a 100644 --- a/htdocs/install/mysql/data/llx_00_c_country.sql +++ b/htdocs/install/mysql/data/llx_00_c_country.sql @@ -270,4 +270,4 @@ INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (24 INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (244,'ME','MNE','Monténégro',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (245,'BL','BLM','Saint-Barthélemy',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (246,'MF','MAF','Saint-Martin',1,0); -INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (247,'BU', null, 'Burundi',1,0); + diff --git a/htdocs/install/mysql/data/llx_10_c_regions.sql b/htdocs/install/mysql/data/llx_10_c_regions.sql index 4415f5711bf..e1664384323 100644 --- a/htdocs/install/mysql/data/llx_10_c_regions.sql +++ b/htdocs/install/mysql/data/llx_10_c_regions.sql @@ -270,5 +270,3 @@ INSERT INTO llx_c_regions (fk_pays, code_region, cheflieu, tncc, nom, active) v INSERT INTO llx_c_regions (fk_pays, code_region, cheflieu, tncc, nom, active) values ( 12, 1215, '', 0, 'Laâyoune-Boujdour-Sakia el Hamra', 1); INSERT INTO llx_c_regions (fk_pays, code_region, cheflieu, tncc, nom, active) values ( 12, 1216, '', 0, 'Oued Ed-Dahab Lagouira', 1); --- Regions Tunisia (id country=10) -INSERT INTO llx_c_regions (fk_pays, code_region, cheflieu, tncc, nom, active) values ( 10, 1001, '', 0, 'Algerie', 1); diff --git a/htdocs/install/mysql/data/llx_c_tva.sql b/htdocs/install/mysql/data/llx_c_tva.sql index e3f7e56cdc6..7b42efdae0e 100644 --- a/htdocs/install/mysql/data/llx_c_tva.sql +++ b/htdocs/install/mysql/data/llx_c_tva.sql @@ -187,8 +187,8 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (17 insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1734, 173, '0','0','VAT Rate 0', 1); -- PERU (id country=181) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1841, 181, '18','0','VAT standard rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1843, 181, '0','0','VAT Rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1811, 181, '18','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1812, 181, '0','0','VAT Rate 0',1); -- POLAND (id country=184) insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1841, 184, '20','0','VAT standard rate',1); diff --git a/htdocs/install/mysql/tables/llx_c_regions.sql b/htdocs/install/mysql/tables/llx_c_regions.sql index 9c677ee44f7..768a234dbbd 100644 --- a/htdocs/install/mysql/tables/llx_c_regions.sql +++ b/htdocs/install/mysql/tables/llx_c_regions.sql @@ -24,7 +24,7 @@ create table llx_c_regions fk_pays integer NOT NULL, cheflieu varchar(50), tncc integer, - nom varchar(50), + nom varchar(100), active tinyint DEFAULT 1 NOT NULL )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_rights_def.sql b/htdocs/install/mysql/tables/llx_rights_def.sql index 8bf85add124..297772730c7 100644 --- a/htdocs/install/mysql/tables/llx_rights_def.sql +++ b/htdocs/install/mysql/tables/llx_rights_def.sql @@ -19,7 +19,7 @@ create table llx_rights_def ( - id integer, + id integer NOT NULL, libelle varchar(255), module varchar(64), entity integer DEFAULT 1 NOT NULL, From 0c0c442248c42717cd5bf806fe9e98d4609ebf47 Mon Sep 17 00:00:00 2001 From: KreizIT Date: Sat, 14 Feb 2015 16:27:00 +0100 Subject: [PATCH 091/137] Make MS SQL working --- htdocs/core/db/mssql.class.php | 305 ++++++++++++++----- htdocs/install/etape1.php | 4 +- htdocs/install/etape2.php | 8 +- htdocs/install/mssql/functions/functions.sql | Bin 5010 -> 0 bytes 4 files changed, 241 insertions(+), 76 deletions(-) delete mode 100644 htdocs/install/mssql/functions/functions.sql diff --git a/htdocs/core/db/mssql.class.php b/htdocs/core/db/mssql.class.php index 0f86f01693c..55f5dbe1458 100644 --- a/htdocs/core/db/mssql.class.php +++ b/htdocs/core/db/mssql.class.php @@ -89,6 +89,7 @@ class DoliDBMssql extends DoliDB // (La base Dolibarr a ete forcee en this->forcecharset a l'install) $this->connected = 1; $this->ok = 1; + } else { @@ -146,7 +147,7 @@ class DoliDBMssql extends DoliDB */ function select_db($database) { - return mssql_select_db($database, $this->db); + return @mssql_select_db($database, $this->db); } /** @@ -171,6 +172,18 @@ class DoliDBMssql extends DoliDB // les nouvelles version de Dolibarr car force par l'install Dolibarr. //$this->query('SET NAMES '.$this->forcecharset); //print "Resultat fonction connect: ".$this->db; + $set_options=array('SET ANSI_PADDING ON;', + "SET ANSI_NULLS ON;", + "SET ANSI_WARNINGS ON;", + "SET ARITHABORT ON;", + "SET CONCAT_NULL_YIELDS_NULL ON;", + "SET QUOTED_IDENTIFIER ON;" + ); + mssql_query(implode(' ',$set_options),$this->db); + + + + return $this->db; } @@ -224,19 +237,22 @@ class DoliDBMssql extends DoliDB */ function begin() { - if (! $this->transaction_opened) + + $res=mssql_query('select @@TRANCOUNT'); + $this->transaction_opened=mssql_result($res, 0, 0); + + if ($this->transaction_opened == 0) { - $ret=$this->query("BEGIN TRANSACTION"); + //return 1; //There is a mess with auto_commit and 'SET IMPLICIT_TRANSACTIONS ON' generate also a mess + $ret=mssql_query("SET IMPLICIT_TRANSACTIONS OFF;BEGIN TRANSACTION;",$this->db); if ($ret) { - $this->transaction_opened++; dol_syslog("BEGIN Transaction",LOG_DEBUG); } return $ret; } else { - $this->transaction_opened++; return 1; } } @@ -249,12 +265,15 @@ class DoliDBMssql extends DoliDB */ function commit($log='') { - if ($this->transaction_opened <= 1) + $res=mssql_query('select @@TRANCOUNT'); + $this->transaction_opened=mssql_result($res, 0, 0); + + if ($this->transaction_opened == 1) { - $ret=$this->query("COMMIT TRANSACTION"); + //return 1; //There is a mess with auto_commit and 'SET IMPLICIT_TRANSACTION ON' generate also a mess + $ret=mssql_query("COMMIT TRANSACTION",$this->db); if ($ret) { - $this->transaction_opened=0; dol_syslog("COMMIT Transaction",LOG_DEBUG); return 1; } @@ -263,11 +282,11 @@ class DoliDBMssql extends DoliDB return 0; } } - else + elseif ($this->transaction_opened > 1) { - $this->transaction_opened--; return 1; - } + } else + trigger_error("Commit requested but no transaction remain"); } /** @@ -278,18 +297,20 @@ class DoliDBMssql extends DoliDB */ function rollback($log='') { - if ($this->transaction_opened<=1) + $res=mssql_query('select @@TRANCOUNT'); + $this->transaction_opened=mssql_result($res, 0, 0); + + if ($this->transaction_opened == 1) { - $ret=$this->query("ROLLBACK TRANSACTION"); - $this->transaction_opened=0; + $ret=mssql_query("ROLLBACK TRANSACTION",$this->db); dol_syslog("ROLLBACK Transaction".($log?' '.$log:''),LOG_DEBUG); return $ret; } - else + elseif ($this->transaction_opened > 1) { - $this->transaction_opened--; return 1; - } + } else + trigger_error("Rollback requested but no transaction remain"); } /** @@ -304,54 +325,98 @@ class DoliDBMssql extends DoliDB function query($query,$usesavepoint=0,$type='auto') { $query = trim($query); + + if (preg_match('/^--/',$query)) return true; // Conversion syntaxe MySql vers MSDE. $query = str_ireplace("now()", "getdate()", $query); // Erreur SQL: cannot update timestamp field $query = str_ireplace(", tms = tms", "", $query); - // Voir si l'on peut directement utiliser $query = str_ireplace("file", "[file]", $query); - // au lieu des 3 lignes ci-dessous - $query = str_ireplace(".file", ".[file]", $query); - $query = str_ireplace(" file ", " [file] ", $query); - $query = str_ireplace(" file,", " [file],", $query); - // Idem file - $query = str_ireplace(".percent", ".[percent]", $query); - $query = str_ireplace(" percent ", " [percent] ", $query); - $query = str_ireplace("percent,", "[percent],", $query); - $query = str_ireplace("percent=", "[percent]=", $query); - $query = str_ireplace("\'", "''", $query); - - $itemfound = stripos($query, " limit "); - if ($itemfound !== false) { - // Extraire le nombre limite - $number = stristr($query, " limit "); - $number = substr($number, 7); - // Inserer l'instruction TOP et le nombre limite - $query = str_ireplace("select ", "select top ".$number." ", $query); - // Supprimer l'instruction MySql - $query = str_ireplace(" limit ".$number, "", $query); + $query=preg_replace("/([. ,\t(])(percent|file|public)([. ,=\t)])/","$1[$2]$3",$query); + + if ($type=="auto" || $type='dml') + { + $query=preg_replace('/AUTO_INCREMENT/i','IDENTITY',$query); + $query=preg_replace('/double/i','float',$query); + $query=preg_replace('/float\((.*)\)/','numeric($1)',$query); + $query=preg_replace('/([ \t])unsigned|IF NOT EXISTS[ \t]/i','$1',$query); + $query=preg_replace('/([ \t])(MEDIUM|TINY|LONG){0,1}TEXT([ \t,])/i',"$1VARCHAR(MAX)$3",$query); + + $matches=array(); + $original_query=''; + if (preg_match('/ALTER TABLE\h+(\w+?)\h+ADD\h+(?:(UNIQUE)|INDEX)\h+(?:INDEX)?\h*(\w+?)\h*\((.+)\)/is', $query,$matches)) + { + $original_query=$query; + $query="CREATE ".trim($matches[2])." INDEX [".trim($matches[3])."] ON [".trim($matches[1])."] (".trim($matches[4]).")"; + if ($matches[2]) { + //check if columun is nullable cause Sql server only allow 1 null value if unique index. + $fields=explode(",",trim($matches[4])); + $fields_clear=array_map('trim',$fields); + $infos=$this->GetFieldInformation(trim($matches[1]), $fields_clear); + $query_comp=array(); + foreach($infos as $fld) { + if ($fld->IS_NULLABLE == 'YES') { + $query_comp[]=$fld->COLUMN_NAME." IS NOT NULL"; + } + } + if ($query_comp) + $query.=" WHERE ".implode(" AND ",$query_comp); + } + } + else + { + if (preg_match('/ALTER TABLE\h+(\w+?)\h+ADD\h+PRIMARY\h+KEY\h+(\w+?)\h*\((.+)\)/is', $query, $matches)) + { + $original_query=$query; + $query="ALTER TABLE [".$matches[1]."] ADD CONSTRAINT [".$matches[2]."] PRIMARY KEY CLUSTERED (".$matches[3].")"; + } + } + } - $itemfound = stripos($query, " week("); - if ($itemfound !== false) { - // Recreer une requete sans instruction Mysql - $positionMySql = stripos($query, " week("); - $newquery = substr($query, 0, $positionMySql); - - // Recuperer la date passee en parametre - $extractvalue = stristr($query, " week("); - $extractvalue = substr($extractvalue, 6); - $positionMySql = stripos($extractvalue, ")"); - // Conserver la fin de la requete - $endofquery = substr($extractvalue, $positionMySql); - $extractvalue = substr($extractvalue, 0, $positionMySql); - - // Remplacer l'instruction MySql en Sql Server - // Inserer la date en parametre et le reste de la requete - $query = $newquery." DATEPART(week, ".$extractvalue.$endofquery; + if ($type=="auto" || $type='ddl') + { + $itemfound = stripos($query, " limit "); + if ($itemfound !== false) { + // Extraire le nombre limite + $number = stristr($query, " limit "); + $number = substr($number, 7); + // Inserer l'instruction TOP et le nombre limite + $query = str_ireplace("select ", "select top ".$number." ", $query); + // Supprimer l'instruction MySql + $query = str_ireplace(" limit ".$number, "", $query); + } + + $itemfound = stripos($query, " week("); + if ($itemfound !== false) { + // Recreer une requete sans instruction Mysql + $positionMySql = stripos($query, " week("); + $newquery = substr($query, 0, $positionMySql); + + // Recuperer la date passee en parametre + $extractvalue = stristr($query, " week("); + $extractvalue = substr($extractvalue, 6); + $positionMySql = stripos($extractvalue, ")"); + // Conserver la fin de la requete + $endofquery = substr($extractvalue, $positionMySql); + $extractvalue = substr($extractvalue, 0, $positionMySql); + + // Remplacer l'instruction MySql en Sql Server + // Inserer la date en parametre et le reste de la requete + $query = $newquery." DATEPART(week, ".$extractvalue.$endofquery; + } + if (preg_match('/^insert\h+(?:INTO)?\h*(\w+?)\h*\(.*\b(?:row)?id\b.*\)\h+VALUES/i',$query,$matches)) + { + //var_dump($query); + //var_dump($matches); + if (stripos($query,'llx_c_departements') !== false) var_dump($query); + $sql='SET IDENTITY_INSERT ['.trim($matches[1]).'] ON;'; + @mssql_query($sql, $this->db); + $post_query='SET IDENTITY_INSERT ['.trim($matches[1]).'] OFF;'; + + } } - //print ""; if (! in_array($query,array('BEGIN','COMMIT','ROLLBACK'))) dol_syslog('sql='.$query, LOG_DEBUG); @@ -365,6 +430,11 @@ class DoliDBMssql extends DoliDB { $ret = mssql_query($query, $this->db); } + + if (!empty($post_query)) + { + @mssql_query($post_query, $this->db); + } if (! preg_match("/^COMMIT/i",$query) && ! preg_match("/^ROLLBACK/i",$query)) { @@ -379,12 +449,13 @@ class DoliDBMssql extends DoliDB $this->lasterrno = $row["code"]; dol_syslog(get_class($this)."::query SQL Error query: ".$query, LOG_ERR); + if ($original_query) dol_syslog(get_class($this)."::query SQL Original query: ".$original_query, LOG_ERR); dol_syslog(get_class($this)."::query SQL Error message: ".$this->lasterror." (".$this->lasterrno.")", LOG_ERR); } $this->lastquery=$query; $this->_results = $ret; } - + return $ret; } @@ -539,7 +610,8 @@ class DoliDBMssql extends DoliDB 1146 => 'DB_ERROR_NOSUCHTABLE', 1216 => 'DB_ERROR_NO_PARENT', 1217 => 'DB_ERROR_CHILD_EXISTS', - 1451 => 'DB_ERROR_CHILD_EXISTS' + 1451 => 'DB_ERROR_CHILD_EXISTS', + 1913 => 'DB_ERROR_KEY_NAME_ALREADY_EXISTS' ); if (isset($errorcode_map[$this->lasterrno])) @@ -563,7 +635,7 @@ class DoliDBMssql extends DoliDB return 'Not connected. Check setup parameters in conf/conf.php file and your mssql client and server versions'; } else { - return mssql_get_last_message($this->db); + return mssql_get_last_message(); } } @@ -655,20 +727,35 @@ class DoliDBMssql extends DoliDB */ function DDLCreateDb($database,$charset='',$collation='',$owner='') { - if (empty($charset)) $charset=$this->forcecharset; + /*if (empty($charset)) $charset=$this->forcecharset; if (empty($collation)) $collation=$this->forcecollate; + */ +<<<<<<< Updated upstream // ALTER DATABASE dolibarr_db DEFAULT CHARACTER SET latin DEFAULT COLLATE latin1_swedish_ci $sql = 'CREATE DATABASE '.$database; $sql.= ' DEFAULT CHARACTER SET '.$charset.' DEFAULT COLLATE '.$collation; +======= + $sql = 'CREATE DATABASE '.$this->EscapeFieldName($database); + //TODO: Check if we need to force a charset + //$sql.= ' DEFAULT CHARACTER SET '.$charset.' DEFAULT COLLATE '.$collation; +>>>>>>> Stashed changes $ret=$this->query($sql); - if (! $ret) - { - // On reessaie pour compatibilite avec mssql < 5.0 - $sql = 'CREATE DATABASE '.$database; - $ret=$this->query($sql); - } - + + + $this->select_db($database); + $sql="CREATE USER [$owner] FOR LOGIN [$owner]"; + mssql_query($sql,$this->db); + $sql="ALTER ROLE [db_owner] ADD MEMBER [$owner]"; + mssql_query($sql,$this->db); + + //For version >=2008 + $sql="ALTER DATABASE [$database] SET ANSI_NULL_DEFAULT ON;"; + @mssql_query($sql,$this->db); + $sql="ALTER DATABASE [$database] SET ANSI_NULL ON;"; + @mssql_query($sql,$this->db); + + return $ret; } @@ -884,12 +971,40 @@ class DoliDBMssql extends DoliDB */ function DDLCreateUser($dolibarr_main_db_host,$dolibarr_main_db_user,$dolibarr_main_db_pass,$dolibarr_main_db_name) { - // FIXME: Dummy method - // TODO: Implement - // May help: http://msdn.microsoft.com/fr-fr/library/ms173463.aspx - - // Always fail for now - return -1; + $sql = "CREATE LOGIN ".$this->EscapeFieldName($dolibarr_main_db_user)." WITH PASSWORD='$dolibarr_main_db_pass'"; + dol_syslog(get_class($this)."::DDLCreateUser", LOG_DEBUG); // No sql to avoid password in log + $resql=$this->query($sql); + if (! $resql) + { + if ($this->lasterrno != '15025') + { + return -1; + } + else + { + // If user already exists, we continue to set permissions + dol_syslog(get_class($this)."::DDLCreateUser sql=".$sql, LOG_WARNING); + } + } + $sql="SELECT name from sys.databases where name='".$dolibarr_main_db_name."'"; + $ressql=$this->query($sql); + if (! $ressql) + { + dol_syslog(get_class($this)."::DDLCreateUser sql=".$sql, LOG_WARNING); + return -1; + } + else + { + if ($num) + { + $this->select_db($dolibarr_main_db_name); + $sql="CREATE USER [$dolibarr_main_db_user] FOR LOGIN [$dolibarr_main_db_user]"; + $this->query($sql); + $sql="ALTER ROLE [db_owner] ADD MEMBER [$dolibarr_main_db_user]"; + $this->query($sql); + } + } + return 1; } /** @@ -1003,5 +1118,49 @@ class DoliDBMssql extends DoliDB return array(); } + + /** + * Escape a field name according to escape's syntax + * + * @param string $fieldname Field's name to escape + * @return string field's name escaped + */ + function EscapeFieldName($fieldname) { + return "[".$fieldname."]"; + } + + + /** + * Get information on field + * + * @param string $table Table name which contains fields + * @param mixed $fields String for one field or array of string for multiple field + * @return boolean|multitype:object + */ + function GetFieldInformation($table,$fields) { + $sql="SELECT * from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='".$this->escape($table)."' AND COLUMN_NAME"; + if (is_array($fields)) + { + $where=" IN ('".implode("','",$fields)."')"; + } + else + { + $where="='".$this->escape($fields)."'"; + } + $result=array(); + $ret=mssql_query($sql.$where,$this->db); + if ($ret) + { + while($obj=mssql_fetch_object($ret)) + { + $result[]=$obj; + } + } + else + return false; + + return $result; + } + } diff --git a/htdocs/install/etape1.php b/htdocs/install/etape1.php index 20450760127..50d5ee27b55 100644 --- a/htdocs/install/etape1.php +++ b/htdocs/install/etape1.php @@ -175,7 +175,7 @@ if (! $error) } else { - $databasefortest='mssql'; + $databasefortest='master'; } } //print $_POST["db_type"].",".$_POST["db_host"].",$userroot,$passroot,$databasefortest,".$_POST["db_port"]; @@ -486,7 +486,7 @@ if (! $error && $db->connected && $action == "set") } else if ($conf->db->type == 'mssql') { - $databasefortest='mssql'; + $databasefortest='master'; } // Creation handler de base, verification du support et connexion diff --git a/htdocs/install/etape2.php b/htdocs/install/etape2.php index f97f1afaa9c..1f6c5244d84 100644 --- a/htdocs/install/etape2.php +++ b/htdocs/install/etape2.php @@ -1,6 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur + * Copyright (C) 2015 Cedric GROSS * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -192,6 +193,11 @@ if ($action == "set") { $buffer=preg_replace('/type=innodb/i','ENGINE=innodb',$buffer); } + else if ($conf->db->type == 'mssql') + { + $buffer=preg_replace('/type=innodb/i','',$buffer); + $buffer=preg_replace('/ENGINE=innodb/i','',$buffer); + } // Replace the prefix tables if ($dolibarr_main_db_prefix != 'llx_') @@ -219,7 +225,7 @@ if ($action == "set") else { print "
"; print ''; $error++; diff --git a/htdocs/install/mssql/functions/functions.sql b/htdocs/install/mssql/functions/functions.sql deleted file mode 100644 index 1c2c76996dc312cc2440a2329d46530adb815d7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5010 zcmd^@T~8ZF6o%)P{S|wMX%i@|s;DiAaBNIn5uC!KHu}P{PFwK@HC|1`A7Om&`$a_!Z=LAeVB$}xC+-{#$JuxEq=cY zU+{Ux>P^Tv9fq9s_uQDX%6T5~yvN;mx*sk$z2W364A`HB?QqH87vbN@>%!p{PU7E$ zd(JmwtMnn(Pc(8Lql;8pDB0b zYuTh7KRFD?;e_WyC`Lv#z}IPbjr23~`Z-TWNIEwPc`Zd_ahfb>a^rTv-r15qQAP{d z?uV{PpM~g$G_=@pjR)v7x%a(Q}U-Ay1qoU!Ip&GV`x67`0NSOpr6= zOgekKgzgbE@{_zDJ@G0WAfbVDmr@Te(dNiBk`9j8mOURs+vTIkceo`@g*Iu~gQ9`{ zNA{%M6Lw!i*X7nWbSW!Gl4}|@cpQo^3(b^ELTHMu8TJj#^Encof0XhTI%TZTuGNkC zMo|+!J%g1cLwlCr27FaJR1H@V`xu?0CdyG|!WCR&G(CFj>XAIxwyYmh$tk4KxVlvQo8+-5B_ci2g&rXBtYwJ{gFQ1m$yx{o-iQi?;$sko=y`U&bTYthw= z&k?%~JN=Bk7P30w6{{R%38`Z$?=QskoLJ`UpOTHz=z#U|Ss!!?na}xl$kQJRzHUzq z9X5&k2&&)ER~7OWt~o1pwh5=Imdf)czp4cj&SO>c`z_-ll!=>c+ceDSsaJVwVOx3D z;#B;%@ZC%FI^?drnW2j;i~aBdTgTX(BfGzHnulM(Y8v(noz?kdf$El9EiDp!Dc{tQ zC=a!W%dz>ljaQD@`8yvZ#3TtD$Y|mf@6i{w~QbwpmIb;K=OAjFjzjP$Cw zj^cG(n}r9P7UdT9K(OW`R$w^PU zHdk)Z-4e7FHpP8;UCqc(C6hIQYI5x_@Eq~^spRord!WqX1M0}wva-x6;d2?A%8mDP zd|lQq-%3HE*O)r1<|04#L1~mJ{BH75C8%bMVkAT_w2)qRFY+rzX`AQsjsc4 zyM$7c{Q?j1uKIHMKa!eN0sVKxKdK37_?)l)Lm(?^6+CGQQ&n0gdy6 Date: Sat, 14 Feb 2015 16:33:05 +0100 Subject: [PATCH 092/137] Fix typo --- htdocs/core/db/mssql.class.php | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/htdocs/core/db/mssql.class.php b/htdocs/core/db/mssql.class.php index 55f5dbe1458..e2d938da710 100644 --- a/htdocs/core/db/mssql.class.php +++ b/htdocs/core/db/mssql.class.php @@ -3,6 +3,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur * Copyright (C) 2005-2007 Regis Houssin * Copyright (C) 2007 Simon Desee + * Copyright (C) 2015 Cedric GROSS * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -89,7 +90,6 @@ class DoliDBMssql extends DoliDB // (La base Dolibarr a ete forcee en this->forcecharset a l'install) $this->connected = 1; $this->ok = 1; - } else { @@ -180,10 +180,7 @@ class DoliDBMssql extends DoliDB "SET QUOTED_IDENTIFIER ON;" ); mssql_query(implode(' ',$set_options),$this->db); - - - - + return $this->db; } @@ -455,7 +452,7 @@ class DoliDBMssql extends DoliDB $this->lastquery=$query; $this->_results = $ret; } - + return $ret; } @@ -731,17 +728,10 @@ class DoliDBMssql extends DoliDB if (empty($collation)) $collation=$this->forcecollate; */ -<<<<<<< Updated upstream - // ALTER DATABASE dolibarr_db DEFAULT CHARACTER SET latin DEFAULT COLLATE latin1_swedish_ci - $sql = 'CREATE DATABASE '.$database; - $sql.= ' DEFAULT CHARACTER SET '.$charset.' DEFAULT COLLATE '.$collation; -======= $sql = 'CREATE DATABASE '.$this->EscapeFieldName($database); //TODO: Check if we need to force a charset //$sql.= ' DEFAULT CHARACTER SET '.$charset.' DEFAULT COLLATE '.$collation; ->>>>>>> Stashed changes $ret=$this->query($sql); - $this->select_db($database); $sql="CREATE USER [$owner] FOR LOGIN [$owner]"; @@ -749,14 +739,12 @@ class DoliDBMssql extends DoliDB $sql="ALTER ROLE [db_owner] ADD MEMBER [$owner]"; mssql_query($sql,$this->db); - //For version >=2008 $sql="ALTER DATABASE [$database] SET ANSI_NULL_DEFAULT ON;"; @mssql_query($sql,$this->db); $sql="ALTER DATABASE [$database] SET ANSI_NULL ON;"; @mssql_query($sql,$this->db); - - - return $ret; + + return $ret; } /** From 448655ea45cd394750fa14203efffaed03b2f476 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 14 Feb 2015 18:39:45 +0100 Subject: [PATCH 093/137] First work on a new module for expense report matching dolibarr standard to replace current one. --- htdocs/core/class/commonobject.class.php | 5 + htdocs/core/lib/functions.lib.php | 19 +- .../expensereport/modules_deplacement.php | 93 + .../expensereport/pdf_teclib.modules.php | 759 +++++++ htdocs/core/modules/modDeplacement.class.php | 2 +- .../core/modules/modExpenseReport.class.php | 347 ++++ htdocs/expensereport/ajax/ajaxprojet.php | 88 + htdocs/expensereport/card.php | 1776 +++++++++++++++++ .../class/expensereport.class.php | 1496 ++++++++++++++ .../class/expensereportstats.class.php | 163 ++ htdocs/expensereport/document.php | 131 ++ htdocs/expensereport/export_csv.php | 199 ++ htdocs/expensereport/index.php | 208 ++ htdocs/expensereport/info.php | 63 + htdocs/expensereport/list.php | 316 +++ htdocs/expensereport/stats/index.php | 297 +++ htdocs/expensereport/synchro_compta.php | 196 ++ .../install/mysql/migration/3.7.0-3.8.0.sql | 74 + .../mysql/tables/llx_expensereport.sql | 54 + .../mysql/tables/llx_expensereport_det.sql | 46 + .../install/mysql/tables/llx_facturedet.sql | 10 +- htdocs/langs/en_US/admin.lang | 11 + htdocs/langs/en_US/trips.lang | 135 +- htdocs/langs/fr_FR/expensereport.lang | 137 ++ 24 files changed, 6595 insertions(+), 30 deletions(-) create mode 100755 htdocs/core/modules/expensereport/modules_deplacement.php create mode 100755 htdocs/core/modules/expensereport/pdf_teclib.modules.php create mode 100755 htdocs/core/modules/modExpenseReport.class.php create mode 100755 htdocs/expensereport/ajax/ajaxprojet.php create mode 100755 htdocs/expensereport/card.php create mode 100755 htdocs/expensereport/class/expensereport.class.php create mode 100644 htdocs/expensereport/class/expensereportstats.class.php create mode 100644 htdocs/expensereport/document.php create mode 100755 htdocs/expensereport/export_csv.php create mode 100644 htdocs/expensereport/index.php create mode 100644 htdocs/expensereport/info.php create mode 100755 htdocs/expensereport/list.php create mode 100755 htdocs/expensereport/stats/index.php create mode 100755 htdocs/expensereport/synchro_compta.php create mode 100755 htdocs/install/mysql/tables/llx_expensereport.sql create mode 100644 htdocs/install/mysql/tables/llx_expensereport_det.sql create mode 100755 htdocs/langs/fr_FR/expensereport.lang diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 79f509225f6..6d464cceb29 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -1656,6 +1656,10 @@ abstract class CommonObject $fieldtva='tva'; $fieldup='pu_ht'; } + if ($this->element == 'expensereport') + { + $fieldup='value_unit'; + } $sql = 'SELECT rowid, qty, '.$fieldup.' as up, remise_percent, total_ht, '.$fieldtva.' as total_tva, total_ttc, '.$fieldlocaltax1.' as total_localtax1, '.$fieldlocaltax2.' as total_localtax2,'; $sql.= ' tva_tx as vatrate, localtax1_tx, localtax2_tx, localtax1_type, localtax2_type, info_bits, product_type'; @@ -1770,6 +1774,7 @@ abstract class CommonObject if ($this->element == 'facture' || $this->element == 'facturerec') $fieldht='total'; if ($this->element == 'facture_fourn' || $this->element == 'invoice_supplier') $fieldtva='total_tva'; if ($this->element == 'propal') $fieldttc='total'; + if ($this->element == 'expensereport') $fieldtva='total_tva'; if (empty($nodatabaseupdate)) { diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 0d247cdb181..10acc6a8c10 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -4172,13 +4172,14 @@ function print_date_range($date_start,$date_end,$format = '',$outputlangs='') /** * Format output for start and end date * - * @param timestamp $date_start Start date - * @param timestamp $date_end End date - * @param string $format Output format - * @param Translate $outputlangs Output language - * @return string String + * @param timestamp $date_start Start date + * @param timestamp $date_end End date + * @param string $format Output format + * @param Translate $outputlangs Output language + * @param string $withparenthesis 1=Add parenthesis, 0=non parenthesis + * @return string String */ -function get_date_range($date_start,$date_end,$format = '',$outputlangs='') +function get_date_range($date_start,$date_end,$format = '',$outputlangs='', $withparenthesis=1) { global $langs; @@ -4188,15 +4189,15 @@ function get_date_range($date_start,$date_end,$format = '',$outputlangs='') if ($date_start && $date_end) { - $out.= ' ('.$outputlangs->trans('DateFromTo',dol_print_date($date_start, $format, false, $outputlangs),dol_print_date($date_end, $format, false, $outputlangs)).')'; + $out.= ($withparenthesis?' (':'').$outputlangs->trans('DateFromTo',dol_print_date($date_start, $format, false, $outputlangs),dol_print_date($date_end, $format, false, $outputlangs)).($withparenthesis?')':''); } if ($date_start && ! $date_end) { - $out.= ' ('.$outputlangs->trans('DateFrom',dol_print_date($date_start, $format, false, $outputlangs)).')'; + $out.= ($withparenthesis?' (':'').$outputlangs->trans('DateFrom',dol_print_date($date_start, $format, false, $outputlangs)).($withparenthesis?')':''); } if (! $date_start && $date_end) { - $out.= ' ('.$outputlangs->trans('DateUntil',dol_print_date($date_end, $format, false, $outputlangs)).')'; + $out.= ($withparenthesis?' (':'').$outputlangs->trans('DateUntil',dol_print_date($date_end, $format, false, $outputlangs)).($withparenthesis?')':''); } return $out; diff --git a/htdocs/core/modules/expensereport/modules_deplacement.php b/htdocs/core/modules/expensereport/modules_deplacement.php new file mode 100755 index 00000000000..707eaad54b8 --- /dev/null +++ b/htdocs/core/modules/expensereport/modules_deplacement.php @@ -0,0 +1,93 @@ +load("trips"); + + // Increase limit for PDF build + $err=error_reporting(); + error_reporting(0); + @set_time_limit(120); + error_reporting($err); + + $dir = dol_buildpath('/expensereport/core/modules/expensereport/'); + + // Positionne modele sur le nom du modele a utiliser + if (! strlen($modele)) + { + if ($conf->global->DEPLACEMENT_ADDON_PDF) + { + $modele = $conf->global->DEPLACEMENT_ADDON_PDF; + } + else + { + print $langs->trans("Error")." ".$langs->trans("Error_DEPLACEMENT_ADDON_PDF_NotDefined"); + return 0; + } + } + + // Charge le modele + $file = "pdf_".$modele.".modules.php"; + if (file_exists($dir.$file)) + { + $classname = "pdf_".$modele; + require_once($dir.$file); + + $obj = new $classname($db); + $obj->message = $message; + + // We save charset_output to restore it because write_file can change it if needed for + // output format that does not support UTF8. + $sav_charset_output=$outputlangs->charset_output; + if ($obj->write_file($id, $outputlangs) > 0) + { + $outputlangs->charset_output=$sav_charset_output; + return 1; + } + else + { + $outputlangs->charset_output=$sav_charset_output; + dol_print_error($db,"expensereport_pdf_create Error: ".$obj->error); + return -1; + } + + } + else + { + dol_print_error('',$langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$dir.$file)); + return -1; + } +} diff --git a/htdocs/core/modules/expensereport/pdf_teclib.modules.php b/htdocs/core/modules/expensereport/pdf_teclib.modules.php new file mode 100755 index 00000000000..6b3b59639e5 --- /dev/null +++ b/htdocs/core/modules/expensereport/pdf_teclib.modules.php @@ -0,0 +1,759 @@ + + * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2008 Raphael Bertrand + * Copyright (C) 2010 Juanjo Menent + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * or see http://www.gnu.org/ + */ + +/** + * \file htdocs/expensereport/core/modules/expensereport/pdf_.modules.php + * \ingroup facture + * \brief File of class to generate invoices from crab model + * \author Laurent Destailleur + */ + +dol_include_once("/expensereport/core/modules/expensereport/modules_expensereport.php"); +require_once(DOL_DOCUMENT_ROOT."/product/class/product.class.php"); +require_once(DOL_DOCUMENT_ROOT."/core/lib/functions2.lib.php"); +require_once(DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'); +require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; + + + +/** + * Classe permettant de generer les factures au modele Crabe + */ +class pdf_ extends ModeleExpenseReport +{ + var $emetteur; // Objet societe qui emet + + + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + function __construct($db) + { + global $conf,$langs,$mysoc; + + $langs->load("main"); + $langs->load("trips"); + $langs->load("project"); + $langs->load("expensereport@expensereport"); + + $this->db = $db; + $this->name = ""; + $this->description = $langs->trans('PDFDescription'); + + // Dimension page pour format A4 + $this->type = 'pdf'; + $formatarray=pdf_getFormat(); + $this->page_largeur = $formatarray['width']; + $this->page_hauteur = $formatarray['height']; + $this->format = array($this->page_largeur,$this->page_hauteur); + $this->marge_gauche=isset($conf->global->MAIN_PDF_MARGIN_LEFT)?$conf->global->MAIN_PDF_MARGIN_LEFT:10; + $this->marge_droite=isset($conf->global->MAIN_PDF_MARGIN_RIGHT)?$conf->global->MAIN_PDF_MARGIN_RIGHT:10; + $this->marge_haute =isset($conf->global->MAIN_PDF_MARGIN_TOP)?$conf->global->MAIN_PDF_MARGIN_TOP:10; + $this->marge_basse =isset($conf->global->MAIN_PDF_MARGIN_BOTTOM)?$conf->global->MAIN_PDF_MARGIN_BOTTOM:10; + + $this->option_logo = 1; // Affiche logo + $this->option_tva = 1; // Gere option tva FACTURE_TVAOPTION + $this->option_modereg = 1; // Affiche mode reglement + $this->option_condreg = 1; // Affiche conditions reglement + $this->option_codeproduitservice = 1; // Affiche code produit-service + $this->option_multilang = 1; // Dispo en plusieurs langues + $this->option_escompte = 1; // Affiche si il y a eu escompte + $this->option_credit_note = 1; // Support credit notes + $this->option_freetext = 1; // Support add of a personalised text + $this->option_draft_watermark = 1; // Support add of a watermark on drafts + + $this->franchise=!$mysoc->tva_assuj; + + // Get source company + $this->emetteur=$mysoc; + if (empty($this->emetteur->country_code)) $this->emetteur->country_code=substr($langs->defaultlang,-2); // By default, if was not defined + + // Defini position des colonnes + // Defini position des colonnes + $this->posxpiece=$this->marge_gauche+1; + $this->posxdesc=20; + $this->posxdate=85; + $this->posxtype=105; + $this->posxprojet=125; + $this->posxtva=145; + $this->posxup=158; + $this->posxqty=170; + $this->postotalttc=176; + if ($this->page_largeur < 210) // To work with US executive format + { + $this->posxdate-=20; + $this->posxtype-=20; + $this->posxprojet-=20; + $this->posxtva-=20; + $this->posxup-=20; + $this->posxqty-=20; + $this->postotalttc-=20; + } + + $this->tva=array(); + $this->localtax1=array(); + $this->localtax2=array(); + $this->atleastoneratenotnull=0; + $this->atleastonediscount=0; + } + + + /** + * Function to build pdf onto disk + * + * @param Object $object Object to generate + * @param Translate $outputlangs Lang output object + * @param string $srctemplatepath Full path of source filename for generator using a template file + * @param int $hidedetails Do not show line details + * @param int $hidedesc Do not show desc + * @param int $hideref Do not show ref + */ + function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0) + { + global $user,$langs,$conf,$mysoc,$db,$hookmanager; + + if (! is_object($outputlangs)) $outputlangs=$langs; + // For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO + if (! empty($conf->global->MAIN_USE_FPDF)) $outputlangs->charset_output='ISO-8859-1'; + + + // Hack to use expensereport dir + $rootfordata = DOL_DATA_ROOT; + $rootforuser = DOL_DATA_ROOT; + // If multicompany module is enabled, we redefine the root of data + //if (! empty($this->multicompany->enabled) && ! empty($this->entity) && $this->entity > 1) + //{ + // $rootfordata.='/'.$this->entity; + //} + $conf->expensereport->dir_output = $rootfordata.'/expensereport'; + $conf->expensereport_->dir_output = $rootfordata.'/expensereport'; + + + $outputlangs->load("main"); + $outputlangs->load("dict"); + $outputlangs->load("trips"); + $outputlangs->load("project"); + $outputlangs->load("expensereport@expensereport"); + + $default_font_size = pdf_getPDFFontSize($outputlangs); + + if ($conf->expensereport_->dir_output) + { + // Definition de l'objet $object (pour compatibilite ascendante) + if (! is_object($object)) + { + $id = $object; + $object = new ExpenseReport($db); + $ret=$object->fetch($id,$user); + } + + $objectref = dol_sanitizeFileName($object->ref_number); + $dir = $conf->expensereport_->dir_output . "/" . $objectref; + $file = $dir . "/" . $objectref . ".pdf"; + + if (! file_exists($dir)) + { + if (dol_mkdir($dir) < 0) + { + $this->error=$langs->transnoentities("ErrorCanNotCreateDir",$dir); + return 0; + } + } + + if (isset($object->lignes) && ! isset($object->lines)) $object->lines=$object->lignes; + + if (file_exists($dir)) + { + $nblignes = count($object->lines); + + // Create pdf instance + $pdf=pdf_getInstance($this->format); + + if (class_exists('TCPDF')) + { + $pdf->setPrintHeader(false); + $pdf->setPrintFooter(false); + } + $pdf->SetFont(pdf_getPDFFont($outputlangs)); + // Set path to the background PDF File + if (empty($conf->global->MAIN_DISABLE_FPDI) && ! empty($conf->global->MAIN_ADD_PDF_BACKGROUND)) + { + $pagecount = $pdf->setSourceFile($conf->mycompany->dir_output.'/'.$conf->global->MAIN_ADD_PDF_BACKGROUND); + $tplidx = $pdf->importPage(1); + } + + $pdf->Open(); + $pagenb=0; + $pdf->SetDrawColor(128,128,128); + + $pdf->SetTitle($outputlangs->convToOutputCharset($object->ref_number)); + $pdf->SetSubject($outputlangs->transnoentities("Trips")); + $pdf->SetCreator(""); + $pdf->SetAuthor($outputlangs->convToOutputCharset($user->getFullName($outputlangs))); + $pdf->SetKeyWords($outputlangs->convToOutputCharset($object->ref_number)." ".$outputlangs->transnoentities("Trips")); + if (! empty($conf->global->MAIN_DISABLE_PDF_COMPRESSION)) $pdf->SetCompression(false); + + $pdf->SetMargins($this->marge_gauche, $this->marge_haute, $this->marge_droite); // Left, Top, Right + $pdf->SetAutoPageBreak(1,0); + + // Positionne $this->atleastonediscount si on a au moins une remise + for ($i = 0 ; $i < $nblignes ; $i++) + { + if ($object->lines[$i]->remise_percent) + { + $this->atleastonediscount++; + } + } + + // New page + $pdf->AddPage(); + if (! empty($tplidx)) $pdf->useTemplate($tplidx); + $pagenb++; + $this->_pagehead($pdf, $object, 1, $outputlangs); + $pdf->SetFont('','', $default_font_size - 1); + $pdf->MultiCell(0, 3, ''); // Set interline to 3 + $pdf->SetTextColor(0,0,0); + + $tab_top = 95; + $tab_top_newpage = 95; + $tab_height = 110; + $tab_height_newpage = 110; + + // Affiche notes + if (! empty($object->note)) + { + $tab_top = 93; + + $pdf->SetFont('','', $default_font_size - 1); + $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top, dol_htmlentitiesbr($object->note), 0, 1); + $nexY = $pdf->GetY(); + $height_note=$nexY-$tab_top; + + // Rect prend une longueur en 3eme param + $pdf->SetDrawColor(192,192,192); + $pdf->Rect($this->marge_gauche, $tab_top-1, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $height_note+1); + + $tab_height = $tab_height - $height_note; + $tab_top = $nexY+6; + } + else + { + $height_note=0; + } + + $iniY = $tab_top + 7; + $curY = $tab_top + 7; + $nexY = $tab_top + 7; + + // Loop on each lines + for ($i = 0 ; $i < $nblignes ; $i++) + { + $curY = $nexY; + $pdf->SetFont('','', $default_font_size - 1); // Into loop to work with multipage + $pdf->SetTextColor(0,0,0); + + $piece_comptable = $i +1; + + // Piece comptable + $pdf->SetFont('','', $default_font_size - 1); + $pdf->writeHTMLCell($this->posxcomment-$this->posxpiece-1, 3, $this->posxpiece-1, $curY, $piece_comptable, 0, 1); + + // Comments + $pdf->SetFont('','', $default_font_size - 1); + $pdf->SetXY ($this->posxcomment, $curY); + $pdf->writeHTMLCell($this->posxdate-$this->posxdesc-1, 3, $this->posxdesc-1, $curY, $object->lignes[$i]->comments, 0, 1); + + //nexY + $nexY = $pdf->GetY(); + + // Date + $pdf->SetFont('','', $default_font_size - 1); + $pdf->SetXY ($this->posxdate, $curY); + $pdf->MultiCell($this->posxtype-$this->posxdate-1, 3,dol_print_date($object->lignes[$i]->date,"day",false,$outpulangs), 0, 'C'); + + // Type + $pdf->SetFont('','', $default_font_size - 1); + $pdf->SetXY ($this->posxtype, $curY); + $pdf->MultiCell($this->posxprojet-$this->posxtype-1, 3,$outputlangs->transnoentities($object->lignes[$i]->type_fees_code), 0, 'C'); + + // Projet + $pdf->SetFont('','', $default_font_size - 1); + $pdf->SetXY ($this->posxprojet, $curY); + $pdf->MultiCell($this->posxtva-$this->posxprojet-1, 3,$object->lignes[$i]->projet_ref, 0, 'C'); + + // TVA + $pdf->SetFont('','', $default_font_size - 1); + $pdf->SetXY ($this->posxtva, $curY); + $pdf->MultiCell($this->posxup-$this->posxtva-1, 3,vatrate($object->lignes[$i]->tva_taux,true), 0, 'R'); + + // UP + $pdf->SetFont('','', $default_font_size - 1); + $pdf->SetXY ($this->posxup, $curY); + $pdf->MultiCell($this->posxqty-$this->posxup-1, 3,price($object->lignes[$i]->value_unit), 0, 'R'); + + // QTY + $pdf->SetFont('','', $default_font_size - 1); + $pdf->SetXY ($this->posxqty, $curY); + $pdf->MultiCell($this->postotalttc-$this->posxqty, 3,$object->lignes[$i]->qty, 0, 'C'); + + // TotalTTC + $pdf->SetFont('','', $default_font_size - 1); + $pdf->SetXY ($this->postotalttc-2, $curY); + $pdf->MultiCell(26, 3,price($object->lignes[$i]->total_ttc), 0, 'R'); + + $nexY+=5; + + // Cherche nombre de lignes a venir pour savoir si place suffisante + if ($i < ($nblignes - 1)) // If it's not last line + { + //on recupere la description du produit suivant + $follow_descproduitservice = $object->lines[$i+1]->desc; + //on compte le nombre de ligne afin de verifier la place disponible (largeur de ligne 52 caracteres) + $nblineFollowDesc = dol_nboflines_bis($follow_descproduitservice,52,$outputlangs->charset_output)*4; + // Et si on affiche dates de validite, on ajoute encore une ligne + if ($object->lines[$i]->date_start && $object->lines[$i]->date_end) + { + $nblineFollowDesc += 4; + } + } + else // If it's last line + { + $nblineFollowDesc = 0; + } + + // Test if a new page is required + if ($pagenb == 1) + { + $tab_top_in_current_page=$tab_top; + $tab_height_in_current_page=$tab_height; + } + else + { + $tab_top_in_current_page=$tab_top_newpage; + $tab_height_in_current_page=$tab_height_newpage; + } + if (($nexY+$nblineFollowDesc) > ($tab_top_in_current_page+$tab_height_in_current_page) && $i < ($nblignes - 1)) + { + if ($pagenb == 1): + $this->_tableau($pdf, $tab_top, $tab_height, $nexY, $outputlangs); + $nexY=$tab_top + $tab_height + 1; + else: + $this->_tableau($pdf, $tab_top_newpage, $tab_height_newpage, $nexY, $outputlangs); + $nexY=$tab_top_newpage + $tab_height_newpage + 1; + endif; + + $this->_pagefoot($pdf,$object,$outputlangs); + + // New page + $pdf->AddPage(); + $pagenb++; + $this->_pagehead($pdf, $object, 0, $outputlangs); + $pdf->SetFont('','', $default_font_size - 1); + $pdf->MultiCell(0, 3, ''); // Set interline to 3 + $pdf->SetTextColor(0,0,0); + + $nexY = $tab_top_newpage + 7; + } + + } + + // Show square + if ($pagenb == 1) + { + $this->_tableau($pdf, $tab_top, $tab_height, $nexY, $outputlangs); + $bottomlasttab=$tab_top + $tab_height + 1; + } + else + { + $this->_tableau($pdf, $tab_top_newpage, $tab_height_newpage, $nexY, $outputlangs); + $bottomlasttab=$tab_top_newpage + $tab_height_newpage + 1; + } + + // Affiche zone totaux + $posy=$bottomlasttab+5;//$nexY+95; + $pdf->SetXY(120, $posy); + $pdf->MultiCell(50, 5, $outputlangs->transnoentities("TotalHT"), 1, 'L'); + $pdf->SetXY (170, $posy); + $pdf->MultiCell(30, 5, price($object->total_ht), 1, 'R'); + $pdf->SetFillColor(248,248,248); + + $posy+=5; + $pdf->SetXY (120, $posy); + $pdf->SetFont('','B', 10); + $pdf->SetTextColor(0,0,60); + $pdf->MultiCell(50, 5, $outputlangs->transnoentities("TotalTTC"), 1,'L'); + $pdf->SetXY (170, $posy); + $pdf->MultiCell(30, 5, price($object->total_ttc),1, 'R'); + + // Pied de page + $this->_pagefoot($pdf,$object,$outputlangs); + if (method_exists($pdf,'AliasNbPages')) $pdf->AliasNbPages(); + + $pdf->Close(); + + $pdf->Output($file,'F'); + + // Add pdfgeneration hook + if (! is_object($hookmanager)) + { + include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php'; + $hookmanager=new HookManager($this->db); + } + $hookmanager->initHooks(array('pdfgeneration')); + $parameters=array('file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs); + global $action; + $reshook=$hookmanager->executeHooks('afterPDFCreation',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks + + if (! empty($conf->global->MAIN_UMASK)) + @chmod($file, octdec($conf->global->MAIN_UMASK)); + + return 1; // Pas d'erreur + } + else + { + $this->error=$langs->trans("ErrorCanNotCreateDir",$dir); + return 0; + } + } + else + { + $this->error=$langs->trans("ErrorConstantNotDefined","DEPLACEMENT_OUTPUTDIR"); + return 0; + } + $this->error=$langs->trans("ErrorUnknown"); + return 0; // Erreur par defaut + } + + /** + * Show top header of page. + * + * @param PDF &$pdf Object PDF + * @param Object $object Object to show + * @param int $showaddress 0=no, 1=yes + * @param Translate $outputlangs Object lang for output + * @return void + */ + function _pagehead(&$pdf, $object, $showaddress, $outputlangs) + { + global $conf,$langs,$hookmanager; + + $outputlangs->load("main"); + $outputlangs->load("trips"); + $outputlangs->load("companies"); + $default_font_size = pdf_getPDFFontSize($outputlangs); + + /* + // ajout du fondu vert en bas de page à droite + $image_fondue = $conf->mycompany->dir_output.'/fondu_vert_.jpg'; + $pdf->Image($image_fondue,20,107,200,190); + + pdf_pagehead($pdf,$outputlangs,$this->page_hauteur); + */ + + // Filligrane brouillon + if($object->fk_c_expensereport_statuts==1) + { + pdf_watermark($pdf,$outputlangs,$this->page_hauteur,$this->page_largeur,'mm',"' - PREVIEW ONLY"); + } + + $pdf->SetTextColor(0,0,60); + $pdf->SetFont('','B', $default_font_size + 3); + + $posy=$this->marge_haute; + $posx=$this->page_largeur-$this->marge_droite-100; + + $pdf->SetXY($this->marge_gauche,$posy); + + // Logo + $logo=$conf->mycompany->dir_output.'/logos/'.$this->emetteur->logo; + if ($this->emetteur->logo) + { + if (is_readable($logo)) + { + $height=pdf_getHeightForLogo($logo); + $pdf->Image($logo, $this->marge_gauche, $posy, 0, $height); // width=0 (auto) + } + else + { + $pdf->SetTextColor(200,0,0); + $pdf->SetFont('','B', $default_font_size -2); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("ErrorLogoFileNotFound",$logo), 0, 'L'); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("ErrorGoToGlobalSetup"), 0, 'L'); + } + } + else + { + $text=$this->emetteur->name; + $pdf->MultiCell(100, 4, $outputlangs->convToOutputCharset($text), 0, 'L'); + } + + $pdf->SetFont('','B', $default_font_size + 6); + $pdf->SetXY($posx,$posy); + $pdf->SetTextColor(255,255,255); + $pdf->SetFillColor(193,219,62); + $ref_text = explode($conf->global->NDF_EXPLODE_CHAR,$object->ref_number); + $ref_text = substr($ref_text[1],3,$conf->global->NDF_NUM_CAR_REF); + $pdf->MultiCell(110,6,"Note de frais ".$ref_text, 0, 'L', 1); + + $pdf->SetFont('','', $default_font_size -1); + + // Réf complète + $posy+=8; + $pdf->SetXY(100,$posy); + $pdf->SetTextColor(0,0,60); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("Ref")." : " . $object->ref_number, '', 'L'); + + // Date début période + $posy+=5; + $pdf->SetXY(100,$posy); + $pdf->SetTextColor(0,0,60); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("DateStart")." : " . ($object->date_debut>0?$object->date_debut:dol_print_date($object->date_debut,"day",false,$outpulangs)), '', 'L'); + + // Date fin période + $posy+=5; + $pdf->SetXY(100,$posy); + $pdf->SetTextColor(0,0,60); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("DateEnd")." : " . ($object->date_fin>0?dol_print_date($object->date_fin,"day",false,$outpulangs):''), '', 'L'); + + // Statut NDF + $posy+=7; + $pdf->SetXY(100,$posy); + $pdf->SetFont('','B',20); + $pdf->SetTextColor(111,81,124); + if(preg_match("#Pay#",$object->libelle_statut) && !preg_match("#A P#",$object->libelle_statut)): + $pdf->MultiCell(100, 3,$outputlangs->convToOutputCharset("Payée"), '', 'L'); + elseif(preg_match("#Annul#",$object->libelle_statut)): + $pdf->MultiCell(100, 3,$outputlangs->convToOutputCharset("Annulée"), '', 'L'); + elseif(preg_match("#Refus#",$object->libelle_statut)): + $pdf->MultiCell(100, 3,$outputlangs->convToOutputCharset("Refusée"), '', 'L'); + else: + $pdf->MultiCell(100, 3,$object->libelle_statut, '', 'L'); + endif; + + // Sender properties + $carac_emetteur = ''; + $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->convToOutputCharset($this->emetteur->address); + $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->convToOutputCharset($this->emetteur->zip).' '.$outputlangs->convToOutputCharset($this->emetteur->town); + $carac_emetteur .= "\n"; + // Tel + if ($this->emetteur->phone) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->transnoentities("Phone")." : ".$outputlangs->convToOutputCharset($this->emetteur->phone); + // Fax + if ($this->emetteur->fax) $carac_emetteur .= ($carac_emetteur ? ($this->emetteur->tel ? " - " : "\n") : '' ).$outputlangs->transnoentities("Fax")." : ".$outputlangs->convToOutputCharset($this->emetteur->fax); + // EMail + if ($this->emetteur->email) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->transnoentities("Email")." : ".$outputlangs->convToOutputCharset($this->emetteur->email); + // Web + if ($this->emetteur->url) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->transnoentities("Web")." : ".$outputlangs->convToOutputCharset($this->emetteur->url); + + // Show sender + $posy=50; + $posx=$this->marge_gauche; + $hautcadre=40; + if (! empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) $posx=118; + + // Show sender frame + $pdf->SetTextColor(0,0,0); + $pdf->SetFont('','B', $default_font_size - 2); + $pdf->SetXY($posx,$posy-5); + $pdf->MultiCell(66,5, $outputlangs->transnoentities("TripSociete")." :",'','L'); + $pdf->SetXY($posx,$posy); + $pdf->SetFillColor(224,224,224); + $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); + $pdf->SetTextColor(0,0,60); + + // Show sender name + $pdf->SetXY($posx+2,$posy+3); + $pdf->SetFont('','B', $default_font_size); + $pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); + + // Show sender information + $pdf->SetXY($posx+2,$posy+8); + $pdf->SetFont('','', $default_font_size - 1); + $pdf->MultiCell(80, 4, $carac_emetteur, 0, 'L'); + + // Show recipient + $posy=50; + $posx=100; + + // Show recipient frame + $pdf->SetTextColor(0,0,0); + $pdf->SetFont('','B',8); + $pdf->SetXY($posx,$posy-5); + $pdf->MultiCell(80,5, $outputlangs->transnoentities("TripNDF")." :", 0, 'L'); + $pdf->rect($posx, $posy, 100, $hautcadre); + + // Informations for trip (dates and users workflow) + $userfee=new User($this->db); + $userfee->fetch($object->fk_user_author); $posy+=3; + $pdf->SetXY($posx+2,$posy); + $pdf->SetFont('','',10); + $pdf->MultiCell(96,4,$outputlangs->transnoentities("AUTHOR")." : ".$outputlangs->convToOutputCharset($userfee->firstname)." ".$outputlangs->convToOutputCharset($userfee->lastname),0,'L'); + $posy+=5; + $pdf->SetXY($posx+2,$posy); + $pdf->MultiCell(96,4,$outputlangs->transnoentities("DATE_SAVE")." : ".dol_print_date($object->date_create,"day",false,$outpulangs),0,'L'); + + if($object->fk_c_expensereport_statuts<3): + $userfee=new User($this->db); + $userfee->fetch($object->fk_user_validator); $posy+=6; + $pdf->SetXY($posx+2,$posy); + $pdf->MultiCell(96,4,$outputlangs->transnoentities("VALIDATOR")." : ".$outputlangs->convToOutputCharset($userfee->firstname)." ".$outputlangs->convToOutputCharset($userfee->lastname),0,'L'); + elseif($object->fk_c_expensereport_statuts==99): + $userfee=new User($this->db); + $userfee->fetch($object->fk_user_refuse); $posy+=6; + $pdf->SetXY($posx+2,$posy); + $pdf->MultiCell(96,4,$outputlangs->transnoentities("REFUSEUR")." : ".$outputlangs->convToOutputCharset($userfee->firstname)." ".$outputlangs->convToOutputCharset($userfee->lastname),0,'L'); + $posy+=5; + $pdf->SetXY($posx+2,$posy); + $pdf->MultiCell(96,4,$outputlangs->transnoentities("MOTIF_REFUS")." : ".$outputlangs->convToOutputCharset($object->detail_refuse),0,'L'); + $posy+=5; + $pdf->SetXY($posx+2,$posy); + $pdf->MultiCell(96,4,$outputlangs->transnoentities("DATE_REFUS")." : ".dol_print_date($object->date_refuse,"day",false,$outpulangs),0,'L'); + elseif($object->fk_c_expensereport_statuts==4): + $userfee=new User($this->db); + $userfee->fetch($object->fk_user_cancel); $posy+=6; + $pdf->SetXY($posx+2,$posy); + $pdf->MultiCell(96,4,$outputlangs->transnoentities("CANCEL_USER")." : ".$outputlangs->convToOutputCharset($userfee->firstname)." ".$outputlangs->convToOutputCharset($userfee->lastname),0,'L'); + $posy+=5; + $pdf->SetXY($posx+2,$posy); + $pdf->MultiCell(96,4,$outputlangs->transnoentities("MOTIF_CANCEL")." : ".$outputlangs->convToOutputCharset($object->detail_cancel),0,'L'); + $posy+=5; + $pdf->SetXY($posx+2,$posy); + $pdf->MultiCell(96,4,$outputlangs->transnoentities("DATE_CANCEL")." : ".dol_print_date($object->date_cancel,"day",false,$outpulangs),0,'L'); + else: + $userfee=new User($this->db); + $userfee->fetch($object->fk_user_validator); $posy+=6; + $pdf->SetXY($posx+2,$posy); + $pdf->MultiCell(96,4,$outputlangs->transnoentities("VALIDOR")." : ".$outputlangs->convToOutputCharset($userfee->firstname)." ".$outputlangs->convToOutputCharset($userfee->lastname),0,'L'); + $posy+=5; + $pdf->SetXY($posx+2,$posy); + $pdf->MultiCell(96,4,$outputlangs->transnoentities("DATE_VALIDE")." : ".dol_print_date($object->date_valide,"day",false,$outpulangs),0,'L'); + endif; + + if($object->fk_c_expensereport_statuts==6): + $userfee=new User($this->db); + $userfee->fetch($object->fk_user_paid); $posy+=6; + $pdf->SetXY($posx+2,$posy); + $pdf->MultiCell(96,4,$outputlangs->transnoentities("AUTHORPAIEMENT")." : ".$outputlangs->convToOutputCharset($userfee->firstname)." ".$outputlangs->convToOutputCharset($userfee->lastname),0,'L'); + $posy+=5; + $pdf->SetXY($posx+2,$posy); + $pdf->MultiCell(96,4,$outputlangs->transnoentities("DATE_PAIEMENT")." : ".dol_print_date($object->date_paiement,"day",false,$outpulangs),0,'L'); + endif; + + } + + /** + * Affiche la grille des lignes de factures + * + * @param $pdf Objet PDF + * @param $tab_top Tab top + * @param $tab_height Tab height + * @param $nexY next y + * @param $outputlangs Output langs + * @return void + */ + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs) + { + global $conf; + + $default_font_size = pdf_getPDFFontSize($outputlangs); + + // Amount in (at tab_top - 1) + $pdf->SetTextColor(0,0,0); + $pdf->SetFont('','', $default_font_size - 2); + $titre = $outputlangs->transnoentities("AmountInCurrency",$outputlangs->transnoentitiesnoconv("Currency".$conf->currency)); + $pdf->SetXY($this->page_largeur - $this->marge_droite - ($pdf->GetStringWidth($titre) + 4), $tab_top -4); + $pdf->MultiCell(($pdf->GetStringWidth($titre) + 3), 2, $titre); + + $pdf->SetDrawColor(128,128,128); + + // Rect prend une longueur en 3eme param + $pdf->Rect($this->marge_gauche, $tab_top, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $tab_height); + // line prend une position y en 3eme param + $pdf->line($this->marge_gauche, $tab_top+5, $this->page_largeur-$this->marge_droite, $tab_top+5); + + $pdf->SetFont('','',8); + + //Piece comptable + $pdf->SetXY ($this->posxpiece-1, $tab_top+1); + $pdf->MultiCell($this->posxpiece-$this->posxpiece-1,1,$outputlangs->transnoentities("Piece"),'','L'); + + //Comments + $pdf->line($this->posxdesc-1, $tab_top, $this->posxdesc-1, $tab_top + $tab_height); + $pdf->SetXY ($this->posxdesc-1, $tab_top+1); + $pdf->MultiCell($this->posxdate-$this->posxdesc-1,1,$outputlangs->transnoentities("Description"),'','L'); + + //Date + $pdf->line($this->posxdate-1, $tab_top, $this->posxdate-1, $tab_top + $tab_height); + $pdf->SetXY ($this->posxdate-1, $tab_top+1); + $pdf->MultiCell($this->posxtype-$this->posxdate-1,2, $outputlangs->transnoentities("Date"),'','C'); + + //Type + $pdf->line($this->posxtype-1, $tab_top, $this->posxtype-1, $tab_top + $tab_height); + $pdf->SetXY ($this->posxtype-1, $tab_top+1); + $pdf->MultiCell($this->posxprojet-$this->posxtype-1,2, $outputlangs->transnoentities("Type"),'','C'); + + // Projet + $pdf->line($this->posxprojet-1, $tab_top, $this->posxprojet-1, $tab_top + $tab_height); + $pdf->SetXY ($this->posxprojet-1, $tab_top+1); + $pdf->MultiCell($this->posxtva-$this->posxprojet-1,2, $outputlangs->transnoentities("Project"),'','C'); + + //TVA + $pdf->line($this->posxtva-1, $tab_top, $this->posxtva-1, $tab_top + $tab_height); + $pdf->SetXY ($this->posxtva-1, $tab_top+1); + $pdf->MultiCell($this->posxup-$this->posxtva-1,2, $outputlangs->transnoentities("VAT"),'','C'); + + //PU + $pdf->line($this->posxup-1, $tab_top, $this->posxup-1, $tab_top + $tab_height); + $pdf->SetXY ($this->posxup-1, $tab_top+1); + $pdf->MultiCell($this->posxqty-$this->posxup-1,2, $outputlangs->transnoentities("PU"),'','C'); + + //QTY + $pdf->line($this->posxqty-1, $tab_top, $this->posxqty-1, $tab_top + $tab_height); + $pdf->SetXY ($this->posxqty-1, $tab_top+1); + $pdf->MultiCell($this->postotalttc-$this->posxqty,2, $outputlangs->transnoentities("Q"),'','R'); + + //TOTALTTC + $pdf->line($this->postotalttc, $tab_top, $this->postotalttc, $tab_top + $tab_height); + $pdf->SetXY ($this->postotalttc-4, $tab_top+1); + $pdf->MultiCell(28,2, $outputlangs->transnoentities("TotalTTC"),'','R'); + + $pdf->SetTextColor(0,0,0); + } + + /** + * Show footer of page. Need this->emetteur object + * + * @param PDF &$pdf PDF + * @param Object $object Object to show + * @param Translate $outputlangs Object lang for output + * @param int $hidefreetext 1=Hide free text + * @return int Return height of bottom margin including footer text + */ + function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + { + return pdf_pagefoot($pdf,$outputlangs,'DEPLACEMENT_FREE_TEXT',$this->emetteur,$this->marge_basse,$this->marge_gauche,$this->page_hauteur,$object,0,$hidefreetext); + } + +} + diff --git a/htdocs/core/modules/modDeplacement.class.php b/htdocs/core/modules/modDeplacement.class.php index c536553ac4b..f08a346577a 100644 --- a/htdocs/core/modules/modDeplacement.class.php +++ b/htdocs/core/modules/modDeplacement.class.php @@ -50,7 +50,7 @@ class modDeplacement extends DolibarrModules $this->description = "Gestion des notes de frais et deplacements"; // Si traduction Module75Desc non trouvee // Possible values for version are: 'development', 'experimental', 'dolibarr' or version - $this->version = 'dolibarr'; + $this->version = 'dolibarr_deprecated'; $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); $this->special = 0; diff --git a/htdocs/core/modules/modExpenseReport.class.php b/htdocs/core/modules/modExpenseReport.class.php new file mode 100755 index 00000000000..54d0496a4dd --- /dev/null +++ b/htdocs/core/modules/modExpenseReport.class.php @@ -0,0 +1,347 @@ + + * Copyright (C) 2004-2009 Laurent Destailleur + * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2011 Dimitri Mouillard + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/** + * \defgroup Indicateurs + * \brief Module indicateurs + * Such a file must be copied into htdocs/includes/module directory. + */ + +/** + * \file htdocs/indicateurs/core/modules/modExpenseReport.class.php + * \ingroup indicateur + * \brief Description and activation file for module ExpenseReport + */ +include_once(DOL_DOCUMENT_ROOT ."/core/modules/DolibarrModules.class.php"); + + +/** + * Description and activation class for module ExpenseReport + */ +class modExpenseReport extends DolibarrModules +{ + /** + * Constructor. Define names, constants, directories, boxes, permissions + * + * @param Database $db Database handler + */ + function __construct($db) + { + global $conf; + + $this->db = $db; + + // Id for module (must be unique). + // Use here a free id (See in Home -> System information -> Dolibarr for list of used modules id). + $this->numero = 770; + // Key text used to identify module (for permissions, menus, etc...) + $this->rights_class = 'deplacement'; + + // Family can be 'crm','financial','hr','projects','products','ecm','technic','other' + // It is used to group modules in module setup page + $this->family = "hr"; + // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) + $this->name = preg_replace('/^mod/i','',get_class($this)); + // Module description, used if translation string 'ModuleXXXDesc' not found (where XXX is value of numeric property 'numero' of module) + $this->description = "Manage and claim expense reports (transportation, meal, ...)"; + // Possible values for version are: 'development', 'experimental', 'dolibarr' or version + $this->version = 'dolibarr'; + // Key used in llx_const table to save module status enabled/disabled (where MYMODULE is value of property name of module in uppercase) + $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); + // Where to store the module in setup page (0=common,1=interface,2=others,3=very specific) + $this->special = 0; + // Name of image file used for this module. + // If file is in theme/yourtheme/img directory under name object_pictovalue.png, use this->picto='pictovalue' + // If file is in module/img directory under name object_pictovalue.png, use this->picto='pictovalue@module' + $this->picto='trip'; + + // Defined if the directory /mymodule/inc/triggers/ contains triggers or not + $this->triggers = 0; + + // Data directories to create when module is enabled. + // Example: this->dirs = array("/mymodule/temp"); + $this->dirs = array(); + $r=0; + + // Relative path to module style sheet if exists. Example: '/mymodule/css/mycss.css'. + //$this->style_sheet = '/mymodule/mymodule.css.php'; + + // Config pages. Put here list of php page names stored in admmin directory used to setup module. + $this->config_page_url = array(); + + // Dependencies + $this->depends = array(); // List of modules id that must be enabled if this module is enabled +// $this->conflictwith = array("modDeplacement"); + $this->requiredby = array(); // List of modules id to disable if this one is disabled + $this->phpmin = array(4,3); // Minimum version of PHP required by module + $this->need_dolibarr_version = array(3,0); // Minimum version of Dolibarr required by module + $this->langfiles = array("companies","trips","deplacement@deplacement"); + + // Constants + // Example: $this->const=array(0=>array('MYMODULE_MYNEWCONST1','chaine','myvalue','This is a constant to add',0), + // 1=>array('MYMODULE_MYNEWCONST2','chaine','myvalue','This is another constant to add',0) ); + // 2=>array('MAIN_MODULE_MYMODULE_NEEDSMARTY','chaine',1,'Constant to say module need smarty',0) + $this->const = array(); // List of particular constants to add when module is enabled (key, 'chaine', value, desc, visible, 0 or 'allentities') + + // Array to add new pages in new tabs + $this->tabs = array(); + // where entity can be + // 'thirdparty' to add a tab in third party view + // 'intervention' to add a tab in intervention view + // 'order_supplier' to add a tab in supplier order view + // 'invoice_supplier' to add a tab in supplier invoice view + // 'invoice' to add a tab in customer invoice view + // 'order' to add a tab in customer order view + // 'product' to add a tab in product view + // 'stock' to add a tab in stock view + // 'propal' to add a tab in propal view + // 'member' to add a tab in fundation member view + // 'contract' to add a tab in contract view + // 'user' to add a tab in user view + // 'group' to add a tab in group view + // 'contact' to add a tab in contact view + + + // Boxes + $this->boxes = array(); // List of boxes + $r=0; + + // Add here list of php file(s) stored in includes/boxes that contains class to show a box. + // Example: + //$this->boxes[$r][1] = "myboxa.php"; + //$r++; + //$this->boxes[$r][1] = "myboxb.php"; + //$r++; + + + // Permissions + $this->rights = array(); // Permission array used by this module + $this->rights_class = 'expensereport'; + + $this->rights[1][0] = 771; + $this->rights[1][1] = 'Read expense reports (own and his subordinates)'; + $this->rights[1][2] = 'r'; + $this->rights[1][3] = 1; + $this->rights[1][4] = 'lire'; + + $this->rights[3][0] = 772; + $this->rights[3][1] = 'Create/modify expense reports'; + $this->rights[3][2] = 'w'; + $this->rights[3][3] = 0; + $this->rights[3][4] = 'creer'; + + $this->rights[4][0] = 773; + $this->rights[4][1] = 'Delete expense reports'; + $this->rights[4][2] = 'd'; + $this->rights[4][3] = 0; + $this->rights[4][4] = 'supprimer'; + + $this->rights[2][0] = 774; + $this->rights[2][1] = 'Read all expense reports'; + $this->rights[2][2] = 'r'; + $this->rights[2][3] = 1; + $this->rights[2][4] = 'readall'; + + $this->rights[6][0] = 775; + $this->rights[6][1] = 'Approve expense reports'; + $this->rights[6][2] = 'w'; + $this->rights[6][3] = 0; + $this->rights[6][4] = 'to_validate'; + + $this->rights[7][0] = 776; + $this->rights[7][1] = 'Pay expense reports'; + $this->rights[7][2] = 'w'; + $this->rights[7][3] = 0; + $this->rights[7][4] = 'to_paid'; + + if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) + { + $this->rights[8][0] = 777; + $this->rights[8][1] = 'Synchroniser les NDF avec un compte courant'; + $this->rights[8][2] = 'w'; + $this->rights[8][3] = 0; + $this->rights[8][4] = 'synchro'; + + $this->rights[9][0] = 778; + $this->rights[9][1] = 'Exporter les NDF au format CSV'; + $this->rights[9][2] = 'r'; + $this->rights[9][3] = 0; + $this->rights[9][4] = 'export_csv'; + } + + $this->rights[5][0] = 779; + $this->rights[5][1] = 'Export expense reports'; + $this->rights[5][2] = 'r'; + $this->rights[5][3] = 0; + $this->rights[5][4] = 'export'; + + // Exports + $r=0; + + $r++; + $this->export_code[$r]='trips_'.$r; + $this->export_label[$r]='ListTripsAndExpenses'; + $this->export_permission[$r]=array(array("expensereport","export")); + $this->export_fields_array[$r]=array('d.rowid'=>"TripId",'d.type'=>"Type",'d.km'=>"FeesKilometersOrAmout",'d.note'=>'NotePrivate','d.note_public'=>'NotePublic','s.nom'=>'ThirdParty','u.lastname'=>'Lastname','u.firstname'=>'Firstname','d.dated'=>"Date"); + $this->export_entities_array[$r]=array('d.rowid'=>"Trip",'d.type'=>"Trip",'d.km'=>"Trip",'d.note'=>'Trip','d.note_public'=>'Trip','s.nom'=>'company','u.lastname'=>'user','u.firstname'=>'user','d.dated'=>"Date"); + $this->export_alias_array[$r]=array('d.rowid'=>"idtrip",'d.type'=>"type",'d.km'=>"km",'d.note'=>'note','d.note_public'=>'note_public','s.nom'=>'companyname','u.lastname'=>'name','u.firstname'=>'firstname','d.dated'=>'date'); + + $this->export_sql_start[$r]='SELECT DISTINCT '; + $this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'user as u'; + $this->export_sql_end[$r] .=', '.MAIN_DB_PREFIX.'expensereport as d'; + $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'societe as s ON d.fk_soc = s.rowid'; + $this->export_sql_end[$r] .=' WHERE d.fk_user = u.rowid'; + $this->export_sql_end[$r] .=' AND d.entity = '.$conf->entity; + + + + // Main menu entries + $this->menu = array(); // List of menus to add + $r=0; + + // Example to declare a Left Menu entry: fk_mainmenu=home,fk_leftmenu=modulesadmintools + $this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=accountancy', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry) + 'type'=>'left', // This is a Left menu entry + 'titre'=>'TripsAndExpenses', + 'mainmenu'=>'accountancy', + 'leftmenu'=>'expensereport', + 'url'=>'/expensereport/index.php', + 'langs'=>'trips', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. + 'position'=>100, + 'enabled'=>'1', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. + 'perms'=>'1', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules + 'target'=>'', + 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both + $r++; + + $this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=accountancy,fk_leftmenu=expensereport', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry) + 'type'=>'left', // This is a Left menu entry + 'titre'=>'New', + 'mainmenu'=>'accountancy', + 'leftmenu'=>'expensereport_detail', + 'url'=>'/expensereport/card.php?action=create', + 'langs'=>'trips', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. + 'position'=>100, + 'enabled'=>'1', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. + 'perms'=>'1', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules + 'target'=>'', + 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both + $r++; + + $this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=accountancy,fk_leftmenu=expensereport', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry) + 'type'=>'left', // This is a Left menu entry + 'titre'=>'List', + 'mainmenu'=>'accountancy', + 'leftmenu'=>'expensereport_detail', + 'url'=>'/expensereport/list.php', + 'langs'=>'trips', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. + 'position'=>100, + 'enabled'=>'1', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. + 'perms'=>'1', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules + 'target'=>'', + 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both + $r++; + + $this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=accountancy,fk_leftmenu=expensereport', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry) + 'type'=>'left', // This is a Left menu entry + 'titre'=>'Statistics', + 'mainmenu'=>'accountancy', + 'leftmenu'=>'expensereport_detail', + 'url'=>'/expensereport/stats/index.php', + 'langs'=>'trips', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. + 'position'=>100, + 'enabled'=>'1', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. + 'perms'=>'1', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules + 'target'=>'', + 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both + $r++; + + + $this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=accountancy,fk_leftmenu=expensereport', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry) + 'type'=>'left', // This is a Left menu entry + 'titre'=>'ExportTripCSV', + 'mainmenu'=>'accountancy', + 'leftmenu'=>'expensereport_detail', + 'url'=>'/expensereport/export_csv.php', + 'langs'=>'expensereport', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. + 'position'=>100, + 'enabled'=>'$conf->global->DEPLACEMENT_TO_CLEAN', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. + 'perms'=>'1', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules + 'target'=>'', + 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both + $r++; + + $this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=accountancy,fk_leftmenu=expensereport', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry) + 'type'=>'left', // This is a Left menu entry + 'titre'=>'Synchro_Compta', + 'mainmenu'=>'accountancy', + 'leftmenu'=>'expensereport_detail', + 'url'=>'/expensereport/synchro_compta.php', + 'langs'=>'expensereport', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. + 'position'=>100, + 'enabled'=>'$conf->global->DEPLACEMENT_TO_CLEAN', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. + 'perms'=>'1', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules + 'target'=>'', + 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both + $r++; + } + + /** + * Function called when module is enabled. + * The init function add constants, boxes, permissions and menus (defined in constructor) into Dolibarr database. + * It also creates data directories. + * + * @param string $options Options + * @return int 1 if OK, 0 if KO + */ + function init($options='') + { + global $conf; + + $this->remove($options); + + $result=$this->_load_tables('/deplacement/sql/'); + + $sql = array( + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'teclib' AND entity = ".$conf->entity, + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('teclib','deplacement',".$conf->entity.")" + ); + + return $this->_init($sql,$options); + } + + /** + * Function called when module is disabled. + * Remove from database constants, boxes and permissions from Dolibarr database. + * Data directories are not deleted. + * + * @param string Options + * @return int 1 if OK, 0 if KO + */ + function remove($options='') + { + $sql = array(); + + return $this->_remove($sql,$options); + } + +} + diff --git a/htdocs/expensereport/ajax/ajaxprojet.php b/htdocs/expensereport/ajax/ajaxprojet.php new file mode 100755 index 00000000000..0ab75543309 --- /dev/null +++ b/htdocs/expensereport/ajax/ajaxprojet.php @@ -0,0 +1,88 @@ + + * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2007-2010 Laurent Destailleur + * Copyright (C) 2010 Cyrille de Lambert + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/** + * \file htdocs/expensereport/ajax/ajaxprojet.php + * \brief File to return Ajax response on third parties request + */ + +if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL',1); // Disables token renewal +if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1'); +if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1'); +if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); +if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1'); +if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK','1'); + +$res=0; +require '../../main.inc.php'; + + +/* + * View + */ + +// Ajout directives pour resoudre bug IE +//header('Cache-Control: Public, must-revalidate'); +//header('Pragma: public'); + +//top_htmlhead("", "", 1); // Replaced with top_httphead. An ajax page does not need html header. +top_httphead(); + +//print ''."\n"; + +dol_syslog(join(',',$_GET)); + + +// Generation liste des projets +if (GETPOST('fk_projet') != '') +{ + $return_arr = array(); + + $sql = "SELECT p.rowid, p.ref, p.title, s.nom"; + $sql.= " FROM ".MAIN_DB_PREFIX."projet as p"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON p.fk_soc = s.rowid"; + if (! empty($_GET["fk_projet"])) $sql.= " WHERE p.ref LIKE '%".$db->escape($_GET["fk_projet"])."%' OR p.title LIKE '%".$db->escape($_GET["fk_projet"])."%' OR s.nom LIKE '%".$db->escape($_GET["fk_projet"])."%'"; // Add other filters + $sql.= " ORDER BY p.ref ASC"; + + $resql=$db->query($sql); + if ($resql) + { + while ($row = $db->fetch_array($resql)) + { + $label=$row['ref'].' - '.$row['title']; + $row_array['label'] = $label; + $row_array['value'] = $label; + $row_array['key'] = $row['rowid']; + + array_push($return_arr,$row_array); + } + + echo json_encode($return_arr); + } + else + { + echo json_encode(array('nom'=>'Error','label'=>'Error','key'=>'Error','value'=>'Error')); + } +} +else +{ + echo json_encode(array('nom'=>'ErrorBadParameter','label'=>'ErrorBadParameter','key'=>'ErrorBadParameter','value'=>'ErrorBadParameter')); +} diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php new file mode 100755 index 00000000000..7d52ac5b538 --- /dev/null +++ b/htdocs/expensereport/card.php @@ -0,0 +1,1776 @@ + + * Copyright (C) 2004-2008 Laurent Destailleur + * Copyright (C) 2005-2009 Regis Houssin + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/** + * \file htdocs/expensereport/card.php + * \brief Page for trip and expense card + */ + +$res=0; +require '../main.inc.php'; +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formfile.class.php"); +require_once(DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php'); +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formmail.class.php"); +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formprojet.class.php"); +require_once(DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'); +require_once(DOL_DOCUMENT_ROOT."/core/lib/trip.lib.php"); +dol_include_once('/expensereport/core/modules/expensereport/modules_expensereport.php'); +dol_include_once("/expensereport/class/expensereport.class.php"); + +$langs->load("trips"); + +$action=GETPOST('action'); +$date_start = dol_mktime(0, 0, 0, GETPOST('date_debutmonth'), GETPOST('date_debutday'), GETPOST('date_debutyear')); +$date_end = dol_mktime(0, 0, 0, GETPOST('date_finmonth'), GETPOST('date_finday'), GETPOST('date_finyear')); + + +// If socid provided by ajax company selector +if (! empty($_REQUEST['socid_id'])) +{ + $_GET['socid'] = $_GET['socid_id']; + $_POST['socid'] = $_POST['socid_id']; + $_REQUEST['socid'] = $_REQUEST['socid_id']; +} + +// Security check +$id=GETPOST("id",'int'); +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'expensereport', 0, 'expensereport'); + +$mesg=""; + + +// Hack to use expensereport dir +$rootfordata = DOL_DATA_ROOT; +$rootforuser = DOL_DATA_ROOT; +// If multicompany module is enabled, we redefine the root of data +if (! empty($conf->multicompany->enabled) && ! empty($conf->entity) && $conf->entity > 1) +{ + $rootfordata.='/'.$conf->entity; +} +$conf->expensereport->dir_output = $rootfordata.'/expensereport'; +$conf->expensereport->dir_output = $rootfordata.'/expensereport'; + + + +/* + * Actions + */ + +if ($action == 'confirm_delete' && $_GET["confirm"] == "yes" && $id > 0 && $user->rights->expensereport->supprimer) +{ + $object = new ExpenseReport($db); + $result=$object->delete($id); + if ($result >= 0) + { + header("Location: index.php"); + exit; + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } +} + +if ($action == 'add' && $user->rights->expensereport->creer) +{ + $object = new ExpenseReport($db); + + $object->date_debut = $date_start; + $object->date_fin = $date_end; + + $object->fk_user_validator = GETPOST('fk_user_validator','int'); + $object->fk_c_expensereport_statuts = 1; + $object->fk_c_paiement = GETPOST('fk_c_paiement','int'); + $object->note = GETPOST('note'); + + if ($object->periode_existe($user,dol_print_date($object->date_debut, 'dayrfc'),dol_print_date($object->date_fin, 'dayrfc'))) + { + setEventMessage($langs->trans("ErrorDoubleDeclaration"),'errors'); + $action='create'; + } + else + { + $db->begin(); + + $id = $object->create($user); + + if ($id > 0) + { + $db->commit(); + Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); + exit; + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + $db->rollback(); + $action='create'; + } + } +} + +if ($action == 'update' && $user->rights->expensereport->creer) +{ + $object = new ExpenseReport($db); + $object->fetch($_POST['id'],$user); + + $object->date_debut = $date_start; + $object->date_fin = $date_end; + + if($object->fk_c_expensereport_statuts < 3) + { + $object->fk_user_validator = GETPOST('fk_user_validator','int'); + } + + $object->fk_c_paiement = GETPOST('fk_c_paiement','int'); + $object->note = GETPOST('note'); + + $result = $object->update($user); + if ($result > 0) + { + header("Location: ".$_SEVER["PHP_SELF"]."?id=".$_POST['id']); + exit; + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } +} + +if ($action == "confirm_save" && GETPOST("confirm") == "yes" && $id > 0 && $user->rights->expensereport->creer) +{ + $object = new ExpenseReport($db); + $object->fetch($id,$user); + $result = $object->set_save($user); + if ($result > 0) + { + // Send mail + if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) + { + // Send mail + + // TO + $destinataire = new User($db); + $destinataire->fetch($object->fk_user_validator); + $emailTo = $destinataire->email; + + // FROM + $expediteur = new User($db); + $expediteur->fetch($object->fk_user_author); + $emailFrom = $expediteur->email; + + // SUBJECT + $subject = "' ERP - Note de frais à valider"; + + // CONTENT + $message = "Bonjour {$destinataire->firstname},\n\n"; + $message.= "Veuillez trouver en pièce jointe une nouvelle note de frais à valider.\n"; + $message.= "- Déclarant : {$expediteur->firstname} {$expediteur->lastname}\n"; + $message.= "- Période : du {$object->date_debut} au {$object->date_fin}\n"; + $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; + $message.= "Bien cordialement,\n' SI"; + + // Génération du pdf avant attachement + $object->setDocModel($user,""); + $resultPDF = expensereport_pdf_create($db,$id,'',"",$langs); + + if($resultPDF): + // ATTACHMENT + $filename=array(); $filedir=array(); $mimetype=array(); + array_push($filename,dol_sanitizeFileName($object->ref_number).".pdf"); + array_push($filedir,$conf->expensereport->dir_output . "/" . dol_sanitizeFileName($object->ref_number) . "/" . dol_sanitizeFileName($object->ref_number).".pdf"); + array_push($mimetype,"application/pdf"); + + // PREPARE SEND + $mailfile = new CMailFile($subject,$emailTo,$emailFrom,$message,$filedir,$mimetype,$filename); + + if(!$mailfile->error): + + // SEND + $result=$mailfile->sendfile(); + if ($result): + Header("Location: ".$_SEVER["PHP_SELF"]."?id=".$id); + exit; + endif; + + else: + + $mesg="Impossible d'envoyer l'email."; + + endif; + // END - Send mail + else: + dol_print_error($db,$resultPDF); + exit; + endif; + } + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } +} + +if ($action == "confirm_save_from_refuse" && $_GET["confirm"] == "yes" && $id > 0 && $user->rights->expensereport->creer) +{ + $object = new ExpenseReport($db); + $object->fetch($id,$user); + $result = $object->set_save_from_refuse($user); + if ($result > 0) + { + // Send mail + if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) + { + // TO + $destinataire = new User($db); + $destinataire->fetch($object->fk_user_validator); + $emailTo = $destinataire->email; + + // FROM + $expediteur = new User($db); + $expediteur->fetch($object->fk_user_author); + $emailFrom = $expediteur->email; + + // SUBJECT + $subject = "' ERP - Note de frais à re-approuver"; + + // CONTENT + $dateRefusEx = explode(" ",$object->date_refuse); + + $message = "Bonjour {$destinataire->firstname},\n\n"; + $message.= "Le {$dateRefusEx[0]} à {$dateRefusEx[1]} vous avez refusé d'approuver la note de frais \"{$object->ref_number}\". Vous aviez émis le motif suivant : {$object->detail_refuse}\n\n"; + $message.= "L'auteur vient de modifier la note de frais, veuillez trouver la nouvelle version en pièce jointe.\n"; + $message.= "- Déclarant : {$expediteur->firstname} {$expediteur->lastname}\n"; + $message.= "- Période : du {$object->date_debut} au {$object->date_fin}\n"; + $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; + $message.= "Bien cordialement,\n' SI"; + + // Génération du pdf avant attachement + $object->setDocModel($user,""); + $resultPDF = expensereport_pdf_create($db,$id,'',"",$langs); + + if($resultPDF): + // ATTACHMENT + $filename=array(); $filedir=array(); $mimetype=array(); + array_push($filename,dol_sanitizeFileName($object->ref_number).".pdf"); + array_push($filedir,$conf->expensereport->dir_output . "/" . dol_sanitizeFileName($object->ref_number) . "/" . dol_sanitizeFileName($object->ref_number).".pdf"); + array_push($mimetype,"application/pdf"); + + // PREPARE SEND + $mailfile = new CMailFile($subject,$emailTo,$emailFrom,$message,$filedir,$mimetype,$filename); + + if(!$mailfile->error): + + // SEND + $result=$mailfile->sendfile(); + if ($result): + Header("Location: ".$_SEVER["PHP_SELF"]."?id=".$id); + exit; + endif; + + else: + + $mesg="Impossible d'envoyer l'email."; + + endif; + // END - Send mail + else: + dol_print_error($db,$resultPDF); + exit; + endif; + } + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } +} + +// Approve +if ($action == "confirm_validate" && GETPOST("confirm") == "yes" && $id > 0 && $user->rights->expensereport->to_validate) +{ + $object = new ExpenseReport($db); + $object->fetch($id,$user); + + $result = $object->set_valide($user); + if ($result > 0) + { + if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) + { + $object = new ExpenseReport($db); + $object->fetch($id,$user); + + // Send mail + + // TO + $destinataire = new User($db); + $destinataire->fetch($object->fk_user_author); + $emailTo = $destinataire->email; + + // CC + $emailCC = $conf->global->NDF_CC_EMAILS; + + // FROM + $expediteur = new User($db); + $expediteur->fetch($object->fk_user_valid); + $emailFrom = $expediteur->email; + + // SUBJECT + $subject = "' ERP - Note de frais validée"; + + // CONTENT + $message = "Bonjour {$destinataire->firstname},\n\n"; + $message.= "Votre note de frais \"{$object->ref_number}\" vient d'être approuvé!\n"; + $message.= "- Approbateur : {$expediteur->firstname} {$expediteur->lastname}\n"; + $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; + $message.= "Bien cordialement,\n' SI"; + + // Génération du pdf avant attachement + $object->setDocModel($user,""); + $resultPDF = expensereport_pdf_create($db,$id,'',"",$langs); + + if($resultPDF): + // ATTACHMENT + $filename=array(); $filedir=array(); $mimetype=array(); + array_push($filename,dol_sanitizeFileName($object->ref_number).".pdf"); + array_push($filedir, $conf->expensereport->dir_output. + "/". + dol_sanitizeFileName($object->ref_number) . + "/". + dol_sanitizeFileName($object->ref_number). + ".pdf" + ); + array_push($mimetype,"application/pdf"); + + // PREPARE SEND + $mailfile = new CMailFile($subject,$emailTo,$emailFrom,$message,$filedir,$mimetype,$filename,$emailCC); + + if(!$mailfile->error): + + // SEND + $result=$mailfile->sendfile(); + if ($result): + setEventMessage($langs->trans("MailSuccessfulySent",$emailFrom,$emailTo)); + Header("Location: ".$_SEVER["PHP_SELF"]."?id=".$id); + exit; + else: + setEventMessage($langs->trans("ErrorFailedToSendMail",$emailFrom,$emailTo),'errors'); + endif; + + else: + setEventMessage($langs->trans("ErrorFailedToSendMail",$emailFrom,$emailTo),'errors'); + endif; + // END - Send mail + else : // if ($resultPDF) + dol_print_error($db,$resultPDF); + exit; + endif; + } + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } +} + +if ($action == "confirm_refuse" && $_POST['confirm']=="yes" && !empty($_POST['detail_refuse']) && $id > 0 && $user->rights->expensereport->to_validate) +{ + $object = new ExpenseReport($db); + $object->fetch($id,$user); + + $result = $object->set_refuse($user,$_POST['detail_refuse']); + if ($result > 0) + { + if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) + { + $object = new ExpenseReport($db); + $object->fetch($id,$user); + + // Send mail + + // TO + $destinataire = new User($db); + $destinataire->fetch($object->fk_user_author); + $emailTo = $destinataire->email; + + // FROM + $expediteur = new User($db); + $expediteur->fetch($object->fk_user_refuse); + $emailFrom = $expediteur->email; + + // SUBJECT + $subject = "' ERP - Note de frais refusée"; + + // CONTENT + $message = "Bonjour {$destinataire->firstname},\n\n"; + $message.= "Votre note de frais \"{$object->ref_number}\" vient d'être refusée.\n"; + $message.= "- Refuseur : {$expediteur->firstname} {$expediteur->lastname}\n"; + $message.= "- Motif de refus : {$_POST['detail_refuse']}\n"; + $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; + $message.= "Bien cordialement,\n' SI"; + + // PREPARE SEND + $mailfile = new CMailFile($subject,$emailTo,$emailFrom,$message); + + if(!$mailfile->error) + { + // SEND + $result=$mailfile->sendfile(); + if ($result) + { + setEventMessage($langs->trans("MailSuccessfulySent",$emailFrom,$emailTo)); + Header("Location: ".$_SEVER["PHP_SELF"]."?id=".$id); + exit; + } + else + { + setEventMessage($langs->trans("ErrorFailedToSendMail",$emailFrom,$emailTo),'errors'); + $mesg="Impossible d'envoyer l'email."; + } + // END - Send mail + } + } + } + else + { + setEventMessage($object->error, $object->errors); + } +} + +if ($action == "confirm_cancel" && GETPOST('confirm')=="yes" && !empty($_POST['detail_cancel']) && $id > 0 && $user->rights->expensereport->to_validate) +{ + $object = new ExpenseReport($db); + $object->fetch($id,$user); + if($user->id == $object->fk_user_validator) + { + $result = $object->set_cancel($user,$_POST['detail_cancel']); + + if ($result > 0) + { + if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) + { + $object = new ExpenseReport($db); + $object->fetch($id,$user); + + // Send mail + + // TO + $destinataire = new User($db); + $destinataire->fetch($object->fk_user_author); + $emailTo = $destinataire->email; + + // FROM + $expediteur = new User($db); + $expediteur->fetch($object->fk_user_cancel); + $emailFrom = $expediteur->email; + + // SUBJECT + $subject = "' ERP - Note de frais annulée"; + + // CONTENT + $message = "Bonjour {$destinataire->firstname},\n\n"; + $message.= "Votre note de frais \"{$object->ref_number}\" vient d'être annulée.\n"; + $message.= "- Annuleur : {$expediteur->firstname} {$expediteur->lastname}\n"; + $message.= "- Motif d'annulation : {$_POST['detail_cancel']}\n"; + $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; + $message.= "Bien cordialement,\n' SI"; + + // PREPARE SEND + $mailfile = new CMailFile($subject,$emailTo,$emailFrom,$message); + + if(!$mailfile->error) + { + // SEND + $result=$mailfile->sendfile(); + if ($result) + { + header("Location: ".$_SEVER["PHP_SELF"]."?id=".$id); + exit; + } + else + { + $mesg="Impossible d'envoyer l'email."; + } + // END - Send mail + } + else + { + setEventMessages($mail->error, $mail->errors, 'errors'); + } + } + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } + } + else + { + setEventMessages($langs->transnoentitiesnoconv("NOT_VALIDATOR"), '', 'errors'); + } +} + +if ($action == "confirm_paid" && $_GET['confirm']=="yes" && $id > 0 && $user->rights->expensereport->to_paid) +{ + $object = new ExpenseReport($db); + $object->fetch($id,$user); + $result = $object->set_paid($user); + if ($result > 0) + { + if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) + { + $object = new ExpenseReport($db); + $object->fetch($id,$user); + + // Send mail + + // TO + $destinataire = new User($db); + $destinataire->fetch($object->fk_user_author); + $emailTo = $destinataire->email; + + // FROM + $expediteur = new User($db); + $expediteur->fetch($object->fk_user_paid); + $emailFrom = $expediteur->email; + + // SUBJECT + $subject = "' ERP - Note de frais payée"; + + // CONTENT + $message = "Bonjour {$destinataire->firstname},\n\n"; + $message.= "Votre note de frais \"{$object->ref_number}\" vient d'être payée.\n"; + $message.= "- Payeur : {$expediteur->firstname} {$expediteur->lastname}\n"; + $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; + $message.= "Bien cordialement,\n' SI"; + + // Génération du pdf avant attachement + $object->setDocModel($user,""); + $resultPDF = expensereport_pdf_create($db,$id,'',"",$langs); + + // PREPARE SEND + $mailfile = new CMailFile($subject,$emailTo,$emailFrom,$message); + + if(!$mailfile->error): + + // SEND + $result=$mailfile->sendfile(); + if ($result): + // Insert écriture dans le compte courant + $idTrip = $id; + $idAccount = 1; + + $object = new ExpenseReport($db); + $object->fetch($idTrip,$user); + + $datePaiement = explode("-",$object->date_paiement); + + $dateop = dol_mktime(12,0,0,$datePaiement[1],$datePaiement[2],$datePaiement[0]); + $operation = $object->code_paiement; + $label = "Règlement ".$object->ref_number; + $amount = - price2num($object->total_ttc); + $num_chq = ''; + $cat1 = ''; + + $user = new User($db); + $user->fetch($object->fk_user_paid); + + $acct=new Account($db,$idAccount); + $insertid = $acct->addline($dateop, $operation, $label, $amount, $num_chq, $cat1, $user); + + if ($insertid > 0): + $sql = " UPDATE ".MAIN_DB_PREFIX."expensereport d"; + $sql.= " SET integration_compta = 1, fk_bank_account = $idAccount"; + $sql.= " WHERE rowid = $idTrip"; + $resql=$db->query($sql); + if($result): + Header("Location: ".$_SEVER["PHP_SELF"]."?id=".$id); + exit; + else: + dol_print_error($db); + endif; + else: + dol_print_error($db,$acct->error); + endif; + endif; + + else: + + $mesg="Impossible d'envoyer l'email."; + + endif; + // END - Send mail + } + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } +} + +if ($action == "confirm_brouillonner" && $_GET['confirm']=="yes" && $id > 0 && $user->rights->expensereport->creer) +{ + $object = new ExpenseReport($db); + $object->fetch($id,$user); + if($user->id == $object->fk_user_author OR $user->id == $object->fk_user_validator) + { + $result = $object->set_draft($user); + if ($result > 0) + { + header("Location: ".$_SEVER["PHP_SELF"]."?id=".$id); + exit; + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } + } + else + { + setEventMessages($langs->transnoentitiesnoconv("NOT_AUTHOR"), '', 'errors'); + } +} + +if ($action == "addline") +{ + $db->begin(); + + $object_ligne = new ExpenseReportLigne($db); + + $object_ligne->comments = empty($_POST['comments'])?"Aucun commentaire.":$_POST['comments']; + $object_ligne->qty = empty($_POST['qty'])?1:$_POST['qty']; + + // Convertion de "," en "." dans le nombre entré dans le champ + if(preg_match("#,#",$_POST['value_unit'])) + { + $object_ligne->value_unit = preg_replace("#,#",".",$_POST['value_unit']); + } + else + { + $object_ligne->value_unit = $_POST['value_unit']; + } + + $object_ligne->value_unit = number_format($object_ligne->value_unit,3,'.',''); + + $date = explode("/",$_POST['date']); + $object_ligne->date = $date[2]."-".$date[1]."-".$date[0]; + + $object_ligne->fk_c_type_fees = empty($_POST['fk_c_type_fees'])?1:$_POST['fk_c_type_fees']; + + // Get tax id from rate + $tva_tx=GETPOST('fk_c_tva'); + $sql = "SELECT t.rowid, t.localtax1, t.localtax2, t.localtax1_type, t.localtax2_type"; + $sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_country as p"; + $sql .= " WHERE t.fk_pays = p.rowid AND p.code = '".$mysoc->country_code."'"; + $sql .= " AND t.taux = ".$db->escape($tva_tx)." AND t.active = 1"; + + dol_syslog("get_localtax sql=".$sql); + $resql=$db->query($sql); + if ($resql) + { + $obj = $db->fetch_object($resql); + $tva=$obj->rowid; + } + else dol_print_error($db); + + // Force la TVA à 0% lorsque c'est du transport + if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) + { + if ($object_ligne->fk_c_type_fees==10) + { + $tva = 15; // TODO A virer le hardcoding + } + } + + $object_ligne->fk_c_tva = $tva; + + $object_ligne->fk_projet = $_POST['fk_projet']; + + // Tests des données rentrées + $error = false; + + // Si aucun projet n'est défini + if (empty($object_ligne->fk_projet) || $object_ligne->fk_projet==-1) + { + $error = true; + $text_error[] = "NO_PROJECT"; + } + + // Si aucune date n'est rentrée + if($object_ligne->date=="--"): + $error = true; + $text_error[] = "NO_DATE"; + endif; + + // Si aucun prix n'est rentré + if($object_ligne->value_unit==0): + $error = true; + $text_error[] = "NO_PRICE"; + endif; + + // S'il y'a eu au moins une erreur + if($error) + { + $mesg = implode(",",$text_error); + Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$_POST['fk_expensereport']."&mesg=$mesg"); + exit; + } + else + { + $object_ligne->fk_expensereport = $_POST['fk_expensereport']; + + $object_ligne->fetch_taux($object_ligne->fk_c_tva); + + // Calculs des totos + $object_ligne->total_ttc = $object_ligne->value_unit * $object_ligne->qty; + $object_ligne->total_ttc = number_format($object_ligne->total_ttc,2,'.',''); + + $tx_tva = $object_ligne->tva_taux/100; + $tx_tva = $tx_tva + 1; + + $object_ligne->total_ht = $object_ligne->total_ttc / $tx_tva; + $object_ligne->total_ht = number_format($object_ligne->total_ht,2,'.',''); + + $object_ligne->total_tva = $object_ligne->total_ttc - $object_ligne->total_ht; + // Fin calculs des totos + + $result = $object_ligne->insert(); + if ($result > 0) + { + $object = new ExpenseReport($db); + $object->fetch($_POST['fk_expensereport'],$user); + $object->update_totaux_add($object_ligne->total_ht,$object_ligne->total_tva); + + $db->commit(); + Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$_POST['fk_expensereport']); + exit; + } + else + { + dol_print_error($db,$object->error); + $db->rollback(); + exit; + } + } +} + +if ($action == 'confirm_delete_line' && $_POST["confirm"] == "yes") +{ + $object = new ExpenseReport($db); + $object->fetch($_GET["id"],$user); + + $object_ligne = new ExpenseReportLigne($db); + $object_ligne->fetch($_GET["rowid"]); + $total_ht = $object_ligne->total_ht; + $total_tva = $object_ligne->total_tva; + + $result=$object->deleteline($_GET["rowid"]); + if ($result >= 0) + { + $object->update_totaux_del($object_ligne->total_ht,$object_ligne->total_tva); + header("Location: ".$_SERVER["PHP_SELF"]."?id=".$_GET['id']); + exit; + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } +} + +if ($action == "updateligne" ) +{ + $object = new ExpenseReport($db); + + $object_id = GETPOST('id','int'); + $object->fetch($object_id,$user); + + $rowid = $_POST['rowid']; + $type_fees_id = empty($_POST['fk_c_type_fees'])?1:$_POST['fk_c_type_fees']; + + // Get tax id from rate + $tva_tx=GETPOST('fk_c_tva'); + $sql = "SELECT t.rowid, t.localtax1, t.localtax2, t.localtax1_type, t.localtax2_type"; + $sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_country as p"; + $sql .= " WHERE t.fk_pays = p.rowid AND p.code = '".$mysoc->country_code."'"; + $sql .= " AND t.taux = ".$db->escape($tva_tx)." AND t.active = 1"; + + dol_syslog("get_localtax sql=".$sql); + $resql=$db->query($sql); + if ($resql) + { + $obj = $db->fetch_object($resql); + $c_tva=$obj->rowid; + } + else dol_print_error($db); + + // Force la TVA à 0% lorsque c'est du transport + if ($type_fees_id==10) + { + $c_tva = 15; + } + + $object_ligne->fk_c_tva = $c_tva; + $projet_id = $_POST['fk_projet']; + $comments = $_POST['comments']; + $qty = $_POST['qty']; + + // Convertion de "," en "." dans le nombre entré dans le champ + if(preg_match("#,#",$_POST['value_unit'])): + $value_unit = preg_replace("#,#",".",$_POST['value_unit']); + else: + $value_unit = $_POST['value_unit']; + endif; + + $date = explode("/",$_POST['date']); + $date = $date[2]."-".$date[1]."-".$date[0]; + + $result = $object->updateline($rowid, $type_fees_id, $projet_id, $c_tva, $comments, $qty, $value_unit, $date, $object_id); + if ($result >= 0) + { + $object->recalculer($object_id); + header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object_id); + exit; + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } +} + +if ($action == "recalc" && $id > 0) +{ + $object = new ExpenseReport($db); + $object->fetch($id); + if($object->recalculer($id) > 0) + { + header("Location: ".$_SERVER["PHP_SELF"]."?id=".$_GET['id']); + exit; + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } +} + +/* + * Generer ou regenerer le document PDF + */ +if ($action == 'builddoc') // En get ou en post +{ + $depl = new ExpenseReport($db, 0, $_GET['id']); + $depl->fetch($_GET['id'],$user); + + if ($_REQUEST['model']) + { + $depl->setDocModel($user, $_REQUEST['model']); + } + + $outputlangs = $langs; + if (! empty($_REQUEST['lang_id'])) + { + $outputlangs = new Translate("",$conf); + $outputlangs->setDefaultLang($_REQUEST['lang_id']); + } + $result=expensereport_pdf_create($db, $depl->id, '', $depl->modelpdf, $outputlangs); + if ($result <= 0) + { + dol_print_error($db,$result); + exit; + } + else + { + Header('Location: '.$_SERVER["PHP_SELF"].'?id='.$depl->id.(empty($conf->global->MAIN_JUMP_TAG)?'':'#builddoc')); + exit; + } +} + +// Remove file in doc form +else if ($action == 'remove_file') +{ + $object = new ExpenseReport($db, 0, $_GET['id']); + if ($object->fetch($id)) + { + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + $object->fetch_thirdparty(); + + $langs->load("other"); + $upload_dir = $conf->expensereport->dir_output; + $file = $upload_dir . '/' . GETPOST('file'); + $ret=dol_delete_file($file,0,0,0,$object); + if ($ret) setEventMessage($langs->trans("FileWasRemoved", GETPOST('urlfile'))); + else setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), 'errors'); + $action=''; + } +} + + +/* + * View + */ + +llxHeader(); + +$html = new Form($db); +$formfile = new FormFile($db); +$form = new Form($db); +$formproject = new FormProjets($db); + +if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) +{ + if(!empty($_GET['mesg'])) + { + $text_mesg = explode(",",$_GET['mesg']); + + foreach($text_mesg as $text) + { + $mesg.= "- ".$langs->trans($text)."
"; + } + + print "
"; + print $langs->trans("LINE_NOT_ADDED")."
"; + print $mesg; + print "
"; + } + else + { + if ($mesg) print "
".$mesg."
"; + } +} + + +/* + * Create + */ + +if ($action == 'create') +{ + print print_fiche_titre($langs->trans("NewTrip")); + + print ''; + print ''; + print ''; + + dol_fiche_head(''); + + print '
'.$langs->trans("WarehouseSource").''; - print $formproduct->selectWarehouses(($_GET["dwid"]?$_GET["dwid"]:GETPOST('id_entrepot_source')),'id_entrepot_source','',1); + print ''.$langs->trans("WarehouseSource").''; + print $formproduct->selectWarehouses((GETPOST("dwid")?GETPOST("dwid",'int'):(GETPOST('id_entrepot_source')?GETPOST('id_entrepot_source','int'):'ifone')),'id_entrepot_source','',1); print ''.$langs->trans("WarehouseTarget").''; print $formproduct->selectWarehouses(GETPOST('id_entrepot_destination'),'id_entrepot_destination','',1); @@ -673,8 +674,8 @@ print '
'.$langs->trans("batch_number").''.$langs->trans("l_eatby").''.$langs->trans("l_sellby").''.$langs->trans("l_eatby").''.$langs->trans("l_sellby").'
'; print $form->editfieldval("OutstandingBill",'OutstandingBill',$object->outstanding_limit,$object,$user->rights->societe->creer,'amount',($object->outstanding_limit != '' ? price($object->outstanding_limit) : '')); + // display amount and link to unpaid bill + $outstandigBills = $object->get_OutstandingBill(); + if ($outstandigBills != 0) + print " / ".price($outstandigBills).''; print '
'.$version.'
'.$langs->trans("ErrorDatabaseVersionForbiddenForMigration",join('.',$versionarray),$listofforbiddenversion)."
".$langs->trans("Error")."
".$langs->trans("CreateTableAndPrimaryKey",$name); - print "
\n".$langs->trans("Request").' '.$requestnb.' : '.$buffer; + print "
\n".$langs->trans("Request").' '.$requestnb.' : '.$buffer.'
Executed query : '.$db->lastquery; print "\n
'.$langs->trans("ErrorSQL")." ".$db->errno()." ".$db->error().'
'; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + if (! empty($conf->global->EXPENSEREPORT_ASK_PAYMENTMODE_ON_CREATION)) + { + print ''; + print ''; + print ''; + print ''; + } + print ''; + print ''; + print ''; + print ''; + print ''; + print '
'.$langs->trans("DateStart").''; + $html->select_date($date_start?$date_start:-1,'date_debut',0,0,0,'',1,1); + print '
'.$langs->trans("DateEnd").''; + $html->select_date($date_end?$date_end:-1,'date_fin',0,0,0,'',1,1); + print '
'.$langs->trans("VALIDATOR").''; + $object = new ExpenseReport($db); + $include_users = $object->fetch_users_approver_expensereport(); + $s=$html->select_dolusers((GETPOST('fk_user_validator')?GETPOST('fk_user_validator'):$conf->global->EXPENSEREPORT_DEFAULT_VALIDATOR), "fk_user_validator", 1, "", 0, $include_users); + print $html->textwithpicto($s, $langs->trans("AnyOtherInThisListCanValidate")); + print '
'.$langs->trans("ModePaiement").''; + $html->select_types_paiements(2,'fk_c_paiement'); + print '
'.$langs->trans("Note").''; + print ''; + print '
'; + + dol_fiche_end(); + + print '
'; + print ''; + print '     '; + print '
'; + + print ''; +} +else +{ + if($id > 0) + { + $object = new ExpenseReport($db); + $result = $object->fetch($id,$user); + + if($result) + { + if ($object->fk_user_author != $user->id) + { + if (empty($user->rights->expensereport->readall) && empty($user->rights->expensereport->lire_tous)) + { + print_fiche_titre($langs->trans('TripCard')); + + print '
'; + print $langs->trans('NotUserRightToView'); + print '
'; + + $db->close(); + + llxFooter(); + + exit; + } + } + + //$head = trip_prepare_head($object); + + $head[0][0] = $_SERVER['PHP_SELF'].'?id='.$object->id; + $head[0][1] = $langs->trans('Card'); + $head[0][2] = 'card'; + $h++; + + dol_fiche_head($head, 'card', $langs->trans("TripCard"), 0, 'trip'); + + if ($action == 'edit' && ($object->fk_c_expensereport_statuts < 3 || $object->fk_c_expensereport_statuts==99)) + { + print "
\n"; + print ''; + + if($object->fk_c_expensereport_statuts==99) + { + print ''; + } + else + { + print ''; + } + + print ''; + + + print ''; + + $linkback = ''.$langs->trans("BackToList").''; + + // Ref + print ''; + + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + if (! empty($conf->global->EXPENSEREPORT_ASK_PAYMENTMODE_ON_CREATION)) + { + print ''; + print ''; + print ''; + print ''; + } + + if($object->fk_c_expensereport_statuts<3) + { + print ''; + print ''; + print ''; + print ''; + } + else + { + print ''; + print ''; + print ''; + } + + print ''; + print ''; + print ''; + if ($object->fk_c_expensereport_statuts==6) + { + print ''; + print ''; + print ''; + + } + print ''; + print ''; + print ''; + print ''; + print '
'.$langs->trans("Ref").''; + print $form->showrefnav($object, 'id', $linkback, 1, 'rowid', 'ref', ''); + print '
'.$langs->trans("DateStart").''; + $html->select_date($object->date_debut,'date_debut'); + print '
'.$langs->trans("DateEnd").''; + $html->select_date($object->date_fin,'date_fin'); + print '
'.$langs->trans("ModePaiement").''; + $html->select_types_paiements($object->fk_c_paiement,'fk_c_paiement'); + print '
'.$langs->trans("VALIDATOR").''; + $include_users = $object->fetch_users_approver_expensereport(); + $s=$html->select_dolusers($object->fk_user_validator,"fk_user_validator",0,"",0,$include_users); + print $html->textwithpicto($s, $langs->trans("AnyOtherInThisListCanValidate")); + print '
'.$langs->trans("VALIDOR").''; + $userfee=new User($db); + $userfee->fetch($object->fk_user_valid); + print $userfee->getNomUrl(1); + print '
'.$langs->trans("AUTHOR").''; + $userfee=new User($db); + $userfee->fetch($object->fk_user_author); + print $userfee->getNomUrl(1); + print '
'.$langs->trans("AUTHORPAIEMENT").''; + $userfee=new User($db); + $userfee->fetch($object->fk_user_paid); + print $userfee->getNomUrl(1); + print '
'.$langs->trans("Note").''; + print ''; + print '
'; + + print '
'; + print '     '; + print ''; + print '
'; + + print '
'; + + } + else + { + + if ($action == 'save'): + $ret=$html->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("SaveTrip"),$langs->trans("ConfirmSaveTrip"),"confirm_save","","",1); + if ($ret == 'html') print '
'; + endif; + + if ($action == 'save_from_refuse'): + $ret=$html->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("SaveTrip"),$langs->trans("ConfirmSaveTrip"),"confirm_save_from_refuse","","",1); + if ($ret == 'html') print '
'; + endif; + + if ($action == 'delete'): + $ret=$html->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("DeleteTrip"),$langs->trans("ConfirmDeleteTrip"),"confirm_delete","","",1); + if ($ret == 'html') print '
'; + endif; + + if ($action == 'validate'): + $ret=$html->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("ValideTrip"),$langs->trans("ConfirmValideTrip"),"confirm_validate","","",1); + if ($ret == 'html') print '
'; + endif; + + if ($action == 'paid'): + $ret=$html->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("PaidTrip"),$langs->trans("ConfirmPaidTrip"),"confirm_paid","","",1); + if ($ret == 'html') print '
'; + endif; + + if ($action == 'cancel'): + $array_input = array(array('type'=>"text",'label'=>"Entrez ci-dessous un motif d'annulation :",'name'=>"detail_cancel",'size'=>"50",'value'=>"")); + $ret=$html->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("ConfirmCancelTrip"),"","confirm_cancel",$array_input,"",0); + if ($ret == 'html') print '
'; + endif; + + if ($action == 'brouillonner'): + $ret=$html->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("BrouillonnerTrip"),$langs->trans("ConfirmBrouillonnerTrip"),"confirm_brouillonner","","",1); + if ($ret == 'html') print '
'; + endif; + + if ($action == 'refuse'): + $array_input = array(array('type'=>"text",'label'=>"Entrez ci-dessous un motif de refus :",'name'=>"detail_refuse",'size'=>"50",'value'=>"")); + $ret=$html->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("ConfirmRefuseTrip"),"","confirm_refuse",$array_input,"yes",0); + if ($ret == 'html') print '
'; + endif; + + if ($action == 'delete_line') + { + $ret=$html->form_confirm($_SEVER["PHP_SELF"]."?id=".$_GET['id']."&rowid=".$_GET['rowid'],$langs->trans("DeleteLine"),$langs->trans("ConfirmDeleteLine"),"confirm_delete_line"); + if ($ret == 'html') print '
'; + } + + print ''; + + $linkback = ''.$langs->trans("BackToList").''; + + // Ref + print ''; + + print ''; + print ''; + print ''; + print ''; + if (! empty($conf->global->EXPENSEREPORT_ASK_PAYMENTMODE_ON_CREATION)) + { + print ''; + print ''; + print ''; + print ''; + } + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + if($object->fk_c_expensereport_statuts<3) + { + print ''; + print ''; + print ''; + } + elseif($object->fk_c_expensereport_statuts==4) + { + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + else + { + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + + print ''; + print ''; + print ''; + + print ''; + print ''; + print ''; + print ''; + if($object->fk_c_expensereport_statuts==6) + { + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + if($object->fk_c_expensereport_statuts==99 || !empty($object->detail_refuse)) + { + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + print '
'.$langs->trans("Ref").''; + print $form->showrefnav($object, 'id', $linkback, 1, 'rowid', 'ref', ''); + print '
'.$langs->trans("Periode").''; + print get_date_range($object->date_debut,$object->date_fin,'',$langs,0); + print '
'.$langs->trans("ModePaiement").''.$object->libelle_paiement.'
'.$langs->trans("Statut").''.$object->libelle_statut.'
'.$langs->trans("Note").''.$object->note.'
'.$langs->trans("AmountHT").''.price($object->total_ht).'
'.$langs->trans("AmountVAT").''.price($object->total_tva).'
'.$langs->trans("AmountTTC").''.price($object->total_ttc).'
'.$langs->trans("VALIDATOR").''; + $userfee=new User($db); + $userfee->fetch($object->fk_user_validator); + print $userfee->getNomUrl(1); + print '
'.$langs->trans("CANCEL_USER").''; + $userfee=new User($db); + $userfee->fetch($object->fk_user_cancel); + print $userfee->getNomUrl(1); + print '
'.$langs->trans("MOTIF_CANCEL").''.$object->detail_cancel.'
'.$langs->trans("DATE_CANCEL").''.$object->date_cancel.'
'.$langs->trans("VALIDOR").''; + $userfee=new User($db); + $userfee->fetch($object->fk_user_valid); + print $userfee->getNomUrl(1); + print '
'.$langs->trans("DATE_VALIDE").''.$object->date_valide.'
'.$langs->trans("AUTHOR").''; + $userfee=new User($db); + $userfee->fetch($object->fk_user_author); + print $userfee->getNomUrl(1); + print '
'.$langs->trans("DATE_SAVE").''.$object->date_create.'
'.$langs->trans("AUTHORPAIEMENT").''; + $userfee=new User($db); + $userfee->fetch($object->fk_user_paid); + print $userfee->getNomUrl(1); + print '
'.$langs->trans("DATE_PAIEMENT").''.$object->date_paiement.'
'.$langs->trans("REFUSEUR").''; + $userfee=new User($db); + $userfee->fetch($object->fk_user_refuse); + print $userfee->getNomUrl(1); + print '
'.$langs->trans("MOTIF_REFUS").''.$object->detail_refuse.'
'.$langs->trans("DATE_REFUS").''.$object->date_refuse.'
'; + + print '
'; + + // Fetch Lines of current ndf + $sql = 'SELECT fde.rowid, fde.fk_expensereport, fde.fk_c_type_fees, fde.fk_projet, fde.date,'; + $sql.= ' fde.fk_c_tva, fde.comments, fde.qty, fde.value_unit, fde.total_ht, fde.total_tva, fde.total_ttc,'; + $sql.= ' ctf.code as type_fees_code, ctf.label as type_fees_libelle,'; + $sql.= ' pjt.rowid as projet_id, pjt.title as projet_title, pjt.ref as projet_ref,'; + $sql.= ' tva.rowid as tva_id, tva.taux as tva_taux'; + $sql.= ' FROM '.MAIN_DB_PREFIX.'expensereport_det fde'; + $sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_type_fees ctf ON fde.fk_c_type_fees=ctf.id'; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet pjt ON fde.fk_projet=pjt.rowid'; + $sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_tva tva ON fde.fk_c_tva=tva.rowid'; + $sql.= ' WHERE fde.fk_expensereport = '.$id; + + $resql = $db->query($sql); + if ($resql) + { + $num_lignes = $db->num_rows($resql); + $i = 0;$total = 0; + + if ($num_lignes) + { + print '
'; + + print '
'; + print ''; + print ''; + print ''; + + print ''; + + print ''; + if ($action != 'editline') print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + if ($action != 'editline') + { + print ''; + print ''; + } + // Ajout des boutons de modification/suppression + if ($object->fk_c_expensereport_statuts<2 OR $object->fk_c_expensereport_statuts==99) + { + print ''; + } + + print ''; + + $var=true; + while ($i < $num_lignes) + { + $piece_comptable = $i + 1; + $objp = $db->fetch_object($resql); + $var=!$var; + if ($action != 'editline') + { + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + // Ajout des boutons de modification/suppression + if($object->fk_c_expensereport_statuts<2 OR $object->fk_c_expensereport_statuts==99) + { + print ''; + } + print ''; + } + else + { + if($objp->rowid==$_GET['rowid']) + { + //modif ligne!!!!! + print ''; + // Sélection date + print ''; + + // Sélection projet + print ''; + + // Sélection type + print ''; + + // Add comments + print ''; + + // Sélection TVA + print ''; + + // Prix unitaire + print ''; + + // Quantité + print ''; + + print ''; + } + } + + $i++; + } + + $db->free($resql); + + print '
'.$langs->trans('Piece').''.$langs->trans('Date').''.$langs->trans('Project').''.$langs->trans('Type').''.$langs->trans('Description').''.$langs->trans('VAT').''.$langs->trans('UnitPriceTTC').''.$langs->trans('Qty').''.$langs->trans('AmountHT').''.$langs->trans('AmountTTC').'
'; + print img_picto("Document", "generic"); + print ' '.$piece_comptable.''.$objp->date.''.$objp->projet_ref.''.$langs->trans("TF_".strtoupper($objp->type_fees_libelle)).''.$objp->comments.''.vatrate($objp->tva_taux,true).''.price($objp->value_unit).''.$objp->qty.''.$objp->total_ht.''.$objp->total_ttc.''; + print 'rowid.'#'.$objp->rowid.'">'; + print img_edit(); + print '   '; + print 'rowid.'">'; + print img_delete(); + print ''; + print '
'; + $html->select_date($objp->date,'date'); + print ''; + print select_projet($objp->fk_projet,'','fk_projet'); + print ''; + select_type_fees_id($objp->type_fees_code,'fk_c_type_fees'); + print ''; + print ''; + print ''; + print $form->load_tva('fk_c_tva', (isset($_POST["fk_c_tva"])?$_POST["fk_c_tva"]:$objp->tva_taux), $mysoc, ''); + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print '
'; + print '
'; + + print '
'; + + print '
'; + } + else + { + /* print ''; + print ''; + print '
'.$langs->trans("AucuneLigne").'
';*/ + } + //print ''; + + // Ajouter une ligne + if (($object->fk_c_expensereport_statuts==1 || $object->fk_c_expensereport_statuts==99) && $action != 'editline') + { + print_fiche_titre($langs->trans("AddLine"),'',''); + + print '
'; + print ''; + print ''; + + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + print ''; + + // Sélection date + print ''; + + // Sélection projet + print ''; + + // Sélection type + print ''; + + // Add comments + print ''; + + // Sélection TVA + print ''; + + // Prix unitaire + print ''; + + // Quantité + print ''; + + print ''; + print ''; + + print '
'.$langs->trans('Date').''.$langs->trans('Project').''.$langs->trans('Type').''.$langs->trans('Description').''.$langs->trans('VAT').''.$langs->trans('UnitPriceTTC').''.$langs->trans('Qty').'
'; + $html->select_date(-1,'date'); + print ''; + print select_projet('','','fk_projet'); + //$formproject->select_projects('','','fk_projet'); + print ''; + select_type_fees_id('TF_TRAIN','fk_c_type_fees'); + print ''; + print ''; + print ''; + print $form->load_tva('fk_c_tva', (isset($_POST["fk_c_tva"])?$_POST["fk_c_tva"]:-1), $mysoc, ''); + print ''; + print ''; + print ''; + print ''; + print '
'; + + print '
'; + } // Fin si c'est payé/validé + + } + } // end edit or not edit + + dol_fiche_end(); + + } // end of if result + else + { + dol_print_error($db); + } + + } //fin si id > 0 + +} + + + +/* + * Barre d'actions + */ + +print '
'; + +if ($action != 'create' && $action != 'edit') +{ + $object = new ExpenseReport($db); + $object->fetch($id,$user); + + /* Si l'état est "Brouillon" + * ET user à droit "creer/supprimer" + * ET fk_user_author == user courant + * Afficher : "Enregistrer" / "Modifier" / "Supprimer" + */ + if($user->rights->expensereport->creer AND $object->fk_c_expensereport_statuts==1) + { + if($object->fk_user_author==$user->id) + { + // Modifier + print ''.$langs->trans('ModifyInfoGen').''; + + // Enregistrer + print ''.$langs->trans('Validate').''; + + if ($user->rights->expensereport->supprimer) + { + // Supprimer + print ''.$langs->trans('Delete').''; + } + } + } + + /* Si l'état est "Refusée" + * ET user à droit "creer/supprimer" + * ET fk_user_author == user courant + * Afficher : "Enregistrer" / "Modifier" / "Supprimer" + */ + if($user->rights->expensereport->creer && $object->fk_c_expensereport_statuts==99) + { + if ($object->fk_user_author == $user->id) + { + // Modifier + print ''.$langs->trans('ModifyInfoGen').''; + + // Brouillonner (le statut refusée est identique à brouillon) + //print ''.$langs->trans('BROUILLONNER').''; + // Enregistrer depuis le statut "Refusée" + print ''.$langs->trans('Validate').''; + + if ($user->rights->expensereport->supprimer) + { + // Supprimer + print ''.$langs->trans('Delete').''; + } + } + } + + if ($user->rights->expensereport->to_paid && $object->fk_c_expensereport_statuts==5) + { + if ($object->fk_user_author == $user->id || $object->fk_user_valid == $user->id) + { + // Brouillonner + print ''.$langs->trans('BROUILLONNER').''; + } + } + + /* Si l'état est "En attente d'approbation" + * ET user à droit de "to_validate" + * ET fk_user_validator == user courant + * Afficher : "Valider" / "Refuser" / "Supprimer" + */ + if ($object->fk_c_expensereport_statuts == 2) + { + if ($object->fk_user_author == $user->id) + { + // Brouillonner + print ''.$langs->trans('BROUILLONNER').''; + } + } + + if ($user->rights->expensereport->to_validate && $object->fk_c_expensereport_statuts == 2) + { + //if($object->fk_user_validator==$user->id) + //{ + // Valider + print ''.$langs->trans('Approve').''; + // Refuser + print ''.$langs->trans('REFUSE').''; + //} + + if ($object->fk_user_author==$user->id) + { + // Annuler + print ''.$langs->trans('CANCEL').''; + } + + if($user->rights->expensereport->supprimer) + { + // Supprimer + print ''.$langs->trans('Delete').''; + } + } + + /* Si l'état est "A payer" + * ET user à droit de "to_paid" + * Afficher : "Annuler" / "Payer" / "Supprimer" + */ + if ($user->rights->expensereport->to_paid && $object->fk_c_expensereport_statuts==5) + { + // Payer + print ''.$langs->trans('TO_PAID').''; + + // Annuler + print ''.$langs->trans('CANCEL').''; + + if($user->rights->expensereport->supprimer) + { + // Supprimer + print ''.$langs->trans('Delete').''; + } + } + + /* Si l'état est "Payée" + * ET user à droit "to_validate" + * ET user à droit "to_paid" + * Afficher : "Annuler" + */ + if ($user->rights->expensereport->to_validate && $user->rights->expensereport->to_paid && $object->fk_c_expensereport_statuts==6) + { + // Annuler + print ''.$langs->trans('Cancel').''; + if($user->rights->expensereport->supprimer) + { + // Supprimer + print ''.$langs->trans('Delete').''; + } + } + + /* Si l'état est "Annulée" + * ET user à droit "supprimer" + * Afficher : "Supprimer" + */ + if ($user->rights->expensereport->supprimer && $object->fk_c_expensereport_statuts==4) + { + + if ($object->fk_user_validator==$user->id) + { + // Brouillonner + print ''.$langs->trans('BROUILLONNER').''; + } + + // Supprimer + print ''.$langs->trans('Delete').''; + + } +} + +print '
'; + + +$conf->global->DOL_URL_ROOT_DOCUMENT_PHP=dol_buildpath('/expensereport/documentwrapper.php',1); + + +print '
'; + +/* + * Documents generes + */ +if($user->rights->expensereport->export && $object->fk_c_expensereport_statuts>0 && $action != 'edit') +{ + $filename = dol_sanitizeFileName($object->ref_number); + $filedir = $conf->expensereport->dir_output . "/" . dol_sanitizeFileName($object->ref_number); + $urlsource = $_SERVER["PHP_SELF"]."?id=".$object->id; + $genallowed = 1; + $delallowed = 1; + $var = true; + print $formfile->showdocuments('expensereport',$filename,$filedir,$urlsource,$genallowed,$delallowed); + $somethingshown = $formfile->numoffiles; +} + +print '
'; + + +llxFooter(); + +$db->close(); diff --git a/htdocs/expensereport/class/expensereport.class.php b/htdocs/expensereport/class/expensereport.class.php new file mode 100755 index 00000000000..c54090dfe2f --- /dev/null +++ b/htdocs/expensereport/class/expensereport.class.php @@ -0,0 +1,1496 @@ +db = $db; + $this->total_ht = 0; + $this->total_ttc = 0; + $this->total_tva = 0; + + // List of language codes for status + $this->statuts[0]='Draft'; + $this->statuts[2]='Validated'; + $this->statuts[4]='Canceled'; + $this->statuts[5]='Approved'; + $this->statuts[6]='Paid'; + $this->statuts[99]='Refused'; + $this->statuts_short[0]='Draft'; + $this->statuts_short[2]='Validated'; + $this->statuts_short[4]='Canceled'; + $this->statuts_short[5]='Approved'; + $this->statuts_short[6]='Paid'; + $this->statuts_short[99]='Refused'; + $this->statuts_logo[0]='statut0'; + $this->statuts_logo[2]='statut4'; + $this->statuts_logo[4]='statut3'; + $this->statuts_logo[5]='statut5'; + $this->statuts_logo[6]='statut6'; + $this->statuts_logo[99]='statutx'; + + return 1; + } + + /** + * Create object in database + * + * @param User $user User that create + * @return int <0 if KO, >0 if OK + */ + function create($user) + { + global $conf; + + $now = dol_now(); + + $this->db->begin(); + + $sql = "INSERT INTO ".MAIN_DB_PREFIX.$this->table_element." ("; + $sql.= "ref_number"; + $sql.= ",total_ht"; + $sql.= ",total_ttc"; + $sql.= ",total_tva"; + $sql.= ",date_debut"; + $sql.= ",date_fin"; + $sql.= ",date_create"; + $sql.= ",fk_user_author"; + $sql.= ",fk_user_validator"; + $sql.= ",fk_c_expensereport_statuts"; + $sql.= ",fk_c_paiement"; + $sql.= ",note"; + $sql.= ") VALUES("; + $sql.= "'(PROV)'"; + $sql.= ", ".$this->total_ht; + $sql.= ", ".$this->total_ttc; + $sql.= ", ".$this->total_tva; + $sql.= ", '".$this->db->idate($this->date_debut)."'"; + $sql.= ", '".$this->db->idate($this->date_fin)."'"; + $sql.= ", '".$this->db->idate($now)."'"; + $sql.= ", ".($user->id > 0 ? $user->id:"null"); + $sql.= ", ".($this->fk_user_validator > 0 ? $this->fk_user_validator:2); + $sql.= ", ".($this->fk_c_expensereport_statuts > 1 ? $this->fk_c_expensereport_statuts:1); + $sql.= ", ".($this->fk_c_paiement > 0 ? $this->fk_c_paiement:2); + $sql.= ", ".($this->note?"'".$this->note."'":"null"); + $sql.= ")"; + + dol_syslog(get_class($this)."::create sql=".$sql, LOG_DEBUG); + $result = $this->db->query($sql); + if ($result) + { + $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.$this->table_element); + $this->ref_number='(PROV'.$this->id.')'; + + $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element." SET ref_number='".$this->ref_number."' WHERE rowid=".$this->id; + dol_syslog(get_class($this)."::create sql=".$sql); + $resql=$this->db->query($sql); + if (!$resql) $error++; + + foreach ($this->lignes as $i => $val) + { + $newndfline=new ExpenseReportLigne($this->db); + $newndfline=$this->lignes[$i]; + $newndfline->fk_expensereport=$this->id; + if ($result >= 0) + { + $result=$newndfline->insert(); + } + if ($result < 0) + { + $error++; + break; + } + } + + if (! $error) + { + $result=$this->update_price(); + if ($result > 0) + { + $this->db->commit(); + return $this->id; + } + else + { + $this->db->rollback(); + return -3; + } + } + else + { + dol_syslog(get_class($this)."::create error ".$this->error, LOG_ERR); + $this->db->rollback(); + return -2; + } + } + else + { + $this->error=$this->db->error()." sql=".$sql; + $this->db->rollback(); + return -1; + } + + } + + /** + * update + * + * @param User $user User making change + * @return int <0 if KO, >0 if OK + */ + function update($user) + { + global $langs; + + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET"; + $sql.= " total_ht = ".$this->total_ht; + $sql.= " , total_ttc = ".$this->total_ttc; + $sql.= " , total_tva = ".$this->total_tva; + $sql.= " , date_debut = '".$this->date_debut."'"; + $sql.= " , date_fin = '".$this->date_fin."'"; + $sql.= " , fk_user_author = ".($user->id > 0 ? "'".$user->id."'":"null"); + $sql.= " , fk_user_validator = ".($this->fk_user_validator > 0 ? $this->fk_user_validator:"null"); + $sql.= " , fk_user_valid = ".($this->fk_user_valid > 0 ? $this->fk_user_valid:"null"); + $sql.= " , fk_user_paid = ".($this->fk_user_paid > 0 ? $this->fk_user_paid:"null"); + $sql.= " , fk_c_expensereport_statuts = ".($this->fk_c_expensereport_statuts > 0 ? $this->fk_c_expensereport_statuts:"null"); + $sql.= " , fk_c_paiement = ".($this->fk_c_paiement > 0 ? $this->fk_c_paiement:"null"); + $sql.= " , note = ".(!empty($this->note)?"'".$this->db->escape($this->note)."'":"''"); + $sql.= " , detail_refuse = ".(!empty($this->detail_refuse)?"'".$this->db->escape($this->detail_refuse)."'":"''"); + $sql.= " WHERE rowid = ".$this->id; + + dol_syslog(get_class($this)."::update sql=".$sql, LOG_DEBUG); + $result = $this->db->query($sql); + if ($result) + { + return 1; + } + else + { + $this->error=$this->db->error(); + return -1; + } + } + + /** + * Load an object from database + */ + function fetch($id,$user='') + { + global $conf,$db; + + if(!$user->rights->expensereport->lire): + $restrict = " AND fk_user_author = ".$user->id; + else: + $restrict = ""; + endif; + + $sql = "SELECT d.rowid, d.ref_number, d.note,"; // DEFAULT + $sql.= " d.detail_refuse, d.detail_cancel, d.fk_user_refuse, d.fk_user_cancel,"; // ACTIONS + $sql.= " d.date_refuse, d.date_cancel,"; // ACTIONS + $sql.= " d.total_ht, d.total_ttc, d.total_tva,"; // TOTAUX (int) + $sql.= " d.date_debut, d.date_fin, d.date_create, d.date_valide, d.date_paiement,"; // DATES (datetime) + $sql.= " d.fk_user_author, d.fk_user_validator, d.fk_c_expensereport_statuts, d.fk_c_paiement,"; // FOREING KEY (int) + $sql.= " d.fk_user_valid, d.fk_user_paid,"; // FOREING KEY 2 (int) + $sql.= " dp.libelle as libelle_paiement, dp.code as code_paiement"; // INNER JOIN paiement + $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element." d"; + $sql.= " INNER JOIN ".MAIN_DB_PREFIX."c_paiement dp ON d.fk_c_paiement = dp.id"; + $sql.= " WHERE d.rowid = ".$id; + $sql.= $restrict; + + dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG); + $result = $db->query($sql) ; + if ($result) + { + $obj = $db->fetch_object($result); + + $this->id = $obj->rowid; + $this->ref = $obj->ref_number; + $this->ref_number = $obj->ref_number; + $this->total_ht = $obj->total_ht; + $this->total_tva = $obj->total_tva; + $this->total_ttc = $obj->total_ttc; + $this->note = $obj->note; + $this->detail_refuse = $obj->detail_refuse; + $this->detail_cancel = $obj->detail_cancel; + + $this->date_debut = $obj->date_debut; + $this->date_fin = $obj->date_fin; + $this->date_paiement = $obj->date_paiement; + $this->date_valide = $obj->date_valide; + $this->date_create = $obj->date_create; + $this->date_refuse = $obj->date_refuse; + $this->date_cancel = $obj->date_cancel; + + $this->fk_user_author = $obj->fk_user_author; + $this->fk_user_validator = $obj->fk_user_validator; + $this->fk_user_valid = $obj->fk_user_valid; + $this->fk_user_paid = $obj->fk_user_paid; + $this->fk_user_refuse = $obj->fk_user_refuse; + $this->fk_user_cancel = $obj->fk_user_cancel; + + $this->user_author_infos = $this->fetch_names($this->fk_user_author); + $this->user_validator_infos = $this->fetch_names($this->fk_user_validator); + + $this->fk_c_expensereport_statuts = $obj->fk_c_expensereport_statuts; + $this->fk_c_paiement = $obj->fk_c_paiement; + + if($this->fk_c_expensereport_statuts==5 || $this->fk_c_expensereport_statuts==6){ + $this->user_valid_infos = $this->fetch_names($this->fk_user_valid); + } + + if($this->fk_c_expensereport_statuts==6){ + $this->user_paid_infos = $this->fetch_names($this->fk_user_paid); + } + + $this->libelle_statut = $obj->libelle_statut; + $this->libelle_paiement = $obj->libelle_paiement; + $this->code_statut = $obj->code_statut; + $this->code_paiement = $obj->code_paiement; + + $this->lignes = array(); + + $result=$this->fetch_lines(); + + return 1; + } + else + { + $this->error=$db->error(); + return -1; + } + } + + + /** + * Returns the label status + * + * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto + * @return string Label + */ + function getLibStatut($mode=0) + { + return $this->LibStatut($this->status,$mode); + } + + /** + * Returns the label of a statut + * + * @param int $status id statut + * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto + * @return string Label + */ + function LibStatut($status,$mode=0) + { + global $langs; + + if ($mode == 0) + return $langs->trans($this->statuts[$status]); + + if ($mode == 1) + return $langs->trans($this->statuts_short[$status]); + + if ($mode == 2) + return img_picto($langs->trans($this->statuts_short[$status]), $this->statuts_logo[$status]).' '.$langs->trans($this->statuts_short[$status]); + + if ($mode == 3) + return img_picto($langs->trans($this->statuts_short[$status]), $this->statuts_logo[$status]); + + if ($mode == 4) + return img_picto($langs->trans($this->statuts_short[$status]),$this->statuts_logo[$status]).' '.$langs->trans($this->statuts[$status]); + + if ($mode == 5) + return ''.$langs->trans($this->statuts_short[$status]).' '.img_picto($langs->trans($this->statuts_short[$status]),$this->statuts_logo[$status]); + + } + + + /** + * + * @param unknown_type $id + * @return unknown + */ + function fetch_names($id) + { + global $db; + + $sql = "SELECT lastname, firstname, email, user_mobile, office_phone "; + $sql.= "FROM ".MAIN_DB_PREFIX."user "; + $sql.= "WHERE rowid = ".$id; + $result = $db->query($sql); + $obj = $db->fetch_object($result); + return $obj; + } + + /** + * + * @param unknown_type $projectid + * @param unknown_type $user + */ + function fetch_line_by_project($projectid,$user='') + { + global $conf,$db,$langs; + + $langs->load('trips'); + + if($user->rights->expensereport->lire) { + + $sql = "SELECT de.fk_expensereport, de.date, de.comments, de.total_ht, de.total_ttc"; + $sql.= " FROM ".MAIN_DB_PREFIX."expensereport_det as de"; + $sql.= " WHERE de.fk_projet = ".$projectid; + + dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG); + $result = $db->query($sql) ; + if ($result) + { + $num = $db->num_rows($result); + $i = 0; + $total_HT = 0; + $total_TTC = 0; + + while ($i < $num) + { + + $objp = $db->fetch_object($result); + + $sql2 = "SELECT d.rowid, d.fk_user_author, d.ref_number, d.fk_c_expensereport_statuts"; + $sql2.= " FROM ".MAIN_DB_PREFIX."expensereport as d"; + $sql2.= " WHERE d.rowid = '".$objp->fk_expensereport."'"; + + $result2 = $db->query($sql2); + $obj = $db->fetch_object($result2); + + $objp->fk_user_author = $obj->fk_user_author; + $objp->ref_num = $obj->ref_number; + $objp->fk_c_expensereport_status = $obj->fk_c_expensereport_statuts; + $objp->rowid = $obj->rowid; + + $total_HT = $total_HT + $objp->total_ht; + $total_TTC = $total_TTC + $objp->total_ttc; + $author = new User($db); + $author->fetch($objp->fk_user_author); + + print '
'.$objp->ref_num.''.dol_print_date($objp->date,'day').''.$author->getNomUrl().''.$objp->comments.''.price($objp->total_ht).''.price($objp->total_ttc).''; + + switch($objp->fk_c_expensereport_status) { + case 4: + print img_picto($langs->trans('StatusOrderCanceled'),'statut5'); + break; + case 1: + print $langs->trans('Draft').' '.img_picto($langs->trans('Draft'),'statut0'); + break; + case 2: + print $langs->trans('TripForValid').' '.img_picto($langs->trans('TripForValid'),'statut3');; + break; + case 5: + print $langs->trans('TripForPaid').' '.img_picto($langs->trans('TripForPaid'),'statut3'); + break; + case 6: + print $langs->trans('TripPaid').' '.img_picto($langs->trans('TripPaid'),'statut4'); + break; + } + /* + if ($status==4) return img_picto($langs->trans('StatusOrderCanceled'),'statut5'); + if ($status==1) return img_picto($langs->trans('StatusOrderDraft'),'statut0'); + if ($status==2) return img_picto($langs->trans('StatusOrderValidated'),'statut1'); + if ($status==2) return img_picto($langs->trans('StatusOrderOnProcess'),'statut3'); + if ($status==5) return img_picto($langs->trans('StatusOrderToBill'),'statut4'); + if ($status==6) return img_picto($langs->trans('StatusOrderOnProcess'),'statut6'); + */ + print '
'.$langs->trans("Number").': '.$i.''.$langs->trans("TotalHT").' : '.price($total_HT).''.$langs->trans("TotalTTC").' : '.price($total_TTC).' 
'; + $out.= ''; + $out.= ''; + $out.= '
'; + if ($projetid == 0) { + $out.= ''; + } else { + $out.= ''; + } + $out.= ajax_autocompleter(($projetid?$projetid:-1),$htmlname,dol_buildpath('/expensereport/ajax/ajaxprojet.php',1).'?filter='.urlencode($filter), '', $minLength); + $out.= '
'; + } + + } + else + { + dol_print_error($db); + } + + return $out; +} + +/** + * Return list of types of notes with select value = id + * + * @param selected Preselected type + * @param htmlname Name of field in form + * @param showempty Add an empty field + * @return string Select html + */ +function select_type_fees_id($selected='',$htmlname='type',$showempty=0) +{ + global $db,$langs,$user; + $langs->load("trips"); + + print ''; +} diff --git a/htdocs/expensereport/class/expensereportstats.class.php b/htdocs/expensereport/class/expensereportstats.class.php new file mode 100644 index 00000000000..64d0aaf01ed --- /dev/null +++ b/htdocs/expensereport/class/expensereportstats.class.php @@ -0,0 +1,163 @@ + + * Copyright (c) 2005-2008 Laurent Destailleur + * Copyright (C) 2005-2009 Regis Houssin + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/expensereport/class/expensereportstats.class.php + * \ingroup factures + * \brief Fichier de la classe de gestion des stats des expensereport et notes de frais + */ +include_once DOL_DOCUMENT_ROOT . '/core/class/stats.class.php'; +dol_include_once('/expensereport/class/expensereport.class.php'); + +/** + * Classe permettant la gestion des stats des expensereports et notes de frais + */ +class ExpenseReportStats extends Stats +{ + public $table_element; + + var $socid; + var $userid; + + var $from; + var $field; + var $where; + + /** + * Constructor + * + * @param DoliDB $db Database handler + * @param int $socid Id third party + * @param int $userid Id user for filter + * @return void + */ + function __construct($db, $socid=0, $userid=0) + { + global $conf; + + $this->db = $db; + $this->socid = $socid; + $this->userid = $userid; + + $object=new ExpenseReport($this->db); + $this->from = MAIN_DB_PREFIX.$object->table_element; + $this->field='total_ht'; + + $this->where = " fk_c_expensereport_statuts > 0 and date_valide > '2000-01-01'"; + //$this->where.= " AND entity = ".$conf->entity; + if ($this->socid) + { + $this->where.=" AND fk_soc = ".$this->socid; + } + if ($this->userid > 0) $this->where.=' AND fk_user_author = '.$this->userid; + } + + + /** + * Renvoie le nombre de facture par annee + * + * @return array Array of values + */ + function getNbByYear() + { + $sql = "SELECT YEAR(date_valide) as dm, count(*)"; + $sql.= " FROM ".$this->from; + $sql.= " GROUP BY dm DESC"; + $sql.= " WHERE ".$this->where; + + return $this->_getNbByYear($sql); + } + + + /** + * Renvoie le nombre de facture par mois pour une annee donnee + * + * @param string $year Year to scan + * @return array Array of values + */ + function getNbByMonth($year) + { + $sql = "SELECT MONTH(date_valide) as dm, count(*)"; + $sql.= " FROM ".$this->from; + $sql.= " WHERE YEAR(date_valide) = ".$year; + $sql.= " AND ".$this->where; + $sql.= " GROUP BY dm"; + $sql.= $this->db->order('dm','DESC'); + + $res=$this->_getNbByMonth($year, $sql); + //var_dump($res);print '
'; + return $res; + } + + + /** + * Renvoie le montant de facture par mois pour une annee donnee + * + * @param int $year Year to scan + * @return array Array of values + */ + function getAmountByMonth($year) + { + $sql = "SELECT date_format(date_valide,'%m') as dm, sum(".$this->field.")"; + $sql.= " FROM ".$this->from; + $sql.= " WHERE date_format(date_valide,'%Y') = '".$year."'"; + $sql.= " AND ".$this->where; + $sql.= " GROUP BY dm"; + $sql.= $this->db->order('dm','DESC'); + + $res=$this->_getAmountByMonth($year, $sql); + //var_dump($res);print '
'; + return $res; + } + + /** + * Return average amount + * + * @param int $year Year to scan + * @return array Array of values + */ + function getAverageByMonth($year) + { + $sql = "SELECT date_format(date_valide,'%m') as dm, avg(".$this->field.")"; + $sql.= " FROM ".$this->from; + $sql.= " WHERE date_format(date_valide,'%Y') = '".$year."'"; + $sql.= " AND ".$this->where; + $sql.= " GROUP BY dm"; + $sql.= $this->db->order('dm','DESC'); + + return $this->_getAverageByMonth($year, $sql); + } + + /** + * Return nb, total and average + * + * @return array Array of values + */ + function getAllByYear() + { + $sql = "SELECT date_format(date_valide,'%Y') as year, count(*) as nb, sum(".$this->field.") as total, avg(".$this->field.") as avg"; + $sql.= " FROM ".$this->from; + $sql.= " WHERE ".$this->where; + $sql.= " GROUP BY year"; + $sql.= $this->db->order('year','DESC'); + + return $this->_getAllByYear($sql); + } +} + diff --git a/htdocs/expensereport/document.php b/htdocs/expensereport/document.php new file mode 100644 index 00000000000..65ee2a1bbaa --- /dev/null +++ b/htdocs/expensereport/document.php @@ -0,0 +1,131 @@ + + * Copyright (C) 2004-2010 Laurent Destailleur + * Copyright (C) 2005 Marc Barilley / Ocebo + * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005 Simon TOSSER + * Copyright (C) 2011-2012 Juanjo Menent + * Copyright (C) 2013 Cédric Salvador + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/compta/expensereport/document.php + * \ingroup expensereport + * \brief Page of linked files onto trip and expenses + */ + +require '../main.inc.php'; + +$langs->load("other"); +$langs->load("trips"); +$langs->load("companies"); +$langs->load("interventions"); + +$id = GETPOST('id','int'); +$ref = GETPOST('ref', 'alpha'); +$action = GETPOST('action','alpha'); +$confirm = GETPOST('confirm','alpha'); + +// Security check +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'expensereport', $id, ''); + + +// Get parameters +$sortfield = GETPOST('sortfield','alpha'); +$sortorder = GETPOST('sortorder','alpha'); +$page = GETPOST('page','int'); +if ($page == -1) { $page = 0; } +$offset = $conf->liste_limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (! $sortorder) $sortorder="ASC"; +if (! $sortfield) $sortfield="name"; + + +$object = new ExpenseReport($db); +$object->fetch($id, $ref); + +$upload_dir = $conf->expensereport->dir_output.'/'.dol_sanitizeFileName($object->ref); +$modulepart='trip'; + + +/* + * Actions + */ + +include_once DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_pre_headers.tpl.php'; + + +/* + * View + */ + +$form = new Form($db); + +llxHeader("","",$langs->trans("TripCard")); + + +if ($object->id) +{ + $object->fetch_thirdparty(); + + $head=trip_prepare_head($object); + + dol_fiche_head($head, 'documents', $langs->trans("TripCard"), 0, 'trip'); + + + // Construit liste des fichiers + $filearray=dol_dir_list($upload_dir,"files",0,'','(\.meta|_preview\.png)$',$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1); + $totalsize=0; + foreach($filearray as $key => $file) + { + $totalsize+=$file['size']; + } + + + print ''; + + $linkback = ''.$langs->trans("BackToList").''; + + // Ref + print ''; + + // Societe + //print ""; + + print ''; + print ''; + print '
'.$langs->trans("Ref").''; + print $form->showrefnav($object, 'id', $linkback, 1, 'rowid', 'ref', ''); + print '
".$langs->trans("Company")."".$object->client->getNomUrl(1)."
'.$langs->trans("NbOfAttachedFiles").''.count($filearray).'
'.$langs->trans("TotalSizeOfAttachedFiles").''.$totalsize.' '.$langs->trans("bytes").'
'; + + print '
'; + + $modulepart = 'expensereport'; + $permission = $user->rights->expensereport->creer; + $param = '&id=' . $object->id; + include_once DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_post_headers.tpl.php'; + +} +else +{ + print $langs->trans("ErrorUnknown"); +} + +llxFooter(); + +$db->close(); diff --git a/htdocs/expensereport/export_csv.php b/htdocs/expensereport/export_csv.php new file mode 100755 index 00000000000..07f4167b724 --- /dev/null +++ b/htdocs/expensereport/export_csv.php @@ -0,0 +1,199 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/expensereport/index.php + * \brief Page list of expenses + */ + +require '../main.inc.php'; +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formfile.class.php"); +dol_include_once("/expensereport/class/expensereport.class.php"); + +$langs->load("users"); +$langs->load("trips"); + +if(!$user->rights->expensereport->export_csv) { + accessforbidden(); + exit(); +} + +// Security check +$socid = $_GET["socid"]?$_GET["socid"]:''; +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'expensereport','',''); + +$req = "SELECT * FROM ".MAIN_DB_PREFIX."rights_def WHERE id = '178'"; +$result = $db->query($req); +$num = $db->num_rows($result); + +if($num < 1) { + + $insert = "INSERT INTO ".MAIN_DB_PREFIX."rights_def ("; + $insert.= "`id` ,"; + $insert.= "`libelle` ,"; + $insert.= "`module` ,"; + $insert.= "`entity` ,"; + $insert.= "`perms` ,"; + $insert.= "`subperms` ,"; + $insert.= "`type` ,"; + $insert.= "`bydefault`"; + $insert.= ")"; + $insert.= "VALUES ("; + $insert.= "'178', 'Exporter les notes de frais au format CSV', 'expensereport', '1', 'export_csv', NULL , 'r', '0'"; + $insert.= ")"; + + $req = $db->query($insert); + +} + + +/* + * View + */ + +llxHeader(); + +print_fiche_titre($langs->trans("ExportTripCSV")); + +print '
'; + +print '
'; +print ''; +print '

Choisir le mois à exporter : '; + +$year = date('Y', time()); +$month = date('m', time()); + +print ' '; + +print ' '; + +print ''; +print '

'; +print '
'."\n"; + +// Si c'est une action +if (isset($_POST['action'])) +{ + if($_POST['action'] == 'export') + { + $select_date = $_POST['annee'].'-'.$_POST['mois']; + + //var_dump($conf->expensereport->dir_output.'/export/'); + if (!file_exists($conf->expensereport->dir_output.'/export/')) + { + dol_mkdir($conf->expensereport->dir_output.'/export/'); + } + + $dir = $conf->expensereport->dir_output.'/export/expensereport-'.$select_date.'.csv'; + $outputlangs = $langs; + $outputlangs->charset_output = 'UTF-8'; + + $sql = "SELECT d.rowid, d.ref_number, d.date_paiement, d.total_ht, d.total_tva, d.total_ttc"; + $sql.= " FROM ".MAIN_DB_PREFIX."expensereport as d"; + $sql.= " WHERE date_paiement LIKE '".$select_date."%'"; + $sql.= " ORDER BY d.rowid"; + + $result = $db->query($sql); + $num = $db->num_rows($result); + if ($num) + { + $open = fopen($dir,"w+"); + + $ligne = "ID, Référence, ----, Date paiement, Montant HT, TVA, Montant TTC\n"; + for ($i = 0; $i < $num; $i++) + { + $ligne.= "----, ----, ----, ----, ----, ----, ----\n"; + $objet = $db->fetch_object($result); + $objet->total_ht = number_format($objet->total_ht,2); + $objet->total_tva = number_format($objet->total_tva,2); + $objet->total_ttc = number_format($objet->total_ttc,2); + $objet->ref_number = trim($objet->ref_number); + $ligne.= "{$objet->rowid}, {$objet->ref_number}, ----, {$objet->date_paiement}, {$objet->total_ht}, {$objet->total_tva}, {$objet->total_ttc}\n"; + + $ligne.= "--->, Ligne, Type, Description, ----, ----, ----\n"; + + + $sql2 = "SELECT de.rowid, t.label as libelle, de.comments, de.total_ht, de.total_tva, de.total_ttc"; + $sql2.= " FROM ".MAIN_DB_PREFIX."expensereport_det as de,"; + $sql2.= " ".MAIN_DB_PREFIX."c_type_fees as t"; + $sql2.= " WHERE de.fk_c_type_fees = t.id"; + $sql2.= " AND de.fk_expensereport = '".$objet->rowid."'"; + $sql2.= " ORDER BY de.date"; + + $result2 = $db->query($sql2); + $num2 = $db->num_rows($result2); + + if($num2) { + for ($a = 0; $a < $num2; $a++) + { + $objet2 = $db->fetch_object($result2); + $objet2->total_ht = number_format($objet2->total_ht,2); + $objet2->total_tva = number_format($objet2->total_tva,2); + $objet2->total_ttc = number_format($objet2->total_ttc,2); + $objet2->comments = str_replace(',',';',$objet2->comments); + $objet2->comments = str_replace("\r\n",' ',$objet2->comments); + $objet2->comments = str_replace("\n",' ',$objet2->comments); + + $ligne.= "--->, {$objet2->rowid}, {$objet2->libelle}, {$objet2->comments}, {$objet2->total_ht}, {$objet2->total_tva}, {$objet2->total_ttc}\n"; + } + } + + } + + $ligne = $outputlangs->convToOutputCharset($ligne); + + fwrite($open,$ligne); + fclose($open); + + print 'Télécharger le fichier expensereport-'.$select_date.'.csv'; + + } else { + + print ''.$langs->trans('NoTripsToExportCSV').''; + + } + } +} + +print '
'; + +llxFooter(); + +$db->close(); diff --git a/htdocs/expensereport/index.php b/htdocs/expensereport/index.php new file mode 100644 index 00000000000..aae513618db --- /dev/null +++ b/htdocs/expensereport/index.php @@ -0,0 +1,208 @@ + + * Copyright (C) 2004-2011 Laurent Destailleur + * Copyright (C) 2004 Eric Seigne + * Copyright (C) 2005-2011 Regis Houssin + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/expensereport/index.php + * \brief Page list of expenses + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php'; +dol_include_once("/expensereport/class/expensereport.class.php"); + +$langs->load("companies"); +$langs->load("users"); +$langs->load("trips"); + +// Security check +$socid = GETPOST('socid','int'); +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'expensereport','',''); + +$sortfield = GETPOST("sortfield",'alpha'); +$sortorder = GETPOST("sortorder",'alpha'); +$page = GETPOST("page",'int'); +if ($page == -1) { $page = 0; } +$offset = $conf->liste_limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (! $sortorder) $sortorder="DESC"; +if (! $sortfield) $sortfield="d.date_create"; +$limit = $conf->liste_limit; + + +/* + * View + */ + +$tripandexpense_static=new ExpenseReport($db); + +$childids = $user->getAllChildIds(); +$childids[]=$user->id; + +//$help_url='EN:Module_Donations|FR:Module_Dons|ES:Módulo_Donaciones'; +$help_url=''; +llxHeader('',$langs->trans("ListOfFees"),$help_url); + + +$label=$somme=$nb=array(); + +$totalnb=$totalsum=0; +$sql = "SELECT tf.code, tf.label, count(de.rowid) as nb, sum(de.total_ht) as km"; +$sql.= " FROM ".MAIN_DB_PREFIX."expensereport as d, ".MAIN_DB_PREFIX."expensereport_det as de, ".MAIN_DB_PREFIX."c_type_fees as tf"; +$sql.= " WHERE de.fk_expensereport = d.rowid AND de.fk_c_type_fees = tf.id"; +if (empty($user->rights->expensereport->readall) && empty($user->rights->expensereport->lire_tous)) $sql.=' AND d.fk_user_author IN ('.join(',',$childids).')'; +$sql.= " GROUP BY tf.code, tf.label"; + +$result = $db->query($sql); +if ($result) +{ + $num = $db->num_rows($result); + $i = 0; + while ($i < $num) + { + $objp = $db->fetch_object($result); + + $somme[$objp->code] = $objp->km; + $nb[$objp->code] = $objp->nb; + $label[$objp->code] = $objp->label; + $totalnb += $objp->nb; + $totalsum += $objp->km; + $i++; + } + $db->free($result); +} else { + dol_print_error($db); +} + + +print_fiche_titre($langs->trans("ExpensesArea")); + + +print '
'; + + +print ''; +print ''; +print ''; +print "\n"; + +//$listoftype=$tripandexpense_static->listOfTypes(); +$listoftype=$label; +foreach ($listoftype as $code => $label) +{ + $dataseries[]=array('label'=>$label,'data'=>(isset($somme[$code])?(int) $somme[$code]:0)); +} + +if ($conf->use_javascript_ajax) +{ + print ''; +} + +print ''; +print ''; +print ''; +print ''; + +print '
'.$langs->trans("Statistics").'
'; + $data=array('series'=>$dataseries); + dol_print_graph('stats',320,180,$data,1,'pie',0); + print '
'.$langs->trans("Total").''.price($totalsum,1,$langs,0,0,0,$conf->currency).'
'; + + + +// Right area +print '
'; + + +$max=10; + +$langs->load("boxes"); + +$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, d.rowid, d.date_debut as dated, d.date_fin as datef, d.date_create as dm, d.total_ht, d.total_ttc, d.fk_c_expensereport_statuts as fk_status"; +$sql.= " FROM ".MAIN_DB_PREFIX."expensereport as d, ".MAIN_DB_PREFIX."user as u"; +if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."societe_commerciaux as sc"; +$sql.= " WHERE u.rowid = d.fk_user_author"; +if (empty($user->rights->expensereport->readall) && empty($user->rights->expensereport->lire_tous)) $sql.=' AND d.fk_user_author IN ('.join(',',$childids).')'; +//$sql.= " AND d.entity = ".$conf->entity; +if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND d.fk_user_author = s.rowid AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; +if ($socid) $sql.= " AND d.fk_user_author = ".$socid; +$sql.= $db->order($sortfield,$sortorder); +$sql.= $db->plimit($max, 0); + +$result = $db->query($sql); +if ($result) +{ + $var=false; + $num = $db->num_rows($result); + + $i = 0; + + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + if ($num) + { + $total_ttc = $totalam = $total = 0; + + $expensereportstatic=new ExpenseReport($db); + $userstatic=new User($db); + while ($i < $num && $i < $max) + { + $obj = $db->fetch_object($result); + $expensereportstatic->ref=$obj->rowid; + $expensereportstatic->id=$obj->rowid; + $userstatic->id=$obj->uid; + $userstatic->lastname=$obj->lastname; + $userstatic->firstname=$obj->firstname; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + $var=!$var; + $i++; + } + + } + else + { + print ''; + } + print '
'.$langs->trans("BoxTitleLastModifiedExpenses",min($max,$num)).''.$langs->trans("AmountHT").''.$langs->trans("AmountTTC").''.$langs->trans("DateModificationShort").' 
'.$expensereportstatic->getNomUrl(1).''.$userstatic->getNomUrl(1).''.$obj->total_ht.''.$obj->total_ttc.''.dol_print_date($db->jdate($obj->dm),'day').''; + //print $obj->libelle; + print $expensereportstatic->LibStatut($obj->fk_status,3); + print '
'.$langs->trans("None").'

'; +} +else dol_print_error($db); + +print '
'; + +llxFooter(); + +$db->close(); diff --git a/htdocs/expensereport/info.php b/htdocs/expensereport/info.php new file mode 100644 index 00000000000..866e67ec04b --- /dev/null +++ b/htdocs/expensereport/info.php @@ -0,0 +1,63 @@ + + * Copyright (C) 2004-2005 Laurent Destailleur + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/expensereport/info.php + * \ingroup trip + * \brief Page to show a trip information + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/trip.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/expensereport/class/expensereport.class.php'; + +$langs->load("trips"); + +// Security check +$id = GETPOST('id','int'); +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'expensereport', $id, ''); + + +/* + * View + */ + +llxHeader(); + +if ($id) +{ + $object = new ExpenseReport($db); + $object->fetch($id); + $object->info($id); + + $head = trip_prepare_head($object); + + dol_fiche_head($head, 'info', $langs->trans("TripCard"), 0, 'trip'); + + print '
'; + dol_print_object_info($object); + print '
'; + + print ''; +} + +$db->close(); + +llxFooter(); diff --git a/htdocs/expensereport/list.php b/htdocs/expensereport/list.php new file mode 100755 index 00000000000..c9a965b5587 --- /dev/null +++ b/htdocs/expensereport/list.php @@ -0,0 +1,316 @@ + + * Copyright (C) 2004-2008 Laurent Destailleur + * Copyright (C) 2004 Eric Seigne + * Copyright (C) 2005-2009 Regis Houssin + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/** + * \file htdocs/expensereport/index.php + * \brief Page liste des expensereports + */ + +require "../main.inc.php"; +dol_include_once("/expensereport/class/expensereport.class.php"); +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; + +$langs->load("companies"); +$langs->load("users"); +$langs->load("trips"); + +// Security check +$socid = $_GET["socid"]?$_GET["socid"]:''; +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'expensereport','',''); + +$search_ref=GETPOST('search_ref'); + + +/* + * View + */ + +$html = new Form($db); +$formother = new FormOther($db); +$expensereporttmp=new ExpenseReport($db); + +llxHeader(); + +$max_year = 5; +$min_year = 5; + +$sortorder = $_GET["sortorder"]; +$sortfield = $_GET["sortfield"]; +$page = $_GET["page"]; + +$search_ref = $_GET['search_ref']; + +$month_start = $_GET['month_start']; +$year_start = $_GET['year_start']; +$month_end = $_GET['month_end']; +$year_end = $_GET['year_end']; + +$search_user = $_GET['search_user']; + +$search_state = $_GET['search_state']; + + +if (!$sortorder) $sortorder="DESC"; +if (!$sortfield) $sortfield="d.date_debut"; + +if ($page == -1) { + $page = 0 ; +} + +$limit = $conf->liste_limit; +$offset = $limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; + +$sql = "SELECT d.rowid, d.ref_number, d.total_ht, d.total_tva, d.total_ttc, d.fk_c_expensereport_statuts,"; +$sql.= " d.date_debut, d.date_fin,"; +$sql.= " u.rowid as id_user, u.firstname, u.lastname"; +$sql.= " FROM ".MAIN_DB_PREFIX."expensereport d\n"; +$sql.= " INNER JOIN ".MAIN_DB_PREFIX."user u ON d.fk_user_author = u.rowid\n"; + +// WHERE +if(!empty($search_ref)){ + $sql.= " WHERE d.ref_number LIKE '%".$db->escape($search_ref)."%'\n"; +}else{ + $sql.= " WHERE 1 = 1\n"; +} + +// DATE START +if ($month_start > 0) { + if ($year_start > 0) { + if($month_end > 0) { + if($year_end > 0) { + $sql.= " AND date_format(d.date_debut, '%Y-%m') >= '$year_start-$month_start'"; + $sql.= " AND date_format(d.date_fin, '%Y-%m') <= '$year_end-$month_end'"; + } else { + $sql.= " AND date_format(d.date_debut, '%Y-%m') >= '$year_start-$month_start'"; + $sql.= " AND date_format(d.date_fin, '%m') <= '$month_end'"; + } + } else { + if($year_end > 0) { + $sql.= " AND date_format(d.date_debut, '%Y-%m') >= '$year_start-$month_start'"; + $sql.= " AND date_format(d.date_fin, '%Y') <= '$year_end'"; + } else { + $sql.= " AND date_format(d.date_debut, '%Y-%m') >= '$year_start-$month_start'"; + } + } + } else { + $sql.= " AND date_format(d.date_debut, '%m') >= '$month_start'"; + } +} else { + if ($year_start > 0) { + if($month_end > 0) { + if($year_end > 0) { + $sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'"; + $sql.= " AND date_format(d.date_fin, '%Y-%m') <= '$year_end-$month_end'"; + } else { + $sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'"; + $sql.= " AND date_format(d.date_fin, '%m') <= '$month_end'"; + } + } else { + if($year_end > 0) { + $sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'"; + $sql.= " AND date_format(d.date_fin, '%Y') <= '$year_end'"; + } else { + $sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'"; + } + } + } else { + if($month_end > 0) { + if($year_end > 0) { + $sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'"; + $sql.= " AND date_format(d.date_fin, '%Y-%m') <= '$year_end-$month_end'"; + } else { + $sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'"; + $sql.= " AND date_format(d.date_fin, '%m') <= '$month_end'"; + } + } else { + if($year_end > 0) { + $sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'"; + $sql.= " AND date_format(d.date_fin, '%Y') <= '$year_end'"; + } + } + } +} + +if(!empty($search_user) && $search_user != -1) { + $sql.= " AND d.fk_user_author = '$search_user'\n"; +} + +if(!empty($search_state)) { + $sql.= " AND d.fk_c_expensereport_statuts = '$search_state'\n"; +} + +// RESTRICT RIGHTS +if (empty($user->rights->expensereport->readall) && empty($user->rights->expensereport->lire_tous)){ + $sql.= " AND d.fk_user_author = '{$user->id}'\n"; +} + +// ORDER +$sql.= " ORDER BY $sortfield $sortorder " . $db->plimit( $limit + 1 ,$offset); + +if($_GET['debug']=='ok'){ + var_dump("
",$sql,"
"); exit(); +} + +//print $sql; +$resql=$db->query($sql); +if ($resql) +{ + $num = $db->num_rows($resql); + + $i = 0; + print_barre_liste($langs->trans("ListTripsAndExpenses"), $page, $_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$nbtotalofrecords); + + print '
'."\n"; + print ''; + print ""; + print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"d.rowid","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("DateStart"),$_SERVER["PHP_SELF"],"d.date_debut","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("DateEnd"),$_SERVER["PHP_SELF"],"d.date_fin","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Person"),$_SERVER["PHP_SELF"],"u.lastname","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("TotalHT"),$_SERVER["PHP_SELF"],"d.total_ht","",$param,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("TotalVAT"),$_SERVER["PHP_SELF"],"d.total_tva","",$param,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("TotalTTC"),$_SERVER["PHP_SELF"],"d.total_ttc","",$param,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Statut"),$_SERVER["PHP_SELF"],"","",$param,'align="right"',$sortfield,$sortorder); + print_liste_field_titre(); + print "\n"; + + // FILTRES + print ''; + print ''; + + // Date end + print ''; + + // User + if ($user->rights->expensereport->readall || $user->rights->expensereport->lire_tous){ + print ''; + } else { + print ''; + } + + + print ''; + + print ''; + + print '"; + + // Status + print ''; + print '"; + + print "\n"; + + $var=true; + + $total_total_ht = 0; + $total_total_ttc = 0; + $total_total_tva = 0; + + if($num>0) + { + while ($i < $num) + { + $objp = $db->fetch_object($resql); + + $var=!$var; + print ""; + print ''; + print ''; + print ''; + print ''; + /*print ''; + print ''; + print ''; + */ + print ''; + print ''; + print ''; + + $expensereporttmp->status=$objp->statut; + print ''; + print "\n"; + + $total_total_ht = $total_total_ht + $objp->total_ht; + $total_total_tva = $total_total_tva + $objp->total_tva; + $total_total_ttc = $total_total_ttc + $objp->total_ttc; + + $i++; + } + + print ''; + print ''; + /* + print ''; + print ''; + print ''; + */ + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + } + else + { + print ''; + } + print "
'; + print ''; + + // Date start + print ''; + print ''; + $formother->select_year($year_start,'year_start',1, $min_year, $max_year); + print ''; + print ''; + $formother->select_year($year_end,'year_end',1, $min_year, $max_year); + print ''; + $html->select_users($search_user,"search_user",1,"",0,''); + print '   '; + print "'; + select_expensereport_statut($search_state,'search_state'); + print ''; + print ' '; + print "
'.img_object($langs->trans("ShowTrip"),"trip").' '.$objp->ref_number.''.($objp->date_debut > 0 ? dol_print_date($objp->date_debut, 'day') : '').''.($objp->date_fin > 0 ? dol_print_date($objp->date_fin, 'day') : '').''.img_object($langs->trans("ShowUser"),"user").' '.dolGetFirstLastname($objp->firstname, $objp->lastname).''.price($objp->total_tva, '', $langs, 0, 'MT', 0, $conf->currency).''.price($objp->total_ht, '', $langs, 0, 'MT', 0, $conf->currency).''.price($objp->total_ttc, '', $langs, 0, 'MT', 0, $conf->currency).''.price($objp->total_ht).''.price($objp->total_tva).''.price($objp->total_ttc).''.$expensereporttmp->getLibStatut(5).'
'.$langs->trans("Total").''.price($total_total_tva, '', $langs, 0, 'MT', 0, $conf->currency).''.price($total_total_ht, '', $langs, 0, 'MT', 0, $conf->currency).''.price($total_total_ttc, '', $langs, 0, 'MT', 0, $conf->currency).''.$total_total_ht.''.$total_total_tva.''.$total_total_ttc.'
'.$langs->trans("NoRecordFound").'
"; + + print "
"; + + print '
'; + print 'Ajouter une note de frais'; + print '
'; + + $db->free($resql); +} +else +{ + dol_print_error($db); +} + + +llxFooter(); + +$db->close(); diff --git a/htdocs/expensereport/stats/index.php b/htdocs/expensereport/stats/index.php new file mode 100755 index 00000000000..07843985b00 --- /dev/null +++ b/htdocs/expensereport/stats/index.php @@ -0,0 +1,297 @@ + + * Copyright (c) 2004-2012 Laurent Destailleur + * Copyright (C) 2012 Marcos García + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/expensereport/stats/index.php + * \ingroup expensereport + * \brief Page for statistics of module trips and expenses + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php'; +require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereportstats.class.php'; + +$langs->load("trips"); + +$WIDTH=DolGraph::getDefaultGraphSizeForStats('width'); +$HEIGHT=DolGraph::getDefaultGraphSizeForStats('height'); + +$userid=GETPOST('userid','int'); +$socid=GETPOST('socid','int'); if ($socid < 0) $socid=0; +$id = GETPOST('id','int'); + +// Security check +if ($user->societe_id > 0) +{ + $action = ''; + $socid = $user->societe_id; +} +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'expensereport', $id,''); + +$nowyear=strftime("%Y", dol_now()); +$year = GETPOST('year')>0?GETPOST('year'):$nowyear; +//$startyear=$year-2; +$startyear=$year-1; +$endyear=$year; + +$mode=GETPOST("mode")?GETPOST("mode"):'customer'; + + +/* + * View + */ + +$form=new Form($db); + +llxHeader(); + +$title=$langs->trans("TripsAndExpensesStatistics"); +$dir=$conf->expensereport->dir_temp; + +print_fiche_titre($title, $mesg); + +dol_mkdir($dir); + +$stats = new ExpenseReportStats($db, $socid, $userid); + + +// Build graphic number of object +// $data = array(array('Lib',val1,val2,val3),...) +//print "$endyear, $startyear"; +$data = $stats->getNbByMonthWithPrevYear($endyear,$startyear); +//var_dump($data); + +$filenamenb = $dir."/tripsexpensesnbinyear-".$year.".png"; +$fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=tripsexpensesstats&file=tripsexpensesnbinyear-'.$year.'.png'; + +$px1 = new DolGraph(); +$mesg = $px1->isGraphKo(); +if (! $mesg) +{ + $px1->SetData($data); + $px1->SetPrecisionY(0); + $i=$startyear;$legend=array(); + while ($i <= $endyear) + { + $legend[]=$i; + $i++; + } + $px1->SetLegend($legend); + $px1->SetMaxValue($px1->GetCeilMaxValue()); + $px1->SetWidth($WIDTH); + $px1->SetHeight($HEIGHT); + $px1->SetYLabel($langs->trans("Number")); + $px1->SetShading(3); + $px1->SetHorizTickIncrement(1); + $px1->SetPrecisionY(0); + $px1->mode='depth'; + $px1->SetTitle($langs->trans("NumberByMonth")); + + $px1->draw($filenamenb,$fileurlnb); +} + +// Build graphic amount of object +$data = $stats->getAmountByMonthWithPrevYear($endyear,$startyear); +//var_dump($data); +// $data = array(array('Lib',val1,val2,val3),...) + +$filenameamount = $dir."/tripsexpensesamountinyear-".$year.".png"; +$fileurlamount = DOL_URL_ROOT.'/viewimage.php?modulepart=tripsexpensesstats&file=tripsexpensesamountinyear-'.$year.'.png'; + +$px2 = new DolGraph(); +$mesg = $px2->isGraphKo(); +if (! $mesg) +{ + $px2->SetData($data); + $i=$startyear;$legend=array(); + while ($i <= $endyear) + { + $legend[]=$i; + $i++; + } + $px2->SetLegend($legend); + $px2->SetMaxValue($px2->GetCeilMaxValue()); + $px2->SetMinValue(min(0,$px2->GetFloorMinValue())); + $px2->SetWidth($WIDTH); + $px2->SetHeight($HEIGHT); + $px2->SetYLabel($langs->trans("Amount")); + $px2->SetShading(3); + $px2->SetHorizTickIncrement(1); + $px2->SetPrecisionY(0); + $px2->mode='depth'; + $px2->SetTitle($langs->trans("AmountTotal")); + + $px2->draw($filenameamount,$fileurlamount); +} + + +$data = $stats->getAverageByMonthWithPrevYear($endyear, $startyear); + +if (!$user->rights->societe->client->voir || $user->societe_id) +{ + $filename_avg = $dir.'/ordersaverage-'.$user->id.'-'.$year.'.png'; + if ($mode == 'customer') $fileurl_avg = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstats&file=ordersaverage-'.$user->id.'-'.$year.'.png'; + if ($mode == 'supplier') $fileurl_avg = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstatssupplier&file=ordersaverage-'.$user->id.'-'.$year.'.png'; +} +else +{ + $filename_avg = $dir.'/ordersaverage-'.$year.'.png'; + if ($mode == 'customer') $fileurl_avg = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstats&file=ordersaverage-'.$year.'.png'; + if ($mode == 'supplier') $fileurl_avg = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstatssupplier&file=ordersaverage-'.$year.'.png'; +} + +$px3 = new DolGraph(); +$mesg = $px3->isGraphKo(); +if (! $mesg) +{ + $px3->SetData($data); + $i = $startyear;$legend=array(); + while ($i <= $endyear) + { + $legend[]=$i; + $i++; + } + $px3->SetLegend($legend); + $px3->SetYLabel($langs->trans("AmountAverage")); + $px3->SetMaxValue($px3->GetCeilMaxValue()); + $px3->SetMinValue($px3->GetFloorMinValue()); + $px3->SetWidth($WIDTH); + $px3->SetHeight($HEIGHT); + $px3->SetShading(3); + $px3->SetHorizTickIncrement(1); + $px3->SetPrecisionY(0); + $px3->mode='depth'; + $px3->SetTitle($langs->trans("AmountAverage")); + + $px3->draw($filename_avg,$fileurl_avg); +} + + +// Show array +$data = $stats->getAllByYear(); +$arrayyears=array(); +foreach($data as $val) { + $arrayyears[$val['year']]=$val['year']; +} +if (! count($arrayyears)) $arrayyears[$nowyear]=$nowyear; + + +$h=0; +$head = array(); +$head[$h][0] = DOL_URL_ROOT . '/compta/expensereport/stats/index.php'; +$head[$h][1] = $langs->trans("ByMonthYear"); +$head[$h][2] = 'byyear'; +$h++; + +complete_head_from_modules($conf,$langs,null,$head,$h,'trip_stats'); + +dol_fiche_head($head,'byyear',$langs->trans("Statistics")); + + +print '
'; + + +// Show filter box +print '
'; +print ''; +print ''; +print ''; +// Company +/* +print ''; +*/ +// User +print ''; +// Year +print ''; +print ''; +print '
'.$langs->trans("Filter").'
'.$langs->trans("ThirdParty").''; +$filter=''; +print $form->select_company($socid,'socid',$filter,1,1); +print '
'.$langs->trans("User").''; +print $form->select_dolusers($userid,'userid',1); +print '
'.$langs->trans("Year").''; +if (! in_array($year,$arrayyears)) $arrayyears[$year]=$year; +arsort($arrayyears); +print $form->selectarray('year',$arrayyears,$year,0); +print '
'; +print '
'; +print '

'; + +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; + +$oldyear=0; +foreach ($data as $val) +{ + $year = $val['year']; + while ($year && $oldyear > $year+1) + { // If we have empty year + $oldyear--; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + $oldyear=$year; +} + +print '
'.$langs->trans("Year").''.$langs->trans("Number").''.$langs->trans("AmountTotal").''.$langs->trans("AmountAverage").'
'.$oldyear.'000
'.$year.''.$val['nb'].''.price(price2num($val['total'],'MT'),1).''.price(price2num($val['avg'],'MT'),1).'
'; + + +print '
'; + + +// Show graphs +print '
'; +if ($mesg) { print $mesg; } +else { + print $px1->show(); + print "
\n"; + print $px2->show(); + print "
\n"; + print $px3->show(); +} +print '
'; + + +print '
'; +print '
'; + + +dol_fiche_end(); + + +llxFooter(); + +$db->close(); diff --git a/htdocs/expensereport/synchro_compta.php b/htdocs/expensereport/synchro_compta.php new file mode 100755 index 00000000000..3f94da6eb1b --- /dev/null +++ b/htdocs/expensereport/synchro_compta.php @@ -0,0 +1,196 @@ +load("companies"); +$langs->load("users"); +$langs->load("trips"); +$langs->load("banks"); + +$idAccount=isset($_GET["account"])?$_GET["account"]:$_POST["account"]; + +if ($_GET["action"] == 'confirm_ndf_to_account' && $_GET["confirm"] == "yes"): + + $idTrip = $_GET['idTrip']; + + $expensereport = new ExpenseReport($db); + $expensereport->fetch($idTrip,$user); + + $datePaiement = explode("-",$expensereport->date_paiement); + + $dateop = dol_mktime(12,0,0,$datePaiement[1],$datePaiement[2],$datePaiement[0]); + $operation = $expensereport->code_paiement; + $label = "Règlement ".$expensereport->ref_number; + $amount = - price2num($expensereport->total_ttc); + $num_chq = ''; + $cat1 = ''; + + $user = new User($db); + $user->fetch($expensereport->fk_user_paid); + + $acct=new Account($db,$idAccount); + $insertid = $acct->addline($dateop, $operation, $label, $amount, $num_chq, $cat1, $user); + + if ($insertid > 0): + $sql = " UPDATE ".MAIN_DB_PREFIX."expensereport d"; + $sql.= " SET integration_compta = 1, fk_bank_account = $idAccount"; + $sql.= " WHERE rowid = $idTrip"; + $resql=$db->query($sql); + if($result): + Header("Location: synchro_compta.php?account=".$idAccount); + exit; + else: + dol_print_error($db); + endif; + else: + dol_print_error($db,$acct->error); + endif; +endif; + +if ($_GET["action"] == 'confirm_account_to_ndf' && $_GET["confirm"] == "yes"): + + $idTrip = $_GET['idTrip']; + + $expensereport = new ExpenseReport($db); + $expensereport->fetch($idTrip,$user); + + $sql = "DELETE FROM ".MAIN_DB_PREFIX."bank"; + $sql.= " WHERE label LIKE '%".$expensereport->ref_number."%'"; + $resql=$db->query($sql); + if ($resql > 0): + $sql = " UPDATE ".MAIN_DB_PREFIX."expensereport d"; + $sql.= " SET integration_compta = 0, fk_bank_account = 0"; + $sql.= " WHERE rowid = $idTrip"; + $resql=$db->query($sql); + if($result): + Header("Location: synchro_compta.php?account=".$idAccount); + exit; + else: + dol_print_error($db); + endif; + else: + dol_print_error($db); + endif; +endif; + + +/* + * Actions + */ + +llxHeader(); + +$html = new Form($db); + +$submit = isset($_POST['submit'])?true:false; +$idAccount=isset($_GET["account"])?$_GET["account"]:$_POST["account"]; + +print_fiche_titre($langs->trans("TripSynch")); + + +dol_fiche_head(''); + + +if ($_GET["action"] == 'ndfTOaccount'): + $idTrip = $_GET['idTrip']; + $ret=$html->form_confirm("synchro_compta.php?idTrip=".$idTrip."&account=".$idAccount,$langs->trans("ndfToAccount"),$langs->trans("ConfirmNdfToAccount"),"confirm_ndf_to_account","","",1); + if ($ret == 'html') print '
'; +endif; + +if ($_GET["action"] == 'accountTOndf'): + $idTrip = $_GET['idTrip']; + $ret=$html->form_confirm("synchro_compta.php?idTrip=".$idTrip."&account=".$idAccount,$langs->trans("AccountToNdf"),$langs->trans("ConfirmAccountToNdf"),"confirm_account_to_ndf","","",1); + if ($ret == 'html') print '
'; +endif; + +if(empty($submit) && empty($idAccount)): + + print "
"; + print 'Choix du compte  '; + print $html->select_comptes($_POST['account'],'account',0,'',1); + print ' '; + print "
"; + +else: + + print "
"; + print 'Choix du compte  '; + print $html->select_comptes($idAccount,'account',0,'',1); + print ' '; + print "
"; + + $sql = "SELECT d.fk_bank_account, d.ref_number, d.rowid, d.date_valide, d.fk_user_author, d.total_ttc, d.integration_compta, d.fk_c_expensereport_statuts"; + $sql.= " ,CONCAT(u.firstname,' ',u.lastname) as declarant_NDF"; + $sql.= " FROM ".MAIN_DB_PREFIX."expensereport d"; + $sql.= " INNER JOIN ".MAIN_DB_PREFIX."user u ON d.fk_user_author = u.rowid"; + $sql.= " WHERE d.fk_c_expensereport_statuts = 6"; + $sql.= " ORDER BY d.date_valide DESC"; + + $resql=$db->query($sql); + if ($resql): + $num = $db->num_rows($resql); $i = 0; + if($num>0): + + $account=new Account($db); + $account->fetch($idAccount); + + print '
'; + + print ""; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + while($i<$num): + $objp = $db->fetch_object($resql); + $var=!$var; + print ""; + print ''; + print ''; + print ''; + print ''; + + if($objp->integration_compta): + print ''; + else: + print ''; + endif; + + print ''; + + if($objp->integration_compta): + print ''; + else: + print ''; + endif; + + print ""; + $i++; + endwhile; + + print "
'.$langs->trans("Ref").''.$langs->trans("DateValidation").''.$langs->trans("USER_AUTHOR").''.$langs->trans("TotalTTC").'ActionsCompteInt.
'.$objp->ref_number.''.dol_print_date($db->jdate($objp->date_valide),'day').''.img_object($langs->trans("ShowUser"),"user").' '.$objp->declarant_NDF.''.$objp->total_ttc.' '.$langs->trans("EURO").'Compte vers NDFNDF vers Compte'.$account->label.'Intégration OKIntégration Non OK
"; + + else: + print '
'.$langs->trans("AucuneTripToSynch").'
'; + endif; + + $db->free($resql); + else: + dol_print_error($db); + endif; + +endif; + +dol_fiche_end(); + +llxFooter(); + +$db->close(); \ No newline at end of file diff --git a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql index 1f61a1a5a9b..0acea91984b 100755 --- a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql +++ b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql @@ -111,3 +111,77 @@ ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN sellby date DEFAULT NUL ALTER TABLE llx_stock_mouvement ADD COLUMN batch varchar(30) DEFAULT NULL; ALTER TABLE llx_stock_mouvement ADD COLUMN eatby date DEFAULT NULL; ALTER TABLE llx_stock_mouvement ADD COLUMN sellby date DEFAULT NULL; + + + + +CREATE TABLE llx_expensereport ( + rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, + ref_number varchar(50) NOT NULL, + entity integer DEFAULT 1 NOT NULL, -- multi company id + ref_number_int integer DEFAULT NULL, + ref_ext integer, + total_ht double(24,8) DEFAULT 0, + total_tva double(24,8) DEFAULT 0, + localtax1 double(24,8) DEFAULT 0, -- amount total localtax1 + localtax2 double(24,8) DEFAULT 0, -- amount total localtax2 + total_ttc double(24,8) DEFAULT 0, + date_debut date NOT NULL, + date_fin date NOT NULL, + date_paiement datetime, + date_valide datetime, + date_create datetime NOT NULL, + fk_user_author integer NOT NULL, + fk_user_modif integer DEFAULT NULL, + fk_user_validator integer DEFAULT NULL, + fk_c_expensereport_statuts integer NOT NULL, -- 1=brouillon, 2=validé (attente approb), 4=annulé, 5=approuvé, 6=payed, 99=refusé + fk_c_paiement integer DEFAULT NULL, + note text, + note_private text, + fk_user_valid integer DEFAULT NULL, + fk_user_paid integer DEFAULT NULL, + detail_refuse varchar(255) DEFAULT NULL, + date_cancel datetime, + date_refuse datetime, + detail_cancel varchar(255) DEFAULT NULL, + fk_user_cancel integer DEFAULT NULL, + fk_user_refuse integer DEFAULT NULL, + integration_compta integer DEFAULT NULL, + fk_bank_account integer DEFAULT NULL, + model_pdf varchar(50) DEFAULT NULL +) ENGINE=innodb; + + + + +CREATE TABLE llx_expensereport_det +( + rowid integer PRIMARY KEY NOT NULL, + fk_expensereport integer NOT NULL, + fk_c_type_fees integer NOT NULL, + fk_projet integer NOT NULL, + fk_c_tva integer NOT NULL, + comments text NOT NULL, + product_type integer DEFAULT -1, + qty real NOT NULL, + value_unit real NOT NULL, + remise_percent real, + tva_tx double(6,3), -- Vat rat + localtax1_tx double(6,3) DEFAULT 0, -- localtax1 rate + localtax1_type varchar(10) NULL, -- localtax1 type + localtax2_tx double(6,3) DEFAULT 0, -- localtax2 rate + localtax2_type varchar(10) NULL, -- localtax2 type + total_ht double(24,8) DEFAULT 0 NOT NULL, + total_tva double(24,8) DEFAULT 0 NOT NULL, + total_localtax1 double(24,8) DEFAULT 0, -- Total LocalTax1 for total quantity of line + total_localtax2 double(24,8) DEFAULT 0, -- total LocalTax2 for total quantity of line + total_ttc double(24,8) DEFAULT 0 NOT NULL, + date date NOT NULL, + info_bits integer DEFAULT 0, -- TVA NPR ou non + special_code integer DEFAULT 0, -- code pour les lignes speciales + rang integer DEFAULT 0, -- position of line + import_key varchar(14) +) ENGINE=innodb; + + + diff --git a/htdocs/install/mysql/tables/llx_expensereport.sql b/htdocs/install/mysql/tables/llx_expensereport.sql new file mode 100755 index 00000000000..6fcdfa92291 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_expensereport.sql @@ -0,0 +1,54 @@ +-- ============================================================================ +-- Copyright (C) 2015 Laurent Destailleur +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- ============================================================================ + +CREATE TABLE llx_expensereport ( + rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, + ref_number varchar(50) NOT NULL, + entity integer DEFAULT 1 NOT NULL, -- multi company id + ref_number_int integer DEFAULT NULL, + ref_ext integer, + total_ht double(24,8) DEFAULT 0, + total_tva double(24,8) DEFAULT 0, + localtax1 double(24,8) DEFAULT 0, -- amount total localtax1 + localtax2 double(24,8) DEFAULT 0, -- amount total localtax2 + total_ttc double(24,8) DEFAULT 0, + date_debut date NOT NULL, + date_fin date NOT NULL, + date_paiement datetime, + date_valide datetime, + date_create datetime NOT NULL, + fk_user_author integer NOT NULL, + fk_user_modif integer DEFAULT NULL, + fk_user_validator integer DEFAULT NULL, + fk_c_expensereport_statuts integer NOT NULL, -- 1=brouillon, 2=validé (attente approb), 4=annulé, 5=approuvé, 6=payed, 99=refusé + fk_c_paiement integer DEFAULT NULL, + note text, + note_private text, + fk_user_valid integer DEFAULT NULL, + fk_user_paid integer DEFAULT NULL, + detail_refuse varchar(255) DEFAULT NULL, + date_cancel datetime, + date_refuse datetime, + detail_cancel varchar(255) DEFAULT NULL, + fk_user_cancel integer DEFAULT NULL, + fk_user_refuse integer DEFAULT NULL, + integration_compta integer DEFAULT NULL, + fk_bank_account integer DEFAULT NULL, + model_pdf varchar(50) DEFAULT NULL +) ENGINE=innodb; + diff --git a/htdocs/install/mysql/tables/llx_expensereport_det.sql b/htdocs/install/mysql/tables/llx_expensereport_det.sql new file mode 100644 index 00000000000..644668f5713 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_expensereport_det.sql @@ -0,0 +1,46 @@ +-- ============================================================================ +-- Copyright (C) 2015 Laurent Destailleur +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- ============================================================================ + +CREATE TABLE llx_expensereport_det +( + rowid integer PRIMARY KEY NOT NULL, + fk_expensereport integer NOT NULL, + fk_c_type_fees integer NOT NULL, + fk_projet integer NOT NULL, + fk_c_tva integer NOT NULL, + comments text NOT NULL, + product_type integer DEFAULT -1, + qty real NOT NULL, + value_unit real NOT NULL, + remise_percent real, + tva_tx double(6,3), -- Vat rat + localtax1_tx double(6,3) DEFAULT 0, -- localtax1 rate + localtax1_type varchar(10) NULL, -- localtax1 type + localtax2_tx double(6,3) DEFAULT 0, -- localtax2 rate + localtax2_type varchar(10) NULL, -- localtax2 type + total_ht double(24,8) DEFAULT 0 NOT NULL, + total_tva double(24,8) DEFAULT 0 NOT NULL, + total_localtax1 double(24,8) DEFAULT 0, -- Total LocalTax1 for total quantity of line + total_localtax2 double(24,8) DEFAULT 0, -- total LocalTax2 for total quantity of line + total_ttc double(24,8) DEFAULT 0 NOT NULL, + date date NOT NULL, + info_bits integer DEFAULT 0, -- TVA NPR ou non + special_code integer DEFAULT 0, -- code pour les lignes speciales + rang integer DEFAULT 0, -- position of line + import_key varchar(14) +) ENGINE=innodb; \ No newline at end of file diff --git a/htdocs/install/mysql/tables/llx_facturedet.sql b/htdocs/install/mysql/tables/llx_facturedet.sql index 2c01234f4b9..d663adf4e1c 100644 --- a/htdocs/install/mysql/tables/llx_facturedet.sql +++ b/htdocs/install/mysql/tables/llx_facturedet.sql @@ -30,7 +30,7 @@ create table llx_facturedet fk_product integer NULL, -- Doit pouvoir etre nul pour ligne detail sans produits label varchar(255) DEFAULT NULL, description text, - tva_tx double(6,3), -- Taux tva produit/service (exemple 19.6) + tva_tx double(6,3), -- Vat rate (example 20%) localtax1_tx double(6,3) DEFAULT 0, -- localtax1 rate localtax1_type varchar(10) NULL, -- localtax1 type localtax2_tx double(6,3) DEFAULT 0, -- localtax2 rate @@ -43,8 +43,8 @@ create table llx_facturedet price double(24,8), -- Deprecated (Do not use) total_ht double(24,8), -- Total HT de la ligne toute quantite et incluant remise ligne et globale total_tva double(24,8), -- Total TVA de la ligne toute quantite et incluant remise ligne et globale - total_localtax1 double(24,8) DEFAULT 0, -- Total LocalTax1 for total quantity of line - total_localtax2 double(24,8) DEFAULT 0, -- total LocalTax2 for total quantity of line + total_localtax1 double(24,8) DEFAULT 0, -- Total LocalTax1 for total quantity of line + total_localtax2 double(24,8) DEFAULT 0, -- total LocalTax2 for total quantity of line total_ttc double(24,8), -- Total TTC de la ligne toute quantite et incluant remise ligne et globale product_type integer DEFAULT 0, date_start datetime DEFAULT NULL, -- date debut si service @@ -55,8 +55,8 @@ create table llx_facturedet fk_product_fournisseur_price integer DEFAULT NULL, -- reference of supplier price when line was added (may be used to update buy_price_ht current price when future invoice will be created) fk_code_ventilation integer DEFAULT 0 NOT NULL, - special_code integer UNSIGNED DEFAULT 0, -- code pour les lignes speciales - rang integer DEFAULT 0, -- ordre d'affichage + special_code integer DEFAULT 0, -- code pour les lignes speciales + rang integer DEFAULT 0, -- position of line import_key varchar(14), situation_percent real, -- % progression of lines invoicing diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index ed39be9426c..345f2342244 100755 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -493,10 +493,14 @@ Module600Name=Notifications Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=Donations Module700Desc=Donation management +Module770Name=Expense Report +Module770Desc=Management and claim expense reports (transportation, meal, ...) Module1200Name=Mantis Module1200Desc=Mantis integration Module1400Name=Accounting Module1400Desc=Accounting management (double parties) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Categories Module1780Desc=Category management (products, suppliers and customers) Module2000Name=WYSIWYG editor @@ -711,6 +715,13 @@ Permission538=Export services Permission701=Read donations Permission702=Create/modify donations Permission703=Delete donations +Permission771=Read expense reports (own and his subordinates) +Permission772=Create/modify expense reports +Permission773=Delete expense reports +Permission774=Read all expense reports (even for user not subordinates) +Permission775=Approve expense reports +Permission776=Pay expense reports +Permission779=Export expense reports Permission1001=Read stocks Permission1002=Create/modify warehouses Permission1003=Delete warehouses diff --git a/htdocs/langs/en_US/trips.lang b/htdocs/langs/en_US/trips.lang index 64adbeb0dd6..e34f58715d8 100644 --- a/htdocs/langs/en_US/trips.lang +++ b/htdocs/langs/en_US/trips.lang @@ -1,22 +1,127 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Trip -Trips=Trips -TripsAndExpenses=Trips and expenses -TripsAndExpensesStatistics=Trips and expenses statistics -TripCard=Trip card -AddTrip=Create trip -ListOfTrips=List of trips +Trip=Expense report +Trips=Expense reports +TripsAndExpenses=Expenses reports +TripsAndExpensesStatistics=Expense reports statistics +TripCard=Expense report card +AddTrip=Create expense report +ListOfTrips=List of expense report ListOfFees=List of fees -NewTrip=New trip +NewTrip=New expense report CompanyVisited=Company/foundation visited Kilometers=Kilometers FeesKilometersOrAmout=Amount or kilometers -DeleteTrip=Delete trip -ConfirmDeleteTrip=Are you sure you want to delete this trip ? +DeleteTrip=Delete expense report +ConfirmDeleteTrip=Are you sure you want to delete this expense report ? +ListTripsAndExpenses=List of expense reports +ExpensesArea=Expense reports area +SearchATripAndExpense=Search an expense report +ClassifyRefunded=Classify 'Refunded' + +TripId=Id expense report +AnyOtherInThisListCanValidate=Person to inform for validation. +TripSociete=Information company +TripSalarie=Informations user +TripNDF=Informations expense report + +DeleteLine=Delete a ligne of the expense report +ConfirmDeleteLine=Are you sure you want to delete this line ? + TF_OTHER=Other TF_LUNCH=Lunch -TF_TRIP=Trip -ListTripsAndExpenses=List of trips and expenses -ExpensesArea=Trips and expenses area -SearchATripAndExpense=Search a trip and expense -ClassifyRefunded=Classify 'Refunded' \ No newline at end of file +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +TF_TAXI=Taxi + +ErrorDoubleDeclaration=ERREUR : Vous avez déclaré au moins une note de frais dans le même intervalle. +ListTripsAndExpenses=Liste des notes de frais +AucuneNDF=Il n'y a aucune note de frais déclarée correspondante à votre recherche! +AucuneLigne=Il n'y a aucune ligne de déclarée dans cette note de frais! +AddLine=Ajouter une ligne +AddLineMini=Ajouter +TotalHT=Montant HT +TotalTTC=Montant TTC +TotalTVA=Total TVA + +Date_DEBUT=Date de début période +Date_FIN=Date de fin période +ModePaiement=Mode de paiement +Note=Note +Project=Projet + +VALIDATOR=Utilisateur informé pour validation +VALIDOR=Validée par +AUTHOR=Enregistrée par +AUTHORPAIEMENT=Payée par +REFUSEUR=Refusée par +CANCEL_USER=Annulée par + +MOTIF_REFUS=Motif de refus +MOTIF_CANCEL=Motif d'annulation + +DATE_REFUS=Date du refus +DATE_CANCEL=Date annulation +DATE_VALIDE=Date de validation +DATE_PAIEMENT=Date de paiement +DATE_SAVE=Date d'enregistrement + +REFUSE=Refuse +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +ModifyInfoGen=Edit + +NOT_VALIDATOR=Vous n'êtes pas la personne habilitée à valider cette note de frais! +NOT_AUTHOR=Vous n'êtes pas l'auteur de cette note de frais, impossible de réaliser l'opération voulue! +NOT_VALIDOR=Vous n'êtes pas le valideur de cette note de frais, vous ne pouvez donc pas réaliser cette opération! +NotUserRightToView=Vous n'avez pas le droit d'afficher cette note de frais. + +RefuseTrip=Refuser une note de frais +ConfirmRefuseTrip=Êtes vous sûr de vouloir refuser cette note de frais ? + +ValideTrip=Valider une note de frais +ConfirmValideTrip=Êtes vous sûr de vouloir valider cette note de frais ? + +PaidTrip=Payer une note de frais +ConfirmPaidTrip=Êtes vous sûr de vouloir payer cette note de frais ? + +CancelTrip=Annuler une note de frais +ConfirmCancelTrip=Êtes vous sûr de vouloir annuler cette note de frais ? + +BrouillonnerTrip=Remettre une note de frais en brouillon +ConfirmBrouillonnerTrip=Êtes vous sûr de vouloir remettre cette note de frais en brouillon ? + +SaveTrip=Enregistrement de votre note de frais +ConfirmSaveTrip=Êtes vous sûr de vouloir enregistrer cette note de frais? (elle sera transmise par mail pour validation) + +INFOS_DATES=Infos Workflow +INFOS_NDF=Infos générales note de frais + +StatsTrip=Statistiques +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais à intégrer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "Payée". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sûr de vouloir intégrer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - Intégration + +ConfirmAccountToNdf=Êtes-vous sûr de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutée : +NO_PROJECT=Aucun projet sélectionné. +NO_DATE=Aucune date sélectionnée. +NO_PRICE=Aucun prix indiqué. + +TripForValid=à Valider +TripForPaid=à Payer +TripPaid=Payée + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/fr_FR/expensereport.lang b/htdocs/langs/fr_FR/expensereport.lang new file mode 100755 index 00000000000..6af74164f2d --- /dev/null +++ b/htdocs/langs/fr_FR/expensereport.lang @@ -0,0 +1,137 @@ +# Dolibarr language file - fr_FR - trips +CHARSET=UTF-8 +Trip=Note de frais +Trips=Notes de frais +TripsAndExpenses=Notes de frais +TripId=Id note de frais +TripCard=Fiche note de frais +AddTrip=Ajouter note de frais +ListOfTrips=Liste des notes de frais +ListOfFees=Liste des notes de frais +NewTrip=Nouvelle note de frais +CancelAddTrip=Annuler +ExportTripCSV=Exporter en CSV +AnyOtherInThisListCanValidate=Toute personne dans la liste pourra valider. Le choix détermine qui sera informé. +TripSociete=Informations société +TripSalarie=Informations salarié +TripNDF=Informations note de frais + +DeleteTrip=Supprimer note de frais +ConfirmDeleteTrip=Êtes vous sûr de vouloir supprimer cette note de frais ? + +DeleteLine=Supprimer une ligne de la note de frais +ConfirmDeleteLine=Êtes vous sûr de vouloir supprimer cette ligne ? + +TF_OTHER=Autre +TF_LUNCH=Repas +TF_METRO=Métro +TF_TRAIN=Train +TF_RATP=Ratp +TF_BUS=Bus +TF_PEAGE=Péage +TF_ESSENCE=Essence +TF_SNCF=SNCF (Autre) +TF_HOTEL=Hôtel +TF_TRANSPORT=SNCF (Train) +TF_TAXI=Taxi + +ErrorDoubleDeclaration=ERREUR : Vous avez déclaré au moins une note de frais dans le même intervalle. +ListTripsAndExpenses=Liste des notes de frais +AucuneNDF=Il n'y a aucune note de frais déclarée correspondante à votre recherche! +AucuneLigne=Il n'y a aucune ligne de déclarée dans cette note de frais! +AddLine=Ajouter une ligne +AddLineMini=Ajouter +TotalHT=Montant HT +TotalTTC=Montant TTC +TotalTVA=Total TVA + +Date_DEBUT=Date de début période +Date_FIN=Date de fin période +ModePaiement=Mode de paiement +Note=Note +Project=Projet + +VALIDATOR=Utilisateur informé pour validation +VALIDOR=Validée par +AUTHOR=Enregistrée par +AUTHORPAIEMENT=Payée par +REFUSEUR=Refusée par +CANCEL_USER=Annulée par + +MOTIF_REFUS=Motif de refus +MOTIF_CANCEL=Motif d'annulation + +DATE_REFUS=Date du refus +DATE_CANCEL=Date annulation +DATE_VALIDE=Date de validation +DATE_PAIEMENT=Date de paiement +DATE_SAVE=Date d'enregistrement + +VALIDATE=Valider +REFUSE=Refuser +CANCEL=Annuler +TO_PAID=Payer +BROUILLONNER=Remettre en brouillon +SendToValid=Envoyer en validation +ModifyInfoGen=Modifier les infos générales + +Module20130304Name=Notes de frais +Module20130304Desc=Gestion des notes de frais et déplacement (par ') + +NOT_VALIDATOR=Vous n'êtes pas la personne habilitée à valider cette note de frais! +NOT_AUTHOR=Vous n'êtes pas l'auteur de cette note de frais, impossible de réaliser l'opération voulue! +NOT_VALIDOR=Vous n'êtes pas le valideur de cette note de frais, vous ne pouvez donc pas réaliser cette opération! +NotUserRightToView=Vous n'avez pas le droit d'afficher cette note de frais. + +RefuseTrip=Refuser une note de frais +ConfirmRefuseTrip=Êtes vous sûr de vouloir refuser cette note de frais ? + +ValideTrip=Valider une note de frais +ConfirmValideTrip=Êtes vous sûr de vouloir valider cette note de frais ? + +PaidTrip=Payer une note de frais +ConfirmPaidTrip=Êtes vous sûr de vouloir payer cette note de frais ? + +CancelTrip=Annuler une note de frais +ConfirmCancelTrip=Êtes vous sûr de vouloir annuler cette note de frais ? + +BrouillonnerTrip=Remettre une note de frais en brouillon +ConfirmBrouillonnerTrip=Êtes vous sûr de vouloir remettre cette note de frais en brouillon ? + +SaveTrip=Enregistrement de votre note de frais +ConfirmSaveTrip=Êtes vous sûr de vouloir enregistrer cette note de frais? (elle sera transmise par mail pour validation) + +INFOS_DATES=Infos Workflow +INFOS_NDF=Infos générales note de frais + +EURO=€ +PriceUNITAIRE=Prix U. (TTC) + +StatsTrip=Statistiques +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais à intégrer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "Payée". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sûr de vouloir intégrer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - Intégration + +ConfirmAccountToNdf=Êtes-vous sûr de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +USER_AUTHOR=Auteur +PU=P.U. +Q=Q + +LINE_NOT_ADDED=Ligne non ajoutée : +NO_PROJECT=Aucun projet sélectionné. +NO_DATE=Aucune date sélectionnée. +NO_PRICE=Aucun prix indiqué. + +TripForValid=à Valider +TripForPaid=à Payer +TripPaid=Payée + +NoTripsToExportCSV=Il n'y a pas de notes de frais à exporter pour cette période. \ No newline at end of file From 4e6d5e1cd1d680365ffe1172ae8f6ed659293c0a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 14 Feb 2015 19:10:40 +0100 Subject: [PATCH 094/137] New: Add filter fields on the subscription list --- htdocs/adherents/cotisations.php | 136 +++++++++++++++++++++++-------- htdocs/adherents/list.php | 4 +- 2 files changed, 105 insertions(+), 35 deletions(-) diff --git a/htdocs/adherents/cotisations.php b/htdocs/adherents/cotisations.php index 160f47365fa..40d34f58881 100644 --- a/htdocs/adherents/cotisations.php +++ b/htdocs/adherents/cotisations.php @@ -32,6 +32,12 @@ $langs->load("members"); $filter=$_GET["filter"]; $statut=isset($_GET["statut"])?$_GET["statut"]:1; +$search_ref=GETPOST('search_ref'); +$search_lastname=GETPOST('search_lastname'); +$search_login=GETPOST('search_login'); +$search_note=GETPOST('search_note'); +$search_account=GETPOST('search_account','int'); +$search_amount=GETPOST('search_amount','int'); $sortfield = GETPOST("sortfield",'alpha'); $sortorder = GETPOST("sortorder",'alpha'); @@ -43,7 +49,6 @@ $pagenext = $page + 1; if (! $sortorder) { $sortorder="DESC"; } if (! $sortfield) { $sortfield="c.dateadh"; } -$msg=''; $date_select=isset($_GET["date_select"])?$_GET["date_select"]:$_POST["date_select"]; // Security check @@ -54,14 +59,27 @@ $result=restrictedArea($user,'adherent','','','cotisation'); * Actions */ +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers +{ + $search=""; + $search_ref=""; + $search_lastname=""; + $search_firstname=""; + $search_login=""; + $search_note=""; + $search_amount=""; + $search_account=""; +} + /* * View */ +$form=new Form($db); + llxHeader('',$langs->trans("ListOfSubscriptions"),'EN:Module_Foundations|FR:Module_Adhérents|ES:Módulo_Miembros'); -if ($msg) print $msg.'
'; // List of subscriptions $sql = "SELECT d.rowid, d.login, d.firstname, d.lastname, d.societe,"; @@ -77,6 +95,31 @@ if (isset($date_select) && $date_select != '') { $sql.= " AND c.dateadh LIKE '".$date_select."%'"; } +if ($search_ref) +{ + if (is_numeric($search_ref)) $sql.= " AND (c.rowid = ".$db->escape($search_ref).")"; + else $sql.=" AND 1 = 2"; // Always wrong +} +if ($search_lastname) +{ + $sql.= " AND (d.firstname LIKE '%".$db->escape($search_lastname)."%' OR d.lastname LIKE '%".$db->escape($search_lastname)."%' OR d.societe LIKE '%".$db->escape($search_lastname)."%')"; +} +if ($search_login) +{ + $sql.= " AND d.login LIKE '%".$db->escape($search_login)."%'"; +} +if ($search_note) +{ + $sql.= " AND c.note LIKE '%".$db->escape($search_note)."%'"; +} +if ($search_account > 0) +{ + $sql.= " AND b.fk_account = ".$search_account; +} +if ($search_amount) +{ + $sql.=" AND c.cotisation = ".$db->escape($search_amount); +} $sql.= $db->order($sortfield,$sortorder); $sql.= $db->plimit($conf->liste_limit+1, $offset); @@ -90,10 +133,23 @@ if ($result) if (! empty($date_select)) $title.=' ('.$langs->trans("Year").' '.$date_select.')'; $param=""; - $param.="&statut=$statut&date_select=$date_select"; + $param.="&statut=$statut&date_select=$date_select"; + + if ($search_lastname) $param.="&search_lastname=".$search_lastname; + if ($search_login) $param.="&search_login=".$search_login; + if ($search_acount) $param.="&search_account=".$search_account; + if ($search_amount) $param.="&search_amount=".$search_amount; print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder,'',$num); + if ($sall) + { + print $langs->trans("Filter")." (".$langs->trans("Ref").", ".$langs->trans("Lastname").", ".$langs->trans("Firstname").", ".$langs->trans("EMail").", ".$langs->trans("Address")." ".$langs->trans("or")." ".$langs->trans("Town")."): ".$sall; + } + $param=""; + $param.="&statut=$statut&date_select=$date_select"; + + print '
'; print ''; print ''; @@ -107,9 +163,47 @@ if ($result) } print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"c.dateadh",$param,"",'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DateEnd"),$_SERVER["PHP_SELF"],"c.datef",$param,"",'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"c.cotisation",$param,"",'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"c.cotisation",$param,"",'colspan="2" align="right"',$sortfield,$sortorder); print "\n"; + + // Line for filters fields + print ''; + + print ''; + + print ''; + + print ''; + + print ''; + + if (! empty($conf->banque->enabled)) + { + print ''; + } + + print ''; + + print ''; + + print ''; + + print "\n"; + + // Static objects $cotisation=new Cotisation($db); $adherent=new Adherent($db); @@ -133,11 +227,6 @@ if ($result) $var=!$var; - if ($allowinsertbankafter && ! $objp->fk_account && ! empty($conf->banque->enabled) && $objp->cotisation) - { - print ""; - print ''; - } print ""; // Ref @@ -167,19 +256,6 @@ if ($result) else { print "\n"; } } @@ -191,13 +267,10 @@ if ($result) print '\n"; // Price - print ''; + print ''; print ""; - if ($allowinsertbankafter && ! $objp->fk_account && ! empty($conf->banque->enabled) && $objp->cotisation) - { - print "\n"; - } + $i++; } @@ -214,13 +287,11 @@ if ($result) } print ''; print ''; - print "\n"; + print '\n"; print "\n"; print "
'; + print ''; + print ''; + print ''; + print ''; + print $form->select_comptes($search_account, 'search_account', 0, '', 1); + print '  '; + print ''; + print ''; + print ''; + print ' '; + print ''; + print '
"; - if ($allowinsertbankafter && $objp->cotisation) - { - print ''; - print ''; - $form->select_comptes('','accountid',0,'',1); - print '
'; - $form->select_types_paiements('','paymenttypeid'); - print ''; - } - else - { - print ' '; - } print "
'.dol_print_date($db->jdate($objp->datef),'day')."'.price($objp->cotisation).''.price($objp->cotisation).'
  ".price($total)."'.price($total)."
"; - print "
\n"; - - + print ''; } else { @@ -228,6 +299,5 @@ else } -$db->close(); - llxFooter(); +$db->close(); diff --git a/htdocs/adherents/list.php b/htdocs/adherents/list.php index b88a39c76af..0bb34d14153 100644 --- a/htdocs/adherents/list.php +++ b/htdocs/adherents/list.php @@ -233,7 +233,7 @@ if ($resql) print_liste_field_titre($langs->trans("Action"),$_SERVER["PHP_SELF"],"",$param,"",'width="60" align="center"',$sortfield,$sortorder); print "\n"; - // Lignes des champs de filtre + // Line for filters fields print ''; print ''; @@ -263,7 +263,7 @@ if ($resql) print ''; print ''; - print "\n"; + print "\n"; $var=True; while ($i < $num && $i < $conf->liste_limit) From 3b09dc53cd186d99887f7158f76ea898268b1cca Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 14 Feb 2015 20:32:11 +0100 Subject: [PATCH 095/137] Fix regression on total visible on invoice since situation invoice. --- .../modules/facture/doc/pdf_crabe.modules.php | 79 ++++++------------- htdocs/langs/en_US/main.lang | 1 + 2 files changed, 24 insertions(+), 56 deletions(-) diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php index 06c3df85f4d..4c340a12cfa 100644 --- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php @@ -68,7 +68,7 @@ class pdf_crabe extends ModelePDFFactures */ public $posxprogress; - + /** * Constructor * @@ -293,7 +293,8 @@ class pdf_crabe extends ModelePDFFactures } // Situation invoice handling - if ($object->situation_cycle_ref) { + if ($object->situation_cycle_ref) + { $this->situationinvoice = True; $progress_width = 14; $this->posxtva -= $progress_width; @@ -472,16 +473,19 @@ class pdf_crabe extends ModelePDFFactures $pdf->MultiCell($this->posxprogress-$this->posxdiscount+2, 3, $remise_percent, 0, 'R'); } - // Situation progress - $progress = pdf_getlineprogress($object, $i, $outputlangs, $hidedetails); - $pdf->SetXY($this->posxprogress, $curY); - $pdf->MultiCell($this->postotalht-$this->posxprogress, 3, $progress, 0, 'R'); // Enough for 6 chars + if ($this->situationinvoice) + { + // Situation progress + $progress = pdf_getlineprogress($object, $i, $outputlangs, $hidedetails); + $pdf->SetXY($this->posxprogress, $curY); + $pdf->MultiCell($this->postotalht-$this->posxprogress, 3, $progress, 0, 'R'); + } // Total HT line $total_excl_tax = pdf_getlinetotalexcltax($object, $i, $outputlangs, $hidedetails); $pdf->SetXY($this->postotalht, $curY); $pdf->MultiCell($this->page_largeur-$this->marge_droite-$this->postotalht, 3, $total_excl_tax, 0, 'R', 0); - + // Collecte des totaux par valeur de tva dans $this->tva["taux"]=total_tva $prev_progress = $object->lines[$i]->get_prev_progress(); if ($prev_progress > 0) // Compute progress from previous situation @@ -948,7 +952,7 @@ class pdf_crabe extends ModelePDFFactures $pdf->SetFont('','', $default_font_size - 1); // Tableau total - $col1x = 120; $col2x = $this->postotalht; + $col1x = 120; $col2x = 170; if ($this->page_largeur < 210) // To work with US executive format { $col2x-=20; @@ -958,44 +962,11 @@ class pdf_crabe extends ModelePDFFactures $useborder=0; $index = 0; - // Previous situations summary - if ($object->situation_cycle_ref && $object->situation_counter > 1) { - // Situations total w/out VAT - $counter = ' 1'; - for ($i = 2; $i <= $object->situation_counter; $i++) { - $counter .= ' + ' . $i; - } - - $prevsits = $object->get_prev_sits(); - $prevsits_total_amount = 0; - foreach ($prevsits as $situation) { - $prevsits_total_amount += $situation->total_ht; - } - $prevsits_total_amount += $object->total_ht; - - $pdf->SetFillColor(255, 255, 255); - $pdf->SetXY($col1x, $tab2_top + 0); - $pdf->MultiCell($col2x - $col1x, $tab2_hl, $outputlangs->transnoentities("SituationAmount") . $counter, 0, 'L', 1); - $pdf->SetXY($col2x, $tab2_top + 0); - $pdf->MultiCell($largcol2, $tab2_hl, price($prevsits_total_amount), 0, 'R', 1); - - // Previous situations deduction - $pdf->Line($col2x, 0, $col2x, 100000); - for ($i = 0; $i < count($prevsits); $i++) { - $index++; - $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); - $pdf->MultiCell($col2x - $col1x, $tab2_hl, $outputlangs->transnoentities("SituationDeduction") . ' ' . ($i + 1) . ' (' . $prevsits[$i]->ref . ')', 0, 'L', 1); - $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); - $pdf->MultiCell($largcol2, $tab2_hl, ' - ' . price($prevsits[$i]->total_ht), 0, 'R', 1); - } - $index++; - } - // Total HT $pdf->SetFillColor(255,255,255); - $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); + $pdf->SetXY($col1x, $tab2_top + 0); $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalHT"), 0, 'L', 1); - $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); + $pdf->SetXY($col2x, $tab2_top + 0); $pdf->MultiCell($largcol2, $tab2_hl, price($sign * ($object->total_ht + (! empty($object->remise)?$object->remise:0)), 0, $outputlangs), 0, 'R', 1); // Show VAT by rates and total @@ -1334,21 +1305,19 @@ class pdf_crabe extends ModelePDFFactures $pdf->SetXY($this->posxqty-1, $tab_top+1); $pdf->MultiCell($this->posxdiscount-$this->posxqty-1,2, $outputlangs->transnoentities("Qty"),'','C'); } + $pdf->line($this->posxdiscount-1, $tab_top, $this->posxdiscount-1, $tab_top + $tab_height); - if ($this->atleastonediscount) { - $pdf->line($this->posxprogress, $tab_top, $this->posxprogress, $tab_top + $tab_height); - if (empty($hidetop)) { - $pdf->SetXY($this->posxdiscount - 1, $tab_top + 1); - $pdf->MultiCell($this->posxprogress - $this->posxdiscount + 1, 2, $outputlangs->transnoentities("ReductionShort"), '', 'C'); + if (empty($hidetop)) + { + if ($this->atleastonediscount) + { + $pdf->SetXY($this->posxdiscount-1, $tab_top+1); + $pdf->MultiCell($this->postotalht-$this->posxdiscount+1,2, $outputlangs->transnoentities("ReductionShort"),'','C'); } } - - if ($this->situationinvoice) { + if ($this->atleastonediscount) + { $pdf->line($this->postotalht, $tab_top, $this->postotalht, $tab_top + $tab_height); - if (empty($hidetop)) { - $pdf->SetXY($this->posxprogress - 1, $tab_top + 1); - $pdf->MultiCell($this->postotalht - $this->posxprogress - 1, 2, $outputlangs->transnoentities("Progress"), '', 'C'); - } } if (empty($hidetop)) { @@ -1424,8 +1393,6 @@ class pdf_crabe extends ModelePDFFactures if ($object->type == 2) $title=$outputlangs->transnoentities("InvoiceAvoir"); if ($object->type == 3) $title=$outputlangs->transnoentities("InvoiceDeposit"); if ($object->type == 4) $title=$outputlangs->transnoentities("InvoiceProFormat"); - if ($object->type == 5 && $object->situation_final == 0) $title = $outputlangs->transnoentities("InvoiceSituation").' n°'.$object->situation_counter; - if ($object->type == 5 && $object->situation_final == 1) $title = 'Situation n°'.$object->situation_counter.' : '.$outputlangs->transnoentities("InvoiceSituationLast"); $pdf->MultiCell(100, 3, $title, '', 'R'); $pdf->SetFont('','B',$default_font_size); diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index 1bc5b2a8c36..d7e82aa43b8 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -688,6 +688,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Monday Tuesday=Tuesday From bedaa483ade79e8e876c4cf7da60e93c08ab7c3c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 14 Feb 2015 20:40:10 +0100 Subject: [PATCH 096/137] br useless --- htdocs/compta/facture.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index 943389bc7c2..cc4d2cff7e7 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -592,7 +592,7 @@ if (empty($reshook)) $discount->fk_facture_source = $object->id; $error = 0; - + foreach ($amount_ht as $tva_tx => $xxx) { $discount->amount_ht = abs($amount_ht [$tva_tx]); $discount->amount_tva = abs($amount_tva [$tva_tx]); @@ -3744,7 +3744,7 @@ if ($action == 'create') $i ++; } print ''; - print '
 
'; + print '
 
'; print ''; $db->free($resqlorderlist); } else { From 09ef15ea241ec045f2e1ddcc44a57e3e91788f0c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 15 Feb 2015 13:42:21 +0100 Subject: [PATCH 097/137] phpcs --- htdocs/expensereport/card.php | 2 +- .../class/expensereport.class.php | 160 +++++++++--------- htdocs/expensereport/list.php | 3 +- 3 files changed, 87 insertions(+), 78 deletions(-) diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index 7d52ac5b538..5a6f3a29b07 100755 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -747,7 +747,7 @@ if ($action == "addline") $tx_tva = $tx_tva + 1; $object_ligne->total_ht = $object_ligne->total_ttc / $tx_tva; - $object_ligne->total_ht = number_format($object_ligne->total_ht,2,'.',''); + $object_ligne->total_ht = price2num($object_ligne->total_ht,'MT'); $object_ligne->total_tva = $object_ligne->total_ttc - $object_ligne->total_ht; // Fin calculs des totos diff --git a/htdocs/expensereport/class/expensereport.class.php b/htdocs/expensereport/class/expensereport.class.php index c54090dfe2f..092a642b4b4 100755 --- a/htdocs/expensereport/class/expensereport.class.php +++ b/htdocs/expensereport/class/expensereport.class.php @@ -244,12 +244,15 @@ class ExpenseReport extends CommonObject /** * Load an object from database + * + * @param int $id Id + * @param User $user User we want expense report for */ function fetch($id,$user='') { global $conf,$db; - if(!$user->rights->expensereport->lire): + if (!$user->rights->expensereport->lire): $restrict = " AND fk_user_author = ".$user->id; else: $restrict = ""; @@ -299,18 +302,29 @@ class ExpenseReport extends CommonObject $this->fk_user_refuse = $obj->fk_user_refuse; $this->fk_user_cancel = $obj->fk_user_cancel; - $this->user_author_infos = $this->fetch_names($this->fk_user_author); - $this->user_validator_infos = $this->fetch_names($this->fk_user_validator); + $user_author = new User($this->db); + $user_author->fetch($this->fk_user_author); + $this->user_author_infos = dolGetFirstLastname($user_author->firstname, $user_author->lastname); - $this->fk_c_expensereport_statuts = $obj->fk_c_expensereport_statuts; - $this->fk_c_paiement = $obj->fk_c_paiement; + $user_approver = new User($this->db); + $user_approver->fetch($this->fk_user_validator); + $this->user_validator_infos = dolGetFirstLastname($user_approver->firstname, $user_approver->lastname); - if($this->fk_c_expensereport_statuts==5 || $this->fk_c_expensereport_statuts==6){ - $this->user_valid_infos = $this->fetch_names($this->fk_user_valid); + $this->fk_c_expensereport_statuts = $obj->fk_c_expensereport_statuts; + $this->fk_c_paiement = $obj->fk_c_paiement; + + if ($this->fk_c_expensereport_statuts==5 || $this->fk_c_expensereport_statuts==6) + { + $user_valid = new User($this->db); + $user_valid->fetch($this->fk_user_valid); + $this->user_valid_infos = dolGetFirstLastname($user_valid->firstname, $user_valid->lastname); } - if($this->fk_c_expensereport_statuts==6){ - $this->user_paid_infos = $this->fetch_names($this->fk_user_paid); + if ($this->fk_c_expensereport_statuts==6) + { + $user_paid = new User($this->db); + $user_paid->fetch($this->fk_user_paid); + $this->user_paid_infos = dolGetFirstLastname($user_paid->firstname, $user_paid->lastname); } $this->libelle_statut = $obj->libelle_statut; @@ -375,22 +389,6 @@ class ExpenseReport extends CommonObject } - /** - * - * @param unknown_type $id - * @return unknown - */ - function fetch_names($id) - { - global $db; - - $sql = "SELECT lastname, firstname, email, user_mobile, office_phone "; - $sql.= "FROM ".MAIN_DB_PREFIX."user "; - $sql.= "WHERE rowid = ".$id; - $result = $db->query($sql); - $obj = $db->fetch_object($result); - return $obj; - } /** * @@ -1056,9 +1054,9 @@ class ExpenseReport extends CommonObject /** * deleteline * - * @param unknown_type $rowid - * @param unknown_type $user - * @return number + * @param int $rowid Row id + * @param User $user User + * @return int <0 if KO, >0 if OK */ function deleteline($rowid, $user='') { @@ -1082,24 +1080,13 @@ class ExpenseReport extends CommonObject return 1; } - /** - * dumpp - * - * @param unknown_type $value - */ - function dumpp($value) - { - echo '
'; - var_dump("
",$value,"
"); - echo '
'; - } - /** * periode_existe * - * @param unknown_type $user - * @param unknown_type $date_debut - * @param unknown_type $date_fin + * @param User $user User + * @param Date $date_debut Start date + * @param Date $date_fin End date + * @return int <0 if KO, >0 if OK */ function periode_existe($user,$date_debut,$date_fin) { @@ -1109,10 +1096,12 @@ class ExpenseReport extends CommonObject dol_syslog(get_class($this)."::periode_existe sql=".$sql); $result = $this->db->query($sql); - if($result): + if($result) + { $num_lignes = $this->db->num_rows($result); $i = 0; - if($num_lignes>0): + if ($num_lignes>0) + { $date_d_form = explode("-",$date_debut); // 1 $date_f_form = explode("-",$date_fin); // 2 $date_d_form = mktime(12,0,0,$date_d_form[1],$date_d_form[2],$date_d_form[0]); @@ -1120,7 +1109,8 @@ class ExpenseReport extends CommonObject $existe = false; - while ($i < $num_lignes): + while ($i < $num_lignes) + { $objp = $this->db->fetch_object($result); $date_d_req = explode("-",$objp->date_debut); // 3 @@ -1131,19 +1121,22 @@ class ExpenseReport extends CommonObject if(!($date_f_form < $date_d_req OR $date_d_form > $date_f_req)) $existe = true; $i++; - endwhile; + } if($existe) return 1; else return 0; - - else: + } + else + { return 0; - endif; - else: - $this->error=$this->db->error(); + } + } + else + { + $this->error=$this->db->lasterror(); dol_syslog(get_class($this)."::periode_existe Error ".$this->error, LOG_ERR); return -1; - endif; + } } @@ -1214,12 +1207,22 @@ class ExpenseReportLigne var $total_tva; var $total_ttc; - - function ExpenseReportLigne($DB) + /** + * Constructor + * + * @param DoliDB $db Handlet database + */ + function ExpenseReportLigne($db) { - $this->db= $DB ; + $this->db= $db; } + /** + * fetch record + * + * @param int $rowid Row id to fetch + * @return int <0 if KO, >0 if OK + */ function fetch($rowid) { $sql = 'SELECT fde.rowid, fde.fk_expensereport, fde.fk_c_type_fees, fde.fk_projet, fde.date,'; @@ -1262,6 +1265,12 @@ class ExpenseReportLigne } } + /** + * insert + * + * @param int $notrigger 1=No trigger + * @return int <0 if KO, >0 if OK + */ function insert($notrigger=0) { global $langs,$user,$conf; @@ -1307,7 +1316,13 @@ class ExpenseReportLigne endif; } - function update() + /** + * update + * + * @param User $user User + * @return int <0 if KO, >0 if OK + */ + function update($user) { global $user,$langs,$conf; @@ -1318,7 +1333,7 @@ class ExpenseReportLigne // Mise a jour ligne en base $sql = "UPDATE ".MAIN_DB_PREFIX."expensereport_det SET"; - $sql.= " comments='".addslashes($this->comments)."'"; + $sql.= " comments='".$this->db->escape($this->comments)."'"; $sql.= ",value_unit=".$this->value_unit.""; $sql.= ",qty=".$this->qty.""; if ($this->date) { $sql.= ",date='".$this->date."'"; } @@ -1350,17 +1365,9 @@ class ExpenseReportLigne return -2; } } - - function fetch_taux($id){ - $sql = "SELECT taux"; - $sql .= " FROM ".MAIN_DB_PREFIX ."c_tva"; - $sql .= " WHERE rowid = ".$id; - $resql=$this->db->query($sql); - $objp = $this->db->fetch_object($result); - $this->tva_taux = $objp->taux; - } } + /** * Retourne la liste deroulante des differents etats d'une note de frais. * Les valeurs de la liste sont les id de la table c_expensereport_statuts @@ -1395,12 +1402,13 @@ function select_expensereport_statut($selected='',$htmlname='fk_c_expensereport_ } /** - * - * @param unknown_type $selected - * @param unknown_type $filter - * @param unknown_type $htmlname - * + * select_projet * TODO Utiliser le select project officiel + * + * @param int $selected Id selected + * @param string $filter Filter + * @param string $htmlname Select name + * @return int <0 if KO, >0 if OK */ function select_projet($selected='',$filter='', $htmlname='fk_projet') { @@ -1455,10 +1463,10 @@ function select_projet($selected='',$filter='', $htmlname='fk_projet') /** * Return list of types of notes with select value = id * - * @param selected Preselected type - * @param htmlname Name of field in form - * @param showempty Add an empty field - * @return string Select html + * @param int $selected Preselected type + * @param string $htmlname Name of field in form + * @param int $showempty Add an empty field + * @return string Select html */ function select_type_fees_id($selected='',$htmlname='type',$showempty=0) { diff --git a/htdocs/expensereport/list.php b/htdocs/expensereport/list.php index c9a965b5587..0d2be8a7c45 100755 --- a/htdocs/expensereport/list.php +++ b/htdocs/expensereport/list.php @@ -166,7 +166,8 @@ if (empty($user->rights->expensereport->readall) && empty($user->rights->expense } // ORDER -$sql.= " ORDER BY $sortfield $sortorder " . $db->plimit( $limit + 1 ,$offset); +$sql.= $db->order($sortfield,$sortorder); +$sql.= $db->plimit($limit+1, $offset); if($_GET['debug']=='ok'){ var_dump("
",$sql,"
"); exit(); From d1f73499e90e1a01d796ec9c9f12e02bddcf328e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Sun, 15 Feb 2015 15:01:28 +0100 Subject: [PATCH 098/137] Refactored dashboard indicator --- htdocs/adherents/class/adherent.class.php | 26 ++- htdocs/comm/action/class/actioncomm.class.php | 30 ++-- htdocs/comm/mailing/card.php | 4 +- htdocs/comm/propal/class/propal.class.php | 39 +++-- htdocs/commande/class/commande.class.php | 29 ++-- htdocs/compta/bank/class/account.class.php | 28 +-- htdocs/compta/facture/class/facture.class.php | 29 ++-- .../cheque/class/remisecheque.class.php | 27 ++- htdocs/contrat/class/contrat.class.php | 40 +++-- htdocs/core/class/BoardResponse.class.php | 69 ++++++++ .../class/fournisseur.commande.class.php | 24 ++- .../fourn/class/fournisseur.facture.class.php | 24 ++- htdocs/index.php | 161 ++++-------------- 13 files changed, 296 insertions(+), 234 deletions(-) create mode 100644 htdocs/core/class/BoardResponse.class.php diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index 98d971acbd0..1f8ae82dcbd 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -1725,17 +1725,15 @@ class Adherent extends CommonObject * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Objet user - * @return int <0 if KO, >0 if OK + * @return BoardResponse|int <0 if KO, BoardResponse if OK */ function load_board($user) { - global $conf; - - $now=dol_now(); + global $conf, $langs; if ($user->societe_id) return -1; // protection pour eviter appel par utilisateur externe - $this->nbtodo=$this->nbtodolate=0; + $now=dol_now(); $sql = "SELECT a.rowid, a.datefin"; $sql.= " FROM ".MAIN_DB_PREFIX."adherent as a"; @@ -1746,12 +1744,24 @@ class Adherent extends CommonObject $resql=$this->db->query($sql); if ($resql) { + $langs->load("members"); + + $response = new BoardResponse(); + $response->warning_delay=$conf->adherent->cotisation->warning_delay/60/60/24; + $response->label=$langs->trans("MembersWithSubscriptionToReceive"); + $response->url=DOL_URL_ROOT.'/adherents/list.php?mainmenu=members&statut=1'; + $response->img=img_object($langs->trans("Members"),"user"); + while ($obj=$this->db->fetch_object($resql)) { - $this->nbtodo++; - if ($this->db->jdate($obj->datefin) < ($now - $conf->adherent->cotisation->warning_delay)) $this->nbtodolate++; + $response->nbtodo++; + + if ($this->db->jdate($obj->datefin) < ($now - $conf->adherent->cotisation->warning_delay)) { + $response->nbtodolate++; + } } - return 1; + + return $response; } else { diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index b20a3afa3ea..d13f32f157c 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -712,18 +712,14 @@ class ActionComm extends CommonObject } /** - * Load indicators for dashboard (this->nbtodo and this->nbtodolate) + * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * - * @param User $user Objet user - * @return int <0 if KO, >0 if OK + * @param User $user Objet user + * @return BoardResponse|int <0 if KO, BoardResponse if OK */ function load_board($user) { - global $conf, $user; - - $now=dol_now(); - - $this->nbtodo=$this->nbtodolate=0; + global $conf, $user, $langs; $sql = "SELECT a.id, a.datep as dp"; $sql.= " FROM (".MAIN_DB_PREFIX."actioncomm as a"; @@ -739,13 +735,25 @@ class ActionComm extends CommonObject $resql=$this->db->query($sql); if ($resql) { + $now = dol_now(); + + $response = new BoardResponse(); + $response->warning_delay = $conf->actions->warning_delay/60/60/24; + $response->label = $langs->trans("ActionsToDo"); + $response->url = DOL_URL_ROOT.'/comm/action/listactions.php?status=todo&mainmenu=agenda'; + $response->img = img_object($langs->trans("Actions"),"action"); + // This assignment in condition is not a bug. It allows walking the results. while ($obj=$this->db->fetch_object($resql)) { - $this->nbtodo++; - if (isset($obj->dp) && $this->db->jdate($obj->dp) < ($now - $conf->actions->warning_delay)) $this->nbtodolate++; + $response->nbtodo++; + + if (isset($obj->dp) && $this->db->jdate($obj->dp) < ($now - $conf->actions->warning_delay)) { + $response->nbtodolate++; + } } - return 1; + + return $response; } else { diff --git a/htdocs/comm/mailing/card.php b/htdocs/comm/mailing/card.php index 267fde415f6..1a574fa434a 100644 --- a/htdocs/comm/mailing/card.php +++ b/htdocs/comm/mailing/card.php @@ -140,9 +140,7 @@ if (empty($reshook)) { if (empty($conf->global->MAILING_LIMIT_SENDBYWEB)) { - //TODO: What is this for? - // Pour des raisons de securite, on ne permet pas cette fonction via l'IHM, - // on affiche donc juste un message + // As security measure, we don't allow send from the GUI setEventMessage($langs->trans("MailingNeedCommand"), 'warnings'); setEventMessage('', 'warnings'); setEventMessage($langs->trans("MailingNeedCommand2"), 'warnings'); diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index 8fae698ba94..2c20e5ea1c7 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -116,10 +116,6 @@ class Propal extends CommonObject var $labelstatut=array(); var $labelstatut_short=array(); - // Pour board - var $nbtodo; - var $nbtodolate; - var $specimen; @@ -2349,15 +2345,12 @@ class Propal extends CommonObject * * @param User $user Object user * @param int $mode "opened" for proposal to close, "signed" for proposal to invoice - * @return int <0 if KO, >0 if OK + * @return BoardResponse|int <0 if KO, BoardResponse if OK */ function load_board($user,$mode) { - global $conf, $user; + global $conf, $user, $langs; - $now=dol_now(); - - $this->nbtodo=$this->nbtodolate=0; $clause = " WHERE"; $sql = "SELECT p.rowid, p.ref, p.datec as datec, p.fin_validite as datefin"; @@ -2376,25 +2369,43 @@ class Propal extends CommonObject $resql=$this->db->query($sql); if ($resql) { - if ($mode == 'opened') $delay_warning=$conf->propal->cloture->warning_delay; - if ($mode == 'signed') $delay_warning=$conf->propal->facturation->warning_delay; + $langs->load("propal"); + $now=dol_now(); + + if ($mode == 'opened') { + $delay_warning=$conf->propal->cloture->warning_delay; + $statut = 1; + $label = $langs->trans("PropalsToClose"); + } + if ($mode == 'signed') { + $delay_warning=$conf->propal->facturation->warning_delay; + $statut = 2; + $label = $langs->trans("PropalsToBill"); + } + + $response = new BoardResponse(); + $response->warning_delay = $delay_warning; + $response->label = $label; + $response->url = DOL_URL_ROOT.'/comm/propal/list.php?viewstatut='.$statut; + $response->img = img_object($langs->trans("Propals"),"propal"); // This assignment in condition is not a bug. It allows walking the results. while ($obj=$this->db->fetch_object($resql)) { - $this->nbtodo++; + $response->nbtodo++; if ($mode == 'opened') { $datelimit = $this->db->jdate($obj->datefin); if ($datelimit < ($now - $delay_warning)) { - $this->nbtodolate++; + $response->nbtodolate++; } } // TODO Definir regle des propales a facturer en retard // if ($mode == 'signed' && ! count($this->FactureListeArray($obj->rowid))) $this->nbtodolate++; } - return 1; + + return $response; } else { diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 27c320b3326..511af75a967 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -106,10 +106,6 @@ class Commande extends CommonOrder var $lines = array(); - // Pour board - var $nbtodo; - var $nbtodolate; - /** * Constructor @@ -2729,15 +2725,12 @@ class Commande extends CommonOrder * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Object user - * @return int <0 if KO, >0 if OK + * @return BoardResponse|int <0 if KO, BoardResponse if OK */ function load_board($user) { - global $conf, $user; + global $conf, $user, $langs; - $now=dol_now(); - - $this->nbtodo=$this->nbtodolate=0; $clause = " WHERE"; $sql = "SELECT c.rowid, c.date_creation as datec, c.date_livraison as delivery_date, c.fk_statut"; @@ -2756,14 +2749,26 @@ class Commande extends CommonOrder $resql=$this->db->query($sql); if ($resql) { + $now=dol_now(); + + $response = new BoardResponse(); + $response->warning_delay=$conf->commande->client->warning_delay/60/60/24; + $response->label=$langs->trans("OrdersToProcess"); + $response->url=DOL_URL_ROOT.'/commande/list.php?viewstatut=-3'; + $response->img=img_object($langs->trans("Orders"),"order"); + while ($obj=$this->db->fetch_object($resql)) { - $this->nbtodo++; + $response->nbtodo++; $date_to_test = empty($obj->delivery_date) ? $obj->datec : $obj->delivery_date; - if ($obj->fk_statut != 3 && $this->db->jdate($date_to_test) < ($now - $conf->commande->client->warning_delay)) $this->nbtodolate++; + + if ($obj->fk_statut != 3 && $this->db->jdate($date_to_test) < ($now - $conf->commande->client->warning_delay)) { + $response->nbtodolate++; + } } - return 1; + + return $response; } else { diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index 598ccc2c8d8..c2929fb33a4 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -881,18 +881,14 @@ class Account extends CommonObject * * @param User $user Objet user * @param int $filteraccountid To get info for a particular account id - * @return int <0 if KO, 0=Nothing to show, >0 if OK + * @return BoardResponse|int <0 if KO, BoardResponse if OK */ function load_board($user,$filteraccountid=0) { - global $conf; + global $conf, $langs; if ($user->societe_id) return -1; // protection pour eviter appel par utilisateur externe - $now=dol_now(); - - $this->nbtodo=$this->nbtodolate=0; - $sql = "SELECT b.rowid, b.datev as datefin"; $sql.= " FROM ".MAIN_DB_PREFIX."bank as b,"; $sql.= " ".MAIN_DB_PREFIX."bank_account as ba"; @@ -902,17 +898,27 @@ class Account extends CommonObject $sql.= " AND (ba.rappro = 1 AND ba.courant != 2)"; // Compte rapprochable if ($filteraccountid) $sql.=" AND ba.rowid = ".$filteraccountid; - //print $sql; $resql=$this->db->query($sql); if ($resql) { - $num=$this->db->num_rows($resql); + $langs->load("banks"); + $now=dol_now(); + + $response = new BoardResponse(); + $response->warning_delay=$conf->bank->rappro->warning_delay/60/60/24; + $response->label=$langs->trans("TransactionsToConciliate"); + $response->url=DOL_URL_ROOT.'/compta/bank/index.php?leftmenu=bank&mainmenu=bank'; + $response->img=img_object($langs->trans("TransactionsToConciliate"),"payment"); + while ($obj=$this->db->fetch_object($resql)) { - $this->nbtodo++; - if ($this->db->jdate($obj->datefin) < ($now - $conf->bank->rappro->warning_delay)) $this->nbtodolate++; + $response->nbtodo++; + if ($this->db->jdate($obj->datefin) < ($now - $conf->bank->rappro->warning_delay)) { + $response->nbtodolate++; + } } - return $num; + + return $response; } else { diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index 5c645783cc1..3bbf76c79fe 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -117,9 +117,6 @@ class Facture extends CommonInvoice var $lines=array(); var $line; var $extraparams=array(); - //! Pour board - var $nbtodo; - var $nbtodolate; var $specimen; var $fac_rec; @@ -3088,15 +3085,12 @@ class Facture extends CommonInvoice * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Object user - * @return int <0 if KO, >0 if OK + * @return BoardResponse|int <0 if KO, BoardResponse if OK */ function load_board($user) { - global $conf, $user; + global $conf, $user, $langs; - $now=dol_now(); - - $this->nbtodo=$this->nbtodolate=0; $clause = " WHERE"; $sql = "SELECT f.rowid, f.date_lim_reglement as datefin"; @@ -3115,12 +3109,25 @@ class Facture extends CommonInvoice $resql=$this->db->query($sql); if ($resql) { + $langs->load("bills"); + $now=dol_now(); + + $response = new BoardResponse(); + $response->warning_delay=$conf->facture->client->warning_delay/60/60/24; + $response->label=$langs->trans("CustomerBillsUnpaid"); + $response->url=DOL_URL_ROOT.'/compta/facture/impayees.php'; + $response->img=img_object($langs->trans("Bills"),"bill"); + while ($obj=$this->db->fetch_object($resql)) { - $this->nbtodo++; - if ($this->db->jdate($obj->datefin) < ($now - $conf->facture->client->warning_delay)) $this->nbtodolate++; + $response->nbtodo++; + + if ($this->db->jdate($obj->datefin) < ($now - $conf->facture->client->warning_delay)) { + $response->nbtodolate++; + } } - return 1; + + return $response; } else { diff --git a/htdocs/compta/paiement/cheque/class/remisecheque.class.php b/htdocs/compta/paiement/cheque/class/remisecheque.class.php index 11a61874e7e..6bb1429d0a0 100644 --- a/htdocs/compta/paiement/cheque/class/remisecheque.class.php +++ b/htdocs/compta/paiement/cheque/class/remisecheque.class.php @@ -432,18 +432,14 @@ class RemiseCheque extends CommonObject * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Objet user - * @return int <0 if KO, >0 if OK + * @return BoardResponse|int <0 if KO, BoardResponse if OK */ function load_board($user) { - global $conf; + global $conf, $langs; if ($user->societe_id) return -1; // protection pour eviter appel par utilisateur externe - $now=dol_now(); - - $this->nbtodo=$this->nbtodolate=0; - $sql = "SELECT b.rowid, b.datev as datefin"; $sql.= " FROM ".MAIN_DB_PREFIX."bank as b"; $sql.= ", ".MAIN_DB_PREFIX."bank_account as ba"; @@ -456,12 +452,25 @@ class RemiseCheque extends CommonObject $resql=$this->db->query($sql); if ($resql) { + $langs->load("banks"); + $now=dol_now(); + + $response = new BoardResponse(); + $response->warning_delay=$conf->bank->cheque->warning_delay/60/60/24; + $response->label=$langs->trans("BankChecksToReceipt"); + $response->url=DOL_URL_ROOT.'/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=accountancy'; + $response->img=img_object($langs->trans("BankChecksToReceipt"),"payment"); + while ($obj=$this->db->fetch_object($resql)) { - $this->nbtodo++; - if ($this->db->jdate($obj->datefin) < ($now - $conf->bank->cheque->warning_delay)) $this->nbtodolate++; + $response->nbtodo++; + + if ($this->db->jdate($obj->datefin) < ($now - $conf->bank->cheque->warning_delay)) { + $response->nbtodolate++; + } } - return 1; + + return $response; } else { diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index bbecab53a30..19001edf92c 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -1881,15 +1881,11 @@ class Contrat extends CommonObject * * @param User $user Objet user * @param string $mode "inactive" pour services a activer, "expired" pour services expires - * @return int <0 if KO, >0 if OK + * @return BoardResponse|int <0 if KO, BoardResponse if OK */ function load_board($user,$mode) { - global $conf, $user; - - $now=dol_now(); - - $this->nbtodo=$this->nbtodolate=0; + global $conf, $user, $langs; $this->from = " FROM ".MAIN_DB_PREFIX."contrat as c"; $this->from.= ", ".MAIN_DB_PREFIX."contratdet as cd"; @@ -1920,15 +1916,35 @@ class Contrat extends CommonObject $resql=$this->db->query($sql); if ($resql) { + $langs->load("contracts"); + $now=dol_now(); + + if ($mode == 'inactives') { + $warning_delay = $conf->contrat->services->inactifs->warning_delay; + $label = $langs->trans("BoardNotActivatedServices"); + $url = DOL_URL_ROOT.'/contrat/services.php?mainmenu=commercial&leftmenu=contracts&mode=0'; + } else { + $warning_delay = $conf->contrat->services->expires->warning_delay; + $url = DOL_URL_ROOT.'/contrat/services.php?mainmenu=commercial&leftmenu=contracts&mode=4&filter=expired'; + $label = $langs->trans("BoardRunningServices"); + } + + $response = new BoardResponse(); + $response->warning_delay = $warning_delay/60/60/24; + $response->label = $label; + $response->url = $url; + $response->img = img_object($langs->trans("Contract"),"contract"); + while ($obj=$this->db->fetch_object($resql)) { - $this->nbtodo++; - if ($mode == 'inactives') - if ($obj->datefin && $this->db->jdate($obj->datefin) < ($now - $conf->contrat->services->inactifs->warning_delay)) $this->nbtodolate++; - if ($mode == 'expired') - if ($obj->datefin && $this->db->jdate($obj->datefin) < ($now - $conf->contrat->services->expires->warning_delay)) $this->nbtodolate++; + $response->nbtodo++; + + if ($obj->datefin && $this->db->jdate($obj->datefin) < ($now - $warning_delay)) { + $response->nbtodolate++; + } } - return 1; + + return $response; } else { diff --git a/htdocs/core/class/BoardResponse.class.php b/htdocs/core/class/BoardResponse.class.php new file mode 100644 index 00000000000..9cf12e7a702 --- /dev/null +++ b/htdocs/core/class/BoardResponse.class.php @@ -0,0 +1,69 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/core/class/BoardResponse.class.php + * \brief Class that represents response of load_board functions + */ + +class BoardResponse +{ + + /** + * Image URL to represent the board item + * @var string + */ + public $img; + + /** + * Label of the warning + * @var string + */ + public $label; + + /** + * URL to list to do items + * @var string + */ + public $url; + + /** + * Delay time to mark an item as late + * @var int + */ + public $warning_delay; + + /** + * (optional) If set, to do late items will link to this url + * @var string + */ + public $lateurl; + + /** + * Number of items to do + * @var int + */ + public $nbtodo = 0; + + /** + * Number of to do items which are late + * @var int + */ + public $nbtodolate = 0; + +} \ No newline at end of file diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index 64131be840b..c5765772c3b 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -2000,15 +2000,12 @@ class CommandeFournisseur extends CommonOrder * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Objet user - * @return int <0 if KO, >0 if OK + * @return BoardResponse|int <0 if KO, BoardResponse if OK */ function load_board($user) { - global $conf, $user; + global $conf, $user, $langs; - $now=dol_now(); - - $this->nbtodo=$this->nbtodolate=0; $clause = " WHERE"; $sql = "SELECT c.rowid, c.date_creation as datec, c.fk_statut,c.date_livraison as delivery_date"; @@ -2026,14 +2023,25 @@ class CommandeFournisseur extends CommonOrder $resql=$this->db->query($sql); if ($resql) { + $now=dol_now(); + + $response = new BoardResponse(); + $response->warning_delay=$conf->commande->fournisseur->warning_delay/60/60/24; + $response->label=$langs->trans("SuppliersOrdersToProcess"); + $response->url=DOL_URL_ROOT.'/fourn/commande/index.php'; + $response->img=img_object($langs->trans("Orders"),"order"); + while ($obj=$this->db->fetch_object($resql)) { - $this->nbtodo++; + $response->nbtodo++; $date_to_test = empty($obj->delivery_date) ? $obj->datec : $obj->delivery_date; - if ($obj->fk_statut != 3 && $this->db->jdate($date_to_test) < ($now - $conf->commande->fournisseur->warning_delay)) $this->nbtodolate++; + if ($obj->fk_statut != 3 && $this->db->jdate($date_to_test) < ($now - $conf->commande->fournisseur->warning_delay)) { + $response->nbtodolate++; + } } - return 1; + + return $response; } else { diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index 71e5c320dfa..3b029eff79c 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -1421,15 +1421,12 @@ class FactureFournisseur extends CommonInvoice * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Object user - * @return int <0 if KO, >0 if OK + * @return BoardResponse|int <0 if KO, BoardResponse if OK */ function load_board($user) { - global $conf, $user; + global $conf, $user, $langs; - $now=dol_now(); - - $this->nbtodo=$this->nbtodolate=0; $sql = 'SELECT ff.rowid, ff.date_lim_reglement as datefin'; $sql.= ' FROM '.MAIN_DB_PREFIX.'facture_fourn as ff'; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; @@ -1442,13 +1439,24 @@ class FactureFournisseur extends CommonInvoice $resql=$this->db->query($sql); if ($resql) { + $langs->load("bills"); + $now=dol_now(); + + $response = new BoardResponse(); + $response->warning_delay=$conf->facture->fournisseur->warning_delay/60/60/24; + $response->label=$langs->trans("SupplierBillsToPay"); + $response->url=DOL_URL_ROOT.'/fourn/facture/list.php?filtre=paye:0'; + $response->img=img_object($langs->trans("Bills"),"bill"); + while ($obj=$this->db->fetch_object($resql)) { - $this->nbtodo++; - if (! empty($obj->datefin) && $this->db->jdate($obj->datefin) < ($now - $conf->facture->fournisseur->warning_delay)) $this->nbtodolate++; + $response->nbtodo++; + if (! empty($obj->datefin) && $this->db->jdate($obj->datefin) < ($now - $conf->facture->fournisseur->warning_delay)) { + $response->nbtodolate++; + } } $this->db->free($resql); - return 1; + return $response; } else { diff --git a/htdocs/index.php b/htdocs/index.php index 55252f6533f..9439e14995d 100644 --- a/htdocs/index.php +++ b/htdocs/index.php @@ -291,7 +291,8 @@ print '
'; * Dolibarr Working Board with weather */ $showweather=empty($conf->global->MAIN_DISABLE_METEO)?1:0; -$rowspan=0; + +//Array that contains all BoardResponse classes to process them $dashboardlines=array(); print ''."\n"; @@ -309,18 +310,14 @@ print ''."\n"; // Do not include sections without management permission // +require DOL_DOCUMENT_ROOT.'/core/class/BoardResponse.class.php'; + // Number of actions to do (late) if (! empty($conf->agenda->enabled) && $user->rights->agenda->myactions->read) { include_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php'; $board=new ActionComm($db); - $board->load_board($user); - $board->warning_delay=$conf->actions->warning_delay/60/60/24; - $board->label=$langs->trans("ActionsToDo"); - $board->url=DOL_URL_ROOT.'/comm/action/listactions.php?status=todo&mainmenu=agenda'; - $board->img=img_object($langs->trans("Actions"),"action"); - $rowspan++; - $dashboardlines[]=$board; + $dashboardlines[] = $board->load_board($user); } // Number of customer orders a deal @@ -328,13 +325,8 @@ if (! empty($conf->commande->enabled) && $user->rights->commande->lire) { include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; $board=new Commande($db); - $board->load_board($user); - $board->warning_delay=$conf->commande->client->warning_delay/60/60/24; - $board->label=$langs->trans("OrdersToProcess"); - $board->url=DOL_URL_ROOT.'/commande/list.php?viewstatut=-3'; - $board->img=img_object($langs->trans("Orders"),"order"); - $rowspan++; - $dashboardlines[]=$board; + + $dashboardlines[] = $board->load_board($user); } // Number of suppliers orders a deal @@ -342,172 +334,89 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->commande { include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php'; $board=new CommandeFournisseur($db); - $board->load_board($user); - $board->warning_delay=$conf->commande->fournisseur->warning_delay/60/60/24; - $board->label=$langs->trans("SuppliersOrdersToProcess"); - $board->url=DOL_URL_ROOT.'/fourn/commande/index.php'; - $board->img=img_object($langs->trans("Orders"),"order"); - $rowspan++; - $dashboardlines[]=$board; + + $dashboardlines[] = $board->load_board($user); } // Number of commercial proposals opened (expired) if (! empty($conf->propal->enabled) && $user->rights->propale->lire) { - $langs->load("propal"); - include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; $board=new Propal($db); - $board->load_board($user,"opened"); - $board->warning_delay=$conf->propal->cloture->warning_delay/60/60/24; - $board->label=$langs->trans("PropalsToClose"); - $board->url=DOL_URL_ROOT.'/comm/propal/list.php?viewstatut=1'; - $board->img=img_object($langs->trans("Propals"),"propal"); - $rowspan++; - $dashboardlines[]=$board; -} + $dashboardlines[] = $board->load_board($user,"opened"); -// Number of commercial proposals CLOSED signed (billed) -if (! empty($conf->propal->enabled) && $user->rights->propale->lire) -{ - $langs->load("propal"); - - include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; - $board=new Propal($db); - $board->load_board($user,"signed"); - $board->warning_delay=$conf->propal->facturation->warning_delay/60/60/24; - $board->label=$langs->trans("PropalsToBill"); - $board->url=DOL_URL_ROOT.'/comm/propal/list.php?viewstatut=2'; - $board->img=img_object($langs->trans("Propals"),"propal"); - $rowspan++; - $dashboardlines[]=$board; + // Number of commercial proposals CLOSED signed (billed) + $dashboardlines[] = $board->load_board($user,"signed"); } // Number of services enabled (delayed) if (! empty($conf->contrat->enabled) && $user->rights->contrat->lire) { - $langs->load("contracts"); - include_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php'; $board=new Contrat($db); - $board->load_board($user,"inactives"); - $board->warning_delay=$conf->contrat->services->inactifs->warning_delay/60/60/24; - $board->label=$langs->trans("BoardNotActivatedServices"); - $board->url=DOL_URL_ROOT.'/contrat/services.php?mainmenu=commercial&leftmenu=contracts&mode=0'; - $board->img=img_object($langs->trans("Contract"),"contract"); - $rowspan++; - $dashboardlines[]=$board; -} + $dashboardlines[] = $board->load_board($user,"inactives"); -// Number of active services (expired) -if (! empty($conf->contrat->enabled) && $user->rights->contrat->lire) -{ - $langs->load("contracts"); - - include_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php'; - $board=new Contrat($db); - $board->load_board($user,"expired"); - $board->warning_delay=$conf->contrat->services->expires->warning_delay/60/60/24; - $board->label=$langs->trans("BoardRunningServices"); - $board->url=DOL_URL_ROOT.'/contrat/services.php?mainmenu=commercial&leftmenu=contracts&mode=4&filter=expired'; - $board->img=img_object($langs->trans("Contract"),"contract"); - $rowspan++; - $dashboardlines[]=$board; + // Number of active services (expired) + $dashboardlines[] = $board->load_board($user,"expired"); } // Number of invoices customers (has paid) if (! empty($conf->facture->enabled) && $user->rights->facture->lire) { - $langs->load("bills"); - include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; $board=new Facture($db); - $board->load_board($user); - $board->warning_delay=$conf->facture->client->warning_delay/60/60/24; - $board->label=$langs->trans("CustomerBillsUnpaid"); - $board->url=DOL_URL_ROOT.'/compta/facture/impayees.php'; - $board->img=img_object($langs->trans("Bills"),"bill"); - $rowspan++; - $dashboardlines[]=$board; + $dashboardlines[] = $board->load_board($user); } // Number of supplier invoices (has paid) if (! empty($conf->fournisseur->enabled) && ! empty($conf->facture->enabled) && $user->rights->facture->lire) { - $langs->load("bills"); - include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; $board=new FactureFournisseur($db); - $board->load_board($user); - $board->warning_delay=$conf->facture->fournisseur->warning_delay/60/60/24; - $board->label=$langs->trans("SupplierBillsToPay"); - $board->url=DOL_URL_ROOT.'/fourn/facture/list.php?filtre=paye:0'; - $board->img=img_object($langs->trans("Bills"),"bill"); - $rowspan++; - $dashboardlines[]=$board; + $dashboardlines[] = $board->load_board($user); } // Number of transactions to conciliate if (! empty($conf->banque->enabled) && $user->rights->banque->lire && ! $user->societe_id) { - $langs->load("banks"); - include_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; $board=new Account($db); - $found=$board->load_board($user); - if ($found > 0) - { - $board->warning_delay=$conf->bank->rappro->warning_delay/60/60/24; - $board->label=$langs->trans("TransactionsToConciliate"); - $board->url=DOL_URL_ROOT.'/compta/bank/index.php?leftmenu=bank&mainmenu=bank'; - $board->img=img_object($langs->trans("TransactionsToConciliate"),"payment"); - $rowspan++; - $dashboardlines[]=$board; - } + $dashboardlines[] = $board->load_board($user); } // Number of cheque to send if (! empty($conf->banque->enabled) && $user->rights->banque->lire && ! $user->societe_id) { - $langs->load("banks"); - include_once DOL_DOCUMENT_ROOT.'/compta/paiement/cheque/class/remisecheque.class.php'; $board=new RemiseCheque($db); - $board->load_board($user); - $board->warning_delay=$conf->bank->cheque->warning_delay/60/60/24; - $board->label=$langs->trans("BankChecksToReceipt"); - $board->url=DOL_URL_ROOT.'/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=accountancy'; - $board->img=img_object($langs->trans("BankChecksToReceipt"),"payment"); - $rowspan++; - $dashboardlines[]=$board; + $dashboardlines[] = $board->load_board($user); } // Number of foundation members if (! empty($conf->adherent->enabled) && $user->rights->adherent->lire && ! $user->societe_id) { - $langs->load("members"); - include_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; $board=new Adherent($db); - $board->load_board($user); - $board->warning_delay=$conf->adherent->cotisation->warning_delay/60/60/24; - $board->label=$langs->trans("MembersWithSubscriptionToReceive"); - $board->url=DOL_URL_ROOT.'/adherents/list.php?mainmenu=members&statut=1'; - $board->img=img_object($langs->trans("Members"),"user"); - $rowspan++; - $dashboardlines[]=$board; + $dashboardlines[] = $board->load_board($user); } // Calculate total nb of late $totallate=0; -foreach($dashboardlines as $key => $board) -{ - if ($board->nbtodolate > 0) $totallate+=$board->nbtodolate; -} - -// Show dashboard $var=true; -foreach($dashboardlines as $key => $board) + +$valid_dashboardlines = array_filter($dashboardlines, function ($board) { + return $board instanceof BoardResponse; +}); + +$rowspan = count($valid_dashboardlines); + +foreach($valid_dashboardlines as $board) { + if ($board->nbtodolate > 0) { + $totallate += $board->nbtodolate; + } + + // Show dashboard + $var=!$var; print ''; print ''; @@ -531,8 +440,6 @@ foreach($dashboardlines as $key => $board) if ($rowspan <= 2) $options='height="24"'; // Weather logo is smaller if dashboard has few elements else if ($rowspan <= 3) $options='height="48"'; // Weather logo is smaller if dashboard has few elements print showWeather($totallate,$text,$options); - //print showWeather(0,''); - //print showWeather(40,$text); print ''; $showweather=0; } From bab0163c44ce34516f1c828d8064ad43e3ecf88f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Sun, 15 Feb 2015 15:07:24 +0100 Subject: [PATCH 099/137] Missing Copyright info --- htdocs/adherents/class/adherent.class.php | 1 + htdocs/comm/action/class/actioncomm.class.php | 1 + htdocs/comm/propal/class/propal.class.php | 2 +- htdocs/commande/class/commande.class.php | 2 +- htdocs/compta/bank/class/account.class.php | 1 + htdocs/compta/facture/class/facture.class.php | 2 +- htdocs/compta/paiement/cheque/class/remisecheque.class.php | 1 + htdocs/contrat/class/contrat.class.php | 2 +- htdocs/fourn/class/fournisseur.commande.class.php | 2 +- htdocs/fourn/class/fournisseur.facture.class.php | 2 +- htdocs/index.php | 1 + 11 files changed, 11 insertions(+), 6 deletions(-) diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index 1f8ae82dcbd..890458b9a30 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -6,6 +6,7 @@ * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2009-2012 Regis Houssin * Copyright (C) 2014 Alexandre Spangaro + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index d13f32f157c..c0628635374 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -3,6 +3,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011 Juanjo Menent + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index 2c20e5ea1c7..cc24bcb219a 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -10,7 +10,7 @@ * Copyright (C) 2010-2011 Philippe Grand * Copyright (C) 2012-2014 Christophe Battarel * Copyright (C) 2013 Florian Henry - * Copyright (C) 2014 Marcos García + * Copyright (C) 2014-2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 511af75a967..0b5df167931 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -7,7 +7,7 @@ * Copyright (C) 2011 Jean Heimburger * Copyright (C) 2012-2014 Christophe Battarel * Copyright (C) 2013 Florian Henry - * Copyright (C) 2014 Marcos García + * Copyright (C) 2014-2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index c2929fb33a4..d2d9db7b378 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -5,6 +5,7 @@ * Copyright (C) 2004 Christophe Combelles * Copyright (C) 2005-2010 Regis Houssin * Copytight (C) 2013 Florian Henry + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index 3bbf76c79fe..fe7d48ee6b4 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -9,7 +9,7 @@ * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2012-2014 Christophe Battarel - * Copyright (C) 2012-2014 Marcos García + * Copyright (C) 2012-2015 Marcos García * Copyright (C) 2012 Cédric Salvador * Copyright (C) 2012-2014 Raphaël Doursenaud * Copyright (C) 2013 Cedric Gross diff --git a/htdocs/compta/paiement/cheque/class/remisecheque.class.php b/htdocs/compta/paiement/cheque/class/remisecheque.class.php index 6bb1429d0a0..66083d3a84d 100644 --- a/htdocs/compta/paiement/cheque/class/remisecheque.class.php +++ b/htdocs/compta/paiement/cheque/class/remisecheque.class.php @@ -3,6 +3,7 @@ * Copyright (C) 2007-2011 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2011 Juanjo Menent + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index 19001edf92c..14f406017ae 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -7,7 +7,7 @@ * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2013 Christophe Battarel * Copyright (C) 2013 Florian Henry - * Copyright (C) 2014 Marcos García + * Copyright (C) 2014-2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index c5765772c3b..bebce59806a 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -5,7 +5,7 @@ * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2010-2014 Philippe Grand - * Copyright (C) 2012-2014 Marcos García + * Copyright (C) 2012-2015 Marcos García * Copyright (C) 2013 Florian Henry * Copyright (C) 2013 Cédric Salvador * diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index 3b029eff79c..b9d77903b60 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -7,7 +7,7 @@ * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2013 Philippe Grand * Copyright (C) 2013 Florian Henry - * Copyright (C) 2014 Marcos García + * Copyright (C) 2014-2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/htdocs/index.php b/htdocs/index.php index 9439e14995d..f79413e51ab 100644 --- a/htdocs/index.php +++ b/htdocs/index.php @@ -3,6 +3,7 @@ * Copyright (C) 2004-2013 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2012 Juanjo Menent + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by From d5fd20e9119f148d82a8c67bd9f4f94e5a1182ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Sun, 15 Feb 2015 15:10:51 +0100 Subject: [PATCH 100/137] Renamed BoardResponse to WorkBoardResponse --- htdocs/adherents/class/adherent.class.php | 4 ++-- htdocs/comm/action/class/actioncomm.class.php | 4 ++-- htdocs/comm/propal/class/propal.class.php | 4 ++-- htdocs/commande/class/commande.class.php | 4 ++-- htdocs/compta/bank/class/account.class.php | 4 ++-- htdocs/compta/facture/class/facture.class.php | 4 ++-- .../compta/paiement/cheque/class/remisecheque.class.php | 4 ++-- htdocs/contrat/class/contrat.class.php | 4 ++-- ...oardResponse.class.php => WorkBoardResponse.class.php} | 4 ++-- htdocs/fourn/class/fournisseur.commande.class.php | 4 ++-- htdocs/fourn/class/fournisseur.facture.class.php | 4 ++-- htdocs/index.php | 8 +++++--- 12 files changed, 27 insertions(+), 25 deletions(-) rename htdocs/core/class/{BoardResponse.class.php => WorkBoardResponse.class.php} (94%) diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index 890458b9a30..b275369be4e 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -1726,7 +1726,7 @@ class Adherent extends CommonObject * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Objet user - * @return BoardResponse|int <0 if KO, BoardResponse if OK + * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK */ function load_board($user) { @@ -1747,7 +1747,7 @@ class Adherent extends CommonObject { $langs->load("members"); - $response = new BoardResponse(); + $response = new WorkBoardResponse(); $response->warning_delay=$conf->adherent->cotisation->warning_delay/60/60/24; $response->label=$langs->trans("MembersWithSubscriptionToReceive"); $response->url=DOL_URL_ROOT.'/adherents/list.php?mainmenu=members&statut=1'; diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index c0628635374..e49b67604d5 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -716,7 +716,7 @@ class ActionComm extends CommonObject * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Objet user - * @return BoardResponse|int <0 if KO, BoardResponse if OK + * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK */ function load_board($user) { @@ -738,7 +738,7 @@ class ActionComm extends CommonObject { $now = dol_now(); - $response = new BoardResponse(); + $response = new WorkBoardResponse(); $response->warning_delay = $conf->actions->warning_delay/60/60/24; $response->label = $langs->trans("ActionsToDo"); $response->url = DOL_URL_ROOT.'/comm/action/listactions.php?status=todo&mainmenu=agenda'; diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index cc24bcb219a..80cfb5b3266 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -2345,7 +2345,7 @@ class Propal extends CommonObject * * @param User $user Object user * @param int $mode "opened" for proposal to close, "signed" for proposal to invoice - * @return BoardResponse|int <0 if KO, BoardResponse if OK + * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK */ function load_board($user,$mode) { @@ -2383,7 +2383,7 @@ class Propal extends CommonObject $label = $langs->trans("PropalsToBill"); } - $response = new BoardResponse(); + $response = new WorkBoardResponse(); $response->warning_delay = $delay_warning; $response->label = $label; $response->url = DOL_URL_ROOT.'/comm/propal/list.php?viewstatut='.$statut; diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 0b5df167931..19fd5c98a2b 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -2725,7 +2725,7 @@ class Commande extends CommonOrder * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Object user - * @return BoardResponse|int <0 if KO, BoardResponse if OK + * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK */ function load_board($user) { @@ -2751,7 +2751,7 @@ class Commande extends CommonOrder { $now=dol_now(); - $response = new BoardResponse(); + $response = new WorkBoardResponse(); $response->warning_delay=$conf->commande->client->warning_delay/60/60/24; $response->label=$langs->trans("OrdersToProcess"); $response->url=DOL_URL_ROOT.'/commande/list.php?viewstatut=-3'; diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index d2d9db7b378..85a6ad24b85 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -882,7 +882,7 @@ class Account extends CommonObject * * @param User $user Objet user * @param int $filteraccountid To get info for a particular account id - * @return BoardResponse|int <0 if KO, BoardResponse if OK + * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK */ function load_board($user,$filteraccountid=0) { @@ -905,7 +905,7 @@ class Account extends CommonObject $langs->load("banks"); $now=dol_now(); - $response = new BoardResponse(); + $response = new WorkBoardResponse(); $response->warning_delay=$conf->bank->rappro->warning_delay/60/60/24; $response->label=$langs->trans("TransactionsToConciliate"); $response->url=DOL_URL_ROOT.'/compta/bank/index.php?leftmenu=bank&mainmenu=bank'; diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index fe7d48ee6b4..71328871323 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -3085,7 +3085,7 @@ class Facture extends CommonInvoice * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Object user - * @return BoardResponse|int <0 if KO, BoardResponse if OK + * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK */ function load_board($user) { @@ -3112,7 +3112,7 @@ class Facture extends CommonInvoice $langs->load("bills"); $now=dol_now(); - $response = new BoardResponse(); + $response = new WorkBoardResponse(); $response->warning_delay=$conf->facture->client->warning_delay/60/60/24; $response->label=$langs->trans("CustomerBillsUnpaid"); $response->url=DOL_URL_ROOT.'/compta/facture/impayees.php'; diff --git a/htdocs/compta/paiement/cheque/class/remisecheque.class.php b/htdocs/compta/paiement/cheque/class/remisecheque.class.php index 66083d3a84d..88f9d573737 100644 --- a/htdocs/compta/paiement/cheque/class/remisecheque.class.php +++ b/htdocs/compta/paiement/cheque/class/remisecheque.class.php @@ -433,7 +433,7 @@ class RemiseCheque extends CommonObject * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Objet user - * @return BoardResponse|int <0 if KO, BoardResponse if OK + * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK */ function load_board($user) { @@ -456,7 +456,7 @@ class RemiseCheque extends CommonObject $langs->load("banks"); $now=dol_now(); - $response = new BoardResponse(); + $response = new WorkBoardResponse(); $response->warning_delay=$conf->bank->cheque->warning_delay/60/60/24; $response->label=$langs->trans("BankChecksToReceipt"); $response->url=DOL_URL_ROOT.'/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=accountancy'; diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index 14f406017ae..9a5afc0aea1 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -1881,7 +1881,7 @@ class Contrat extends CommonObject * * @param User $user Objet user * @param string $mode "inactive" pour services a activer, "expired" pour services expires - * @return BoardResponse|int <0 if KO, BoardResponse if OK + * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK */ function load_board($user,$mode) { @@ -1929,7 +1929,7 @@ class Contrat extends CommonObject $label = $langs->trans("BoardRunningServices"); } - $response = new BoardResponse(); + $response = new WorkBoardResponse(); $response->warning_delay = $warning_delay/60/60/24; $response->label = $label; $response->url = $url; diff --git a/htdocs/core/class/BoardResponse.class.php b/htdocs/core/class/WorkBoardResponse.class.php similarity index 94% rename from htdocs/core/class/BoardResponse.class.php rename to htdocs/core/class/WorkBoardResponse.class.php index 9cf12e7a702..4cb0a1be0e7 100644 --- a/htdocs/core/class/BoardResponse.class.php +++ b/htdocs/core/class/WorkBoardResponse.class.php @@ -17,11 +17,11 @@ */ /** - * \file htdocs/core/class/BoardResponse.class.php + * \file htdocs/core/class/WorkBoardResponse.class.php * \brief Class that represents response of load_board functions */ -class BoardResponse +class WorkBoardResponse { /** diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index bebce59806a..300a1ad1260 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -2000,7 +2000,7 @@ class CommandeFournisseur extends CommonOrder * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Objet user - * @return BoardResponse|int <0 if KO, BoardResponse if OK + * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK */ function load_board($user) { @@ -2025,7 +2025,7 @@ class CommandeFournisseur extends CommonOrder { $now=dol_now(); - $response = new BoardResponse(); + $response = new WorkBoardResponse(); $response->warning_delay=$conf->commande->fournisseur->warning_delay/60/60/24; $response->label=$langs->trans("SuppliersOrdersToProcess"); $response->url=DOL_URL_ROOT.'/fourn/commande/index.php'; diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index b9d77903b60..c8735362cca 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -1421,7 +1421,7 @@ class FactureFournisseur extends CommonInvoice * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Object user - * @return BoardResponse|int <0 if KO, BoardResponse if OK + * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK */ function load_board($user) { @@ -1442,7 +1442,7 @@ class FactureFournisseur extends CommonInvoice $langs->load("bills"); $now=dol_now(); - $response = new BoardResponse(); + $response = new WorkBoardResponse(); $response->warning_delay=$conf->facture->fournisseur->warning_delay/60/60/24; $response->label=$langs->trans("SupplierBillsToPay"); $response->url=DOL_URL_ROOT.'/fourn/facture/list.php?filtre=paye:0'; diff --git a/htdocs/index.php b/htdocs/index.php index f79413e51ab..54cda381489 100644 --- a/htdocs/index.php +++ b/htdocs/index.php @@ -293,7 +293,7 @@ print '
'; */ $showweather=empty($conf->global->MAIN_DISABLE_METEO)?1:0; -//Array that contains all BoardResponse classes to process them +//Array that contains all WorkBoardResponse classes to process them $dashboardlines=array(); print '
'.$board->img.''.$board->label.''.$board->nbtodo.'
'."\n"; @@ -311,7 +311,7 @@ print ''."\n"; // Do not include sections without management permission // -require DOL_DOCUMENT_ROOT.'/core/class/BoardResponse.class.php'; +require DOL_DOCUMENT_ROOT.'/core/class/WorkBoardResponse.class.php'; // Number of actions to do (late) if (! empty($conf->agenda->enabled) && $user->rights->agenda->myactions->read) @@ -404,8 +404,10 @@ if (! empty($conf->adherent->enabled) && $user->rights->adherent->lire && ! $use $totallate=0; $var=true; +//Remove any invalid response +//load_board can return an integer if failed or WorkBoardResponse if OK $valid_dashboardlines = array_filter($dashboardlines, function ($board) { - return $board instanceof BoardResponse; + return $board instanceof WorkBoardResponse; }); $rowspan = count($valid_dashboardlines); From 8a7d4ea71d229dce3afaf82911ebb3f3cf49523a Mon Sep 17 00:00:00 2001 From: delcroix Patrick Date: Sun, 15 Feb 2015 17:01:47 +0100 Subject: [PATCH 101/137] export on user to be able to choose the user for reporting purpose (no column named Name in the user table) --- htdocs/core/modules/modProjet.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/modProjet.class.php b/htdocs/core/modules/modProjet.class.php index 97ddc6afaba..4a534c937cc 100644 --- a/htdocs/core/modules/modProjet.class.php +++ b/htdocs/core/modules/modProjet.class.php @@ -194,7 +194,7 @@ class modProjet extends DolibarrModules 's.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text', 'p.rowid'=>"List:projet:ref",'p.ref'=>"Text",'p.datec'=>"Date",'p.dateo'=>"Date",'p.datee'=>"Date",'p.fk_statut'=>'Status','p.description'=>"Text", 'pt.dateo'=>"Date",'pt.datee'=>"Date",'pt.duration_effective'=>"Duree",'pt.planned_workload'=>"Number",'pt.progress'=>"Number",'pt.description'=>"Text", - 'ptt.task_date'=>'Date','ptt.task_duration'=>"Duree",'ptt.fk_user'=>"List:user:Name",'ptt.note'=>"Text"); + 'ptt.task_date'=>'Date','ptt.task_duration'=>"Duree",'ptt.fk_user'=>"List:user:CONCAT(lastname,' ',firstname)",'ptt.note'=>"Text"); $this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company','s.fk_pays'=>'company', 's.phone'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.code_compta'=>'company','s.code_compta_fournisseur'=>'company', From b00de9707aa322175f77d7a5b6ea76497d96648f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 15 Feb 2015 19:13:16 +0100 Subject: [PATCH 102/137] Work on expensereport module --- htdocs/compta/facture.php | 21 +-- .../pdf_standard.modules.php} | 17 +-- .../expensereport/modules_deplacement.php | 17 +++ .../core/modules/modExpenseReport.class.php | 16 +- htdocs/expensereport/ajax/ajaxprojet.php | 4 +- htdocs/expensereport/card.php | 60 +++++--- .../class/expensereport.class.php | 138 +++++++++--------- htdocs/expensereport/document.php | 1 + htdocs/expensereport/index.php | 1 + htdocs/expensereport/info.php | 7 +- htdocs/expensereport/list.php | 13 +- htdocs/expensereport/synchro_compta.php | 16 ++ 12 files changed, 183 insertions(+), 128 deletions(-) rename htdocs/core/modules/expensereport/{pdf_teclib.modules.php => doc/pdf_standard.modules.php} (97%) diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index cc4d2cff7e7..1f54c0b6805 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -569,11 +569,13 @@ if (empty($reshook)) // Boucle sur chaque taux de tva $i = 0; - foreach ($object->lines as $line) { - if($line->total_ht!=0) { // no need to create discount if amount is null - $amount_ht [$line->tva_tx] += $line->total_ht; - $amount_tva [$line->tva_tx] += $line->total_tva; - $amount_ttc [$line->tva_tx] += $line->total_ttc; + foreach ($object->lines as $line) + { + if ($line->total_ht!=0) + { // no need to create discount if amount is null + $amount_ht[$line->tva_tx] += $line->total_ht; + $amount_tva[$line->tva_tx] += $line->total_tva; + $amount_ttc[$line->tva_tx] += $line->total_ttc; $i ++; } } @@ -593,10 +595,11 @@ if (empty($reshook)) $error = 0; - foreach ($amount_ht as $tva_tx => $xxx) { - $discount->amount_ht = abs($amount_ht [$tva_tx]); - $discount->amount_tva = abs($amount_tva [$tva_tx]); - $discount->amount_ttc = abs($amount_ttc [$tva_tx]); + foreach ($amount_ht as $tva_tx => $xxx) + { + $discount->amount_ht = abs($amount_ht[$tva_tx]); + $discount->amount_tva = abs($amount_tva[$tva_tx]); + $discount->amount_ttc = abs($amount_ttc[$tva_tx]); $discount->tva_tx = abs($tva_tx); $result = $discount->create($user); diff --git a/htdocs/core/modules/expensereport/pdf_teclib.modules.php b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php similarity index 97% rename from htdocs/core/modules/expensereport/pdf_teclib.modules.php rename to htdocs/core/modules/expensereport/doc/pdf_standard.modules.php index 6b3b59639e5..450007a0dc6 100755 --- a/htdocs/core/modules/expensereport/pdf_teclib.modules.php +++ b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php @@ -1,8 +1,5 @@ - * Copyright (C) 2005-2010 Regis Houssin - * Copyright (C) 2008 Raphael Bertrand - * Copyright (C) 2010 Juanjo Menent +/* Copyright (C) 2015 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -15,16 +12,14 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * along with this program. If not, see . * or see http://www.gnu.org/ */ /** - * \file htdocs/expensereport/core/modules/expensereport/pdf_.modules.php - * \ingroup facture - * \brief File of class to generate invoices from crab model - * \author Laurent Destailleur + * \file htdocs/core/modules/expensereport/doc/pdf_standard.modules.php + * \ingroup expensereport + * \brief File of class to generate invoices from standard model */ dol_include_once("/expensereport/core/modules/expensereport/modules_expensereport.php"); @@ -664,7 +659,7 @@ class pdf_ extends ModeleExpenseReport /** * Affiche la grille des lignes de factures - * + * * @param $pdf Objet PDF * @param $tab_top Tab top * @param $tab_height Tab height diff --git a/htdocs/core/modules/expensereport/modules_deplacement.php b/htdocs/core/modules/expensereport/modules_deplacement.php index 707eaad54b8..86fa894dbaf 100755 --- a/htdocs/core/modules/expensereport/modules_deplacement.php +++ b/htdocs/core/modules/expensereport/modules_deplacement.php @@ -1,4 +1,21 @@ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * or see http://www.gnu.org/ + */ + require_once DOL_DOCUMENT_ROOT.'/core/class/commondocgenerator.class.php'; diff --git a/htdocs/core/modules/modExpenseReport.class.php b/htdocs/core/modules/modExpenseReport.class.php index 54d0496a4dd..edee0952b00 100755 --- a/htdocs/core/modules/modExpenseReport.class.php +++ b/htdocs/core/modules/modExpenseReport.class.php @@ -1,8 +1,6 @@ - * Copyright (C) 2004-2009 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin - * Copyright (C) 2011 Dimitri Mouillard +/* Copyright (C) 2011 Dimitri Mouillard + * Copyright (C) 2015 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -15,8 +13,8 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * along with this program. If not, see . + * or see http://www.gnu.org/ */ /** @@ -329,12 +327,12 @@ class modExpenseReport extends DolibarrModules } /** - * Function called when module is disabled. + * Function called when module is disabled. * Remove from database constants, boxes and permissions from Dolibarr database. * Data directories are not deleted. * - * @param string Options - * @return int 1 if OK, 0 if KO + * @param string $options Options + * @return int 1 if OK, 0 if KO */ function remove($options='') { diff --git a/htdocs/expensereport/ajax/ajaxprojet.php b/htdocs/expensereport/ajax/ajaxprojet.php index 0ab75543309..5246e7eb5d9 100755 --- a/htdocs/expensereport/ajax/ajaxprojet.php +++ b/htdocs/expensereport/ajax/ajaxprojet.php @@ -15,8 +15,8 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * along with this program. If not, see . + * or see http://www.gnu.org/ */ /** diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index 5a6f3a29b07..5b7045fd628 100755 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -14,8 +14,8 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * along with this program. If not, see . + * or see http://www.gnu.org/ */ /** @@ -927,7 +927,7 @@ else if ($action == 'remove_file') * View */ -llxHeader(); +llxHeader('', $langs->trans("ExpenseReport")); $html = new Form($db); $formfile = new FormFile($db); @@ -1028,7 +1028,7 @@ else $object = new ExpenseReport($db); $result = $object->fetch($id,$user); - if($result) + if ($result) { if ($object->fk_user_author != $user->id) { @@ -1237,7 +1237,7 @@ else } print ''; print ''; - print ''; + print ''; print ''; print ''; print ''; @@ -1261,9 +1261,12 @@ else print ''; print ''; print ''; } elseif($object->fk_c_expensereport_statuts==4) @@ -1271,9 +1274,12 @@ else print ''; print ''; print ''; print ''; print ''; @@ -1289,9 +1295,12 @@ else print ''; print ''; print ''; print ''; print ''; @@ -1302,9 +1311,12 @@ else print ''; print ''; print ''; print ''; @@ -1351,12 +1363,10 @@ else $sql = 'SELECT fde.rowid, fde.fk_expensereport, fde.fk_c_type_fees, fde.fk_projet, fde.date,'; $sql.= ' fde.fk_c_tva, fde.comments, fde.qty, fde.value_unit, fde.total_ht, fde.total_tva, fde.total_ttc,'; $sql.= ' ctf.code as type_fees_code, ctf.label as type_fees_libelle,'; - $sql.= ' pjt.rowid as projet_id, pjt.title as projet_title, pjt.ref as projet_ref,'; - $sql.= ' tva.rowid as tva_id, tva.taux as tva_taux'; + $sql.= ' pjt.rowid as projet_id, pjt.title as projet_title, pjt.ref as projet_ref'; $sql.= ' FROM '.MAIN_DB_PREFIX.'expensereport_det fde'; $sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_type_fees ctf ON fde.fk_c_type_fees=ctf.id'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet pjt ON fde.fk_projet=pjt.rowid'; - $sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_tva tva ON fde.fk_c_tva=tva.rowid'; $sql.= ' WHERE fde.fk_expensereport = '.$id; $resql = $db->query($sql); @@ -1503,7 +1513,7 @@ else //print ''; // Ajouter une ligne - if (($object->fk_c_expensereport_statuts==1 || $object->fk_c_expensereport_statuts==99) && $action != 'editline') + if (($object->fk_c_expensereport_statuts==0 || $object->fk_c_expensereport_statuts==99) && $action != 'editline') { print_fiche_titre($langs->trans("AddLine"),'',''); @@ -1570,6 +1580,10 @@ else } // Fin si c'est payé/validé } + else + { + dol_print_error($db); + } } // end edit or not edit dol_fiche_end(); @@ -1602,9 +1616,9 @@ if ($action != 'create' && $action != 'edit') * ET fk_user_author == user courant * Afficher : "Enregistrer" / "Modifier" / "Supprimer" */ - if($user->rights->expensereport->creer AND $object->fk_c_expensereport_statuts==1) + if ($user->rights->expensereport->creer AND $object->fk_c_expensereport_statuts==0) { - if($object->fk_user_author==$user->id) + if ($object->fk_user_author == $user->id) { // Modifier print ''.$langs->trans('ModifyInfoGen').''; diff --git a/htdocs/expensereport/class/expensereport.class.php b/htdocs/expensereport/class/expensereport.class.php index 092a642b4b4..f5ff354ffbc 100755 --- a/htdocs/expensereport/class/expensereport.class.php +++ b/htdocs/expensereport/class/expensereport.class.php @@ -139,10 +139,10 @@ class ExpenseReport extends CommonObject $sql.= ", '".$this->db->idate($this->date_fin)."'"; $sql.= ", '".$this->db->idate($now)."'"; $sql.= ", ".($user->id > 0 ? $user->id:"null"); - $sql.= ", ".($this->fk_user_validator > 0 ? $this->fk_user_validator:2); - $sql.= ", ".($this->fk_c_expensereport_statuts > 1 ? $this->fk_c_expensereport_statuts:1); - $sql.= ", ".($this->fk_c_paiement > 0 ? $this->fk_c_paiement:2); - $sql.= ", ".($this->note?"'".$this->note."'":"null"); + $sql.= ", ".($this->fk_user_validator > 0 ? $this->fk_user_validator:"null"); + $sql.= ", ".($this->fk_c_expensereport_statuts > 1 ? $this->fk_c_expensereport_statuts:0); + $sql.= ", ".($this->fk_c_paiement > 0 ? $this->fk_c_paiement:"null"); + $sql.= ", ".($this->note?"'".$this->db->escape($this->note)."'":"null"); $sql.= ")"; dol_syslog(get_class($this)."::create sql=".$sql, LOG_DEBUG); @@ -263,11 +263,10 @@ class ExpenseReport extends CommonObject $sql.= " d.date_refuse, d.date_cancel,"; // ACTIONS $sql.= " d.total_ht, d.total_ttc, d.total_tva,"; // TOTAUX (int) $sql.= " d.date_debut, d.date_fin, d.date_create, d.date_valide, d.date_paiement,"; // DATES (datetime) - $sql.= " d.fk_user_author, d.fk_user_validator, d.fk_c_expensereport_statuts, d.fk_c_paiement,"; // FOREING KEY (int) + $sql.= " d.fk_user_author, d.fk_user_validator, d.fk_c_expensereport_statuts as status, d.fk_c_paiement,"; $sql.= " d.fk_user_valid, d.fk_user_paid,"; // FOREING KEY 2 (int) $sql.= " dp.libelle as libelle_paiement, dp.code as code_paiement"; // INNER JOIN paiement - $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element." d"; - $sql.= " INNER JOIN ".MAIN_DB_PREFIX."c_paiement dp ON d.fk_c_paiement = dp.id"; + $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element." d LEFT JOIN ".MAIN_DB_PREFIX."c_paiement dp ON d.fk_c_paiement = dp.id"; $sql.= " WHERE d.rowid = ".$id; $sql.= $restrict; @@ -276,71 +275,78 @@ class ExpenseReport extends CommonObject if ($result) { $obj = $db->fetch_object($result); - - $this->id = $obj->rowid; - $this->ref = $obj->ref_number; - $this->ref_number = $obj->ref_number; - $this->total_ht = $obj->total_ht; - $this->total_tva = $obj->total_tva; - $this->total_ttc = $obj->total_ttc; - $this->note = $obj->note; - $this->detail_refuse = $obj->detail_refuse; - $this->detail_cancel = $obj->detail_cancel; - - $this->date_debut = $obj->date_debut; - $this->date_fin = $obj->date_fin; - $this->date_paiement = $obj->date_paiement; - $this->date_valide = $obj->date_valide; - $this->date_create = $obj->date_create; - $this->date_refuse = $obj->date_refuse; - $this->date_cancel = $obj->date_cancel; - - $this->fk_user_author = $obj->fk_user_author; - $this->fk_user_validator = $obj->fk_user_validator; - $this->fk_user_valid = $obj->fk_user_valid; - $this->fk_user_paid = $obj->fk_user_paid; - $this->fk_user_refuse = $obj->fk_user_refuse; - $this->fk_user_cancel = $obj->fk_user_cancel; - - $user_author = new User($this->db); - $user_author->fetch($this->fk_user_author); - $this->user_author_infos = dolGetFirstLastname($user_author->firstname, $user_author->lastname); - - $user_approver = new User($this->db); - $user_approver->fetch($this->fk_user_validator); - $this->user_validator_infos = dolGetFirstLastname($user_approver->firstname, $user_approver->lastname); - - $this->fk_c_expensereport_statuts = $obj->fk_c_expensereport_statuts; - $this->fk_c_paiement = $obj->fk_c_paiement; - - if ($this->fk_c_expensereport_statuts==5 || $this->fk_c_expensereport_statuts==6) + if ($obj) { - $user_valid = new User($this->db); - $user_valid->fetch($this->fk_user_valid); - $this->user_valid_infos = dolGetFirstLastname($user_valid->firstname, $user_valid->lastname); - } + $this->id = $obj->rowid; + $this->ref = $obj->ref_number; + $this->ref_number = $obj->ref_number; + $this->total_ht = $obj->total_ht; + $this->total_tva = $obj->total_tva; + $this->total_ttc = $obj->total_ttc; + $this->note = $obj->note; + $this->detail_refuse = $obj->detail_refuse; + $this->detail_cancel = $obj->detail_cancel; - if ($this->fk_c_expensereport_statuts==6) + $this->date_debut = $obj->date_debut; + $this->date_fin = $obj->date_fin; + $this->date_paiement = $obj->date_paiement; + $this->date_valide = $obj->date_valide; + $this->date_create = $obj->date_create; + $this->date_refuse = $obj->date_refuse; + $this->date_cancel = $obj->date_cancel; + + $this->fk_user_author = $obj->fk_user_author; + $this->fk_user_validator = $obj->fk_user_validator; + $this->fk_user_valid = $obj->fk_user_valid; + $this->fk_user_paid = $obj->fk_user_paid; + $this->fk_user_refuse = $obj->fk_user_refuse; + $this->fk_user_cancel = $obj->fk_user_cancel; + + $user_author = new User($this->db); + $user_author->fetch($this->fk_user_author); + $this->user_author_infos = dolGetFirstLastname($user_author->firstname, $user_author->lastname); + + $user_approver = new User($this->db); + $user_approver->fetch($this->fk_user_validator); + $this->user_validator_infos = dolGetFirstLastname($user_approver->firstname, $user_approver->lastname); + + $this->fk_c_expensereport_statuts = $obj->status; + $this->status = $obj->status; + $this->fk_c_paiement = $obj->fk_c_paiement; + + if ($this->fk_c_expensereport_statuts==5 || $this->fk_c_expensereport_statuts==6) + { + $user_valid = new User($this->db); + $user_valid->fetch($this->fk_user_valid); + $this->user_valid_infos = dolGetFirstLastname($user_valid->firstname, $user_valid->lastname); + } + + if ($this->fk_c_expensereport_statuts==6) + { + $user_paid = new User($this->db); + $user_paid->fetch($this->fk_user_paid); + $this->user_paid_infos = dolGetFirstLastname($user_paid->firstname, $user_paid->lastname); + } + + $this->libelle_statut = $obj->libelle_statut; + $this->libelle_paiement = $obj->libelle_paiement; + $this->code_statut = $obj->code_statut; + $this->code_paiement = $obj->code_paiement; + + $this->lignes = array(); + + $result=$this->fetch_lines(); + + return 1; + } + else { - $user_paid = new User($this->db); - $user_paid->fetch($this->fk_user_paid); - $this->user_paid_infos = dolGetFirstLastname($user_paid->firstname, $user_paid->lastname); + return 0; } - - $this->libelle_statut = $obj->libelle_statut; - $this->libelle_paiement = $obj->libelle_paiement; - $this->code_statut = $obj->code_statut; - $this->code_paiement = $obj->code_paiement; - - $this->lignes = array(); - - $result=$this->fetch_lines(); - - return 1; } else { - $this->error=$db->error(); + $this->error=$db->lasterror(); return -1; } } @@ -980,7 +986,7 @@ class ExpenseReport extends CommonObject function updateline($rowid, $type_fees_id, $projet_id, $c_tva, $comments, $qty, $value_unit, $date, $expensereport_id) { - if ($this->fk_c_expensereport_statuts==1 || $this->fk_c_expensereport_statuts==99) + if ($this->fk_c_expensereport_statuts==0 || $this->fk_c_expensereport_statuts==99) { $this->db->begin(); diff --git a/htdocs/expensereport/document.php b/htdocs/expensereport/document.php index 65ee2a1bbaa..7c02617c9ad 100644 --- a/htdocs/expensereport/document.php +++ b/htdocs/expensereport/document.php @@ -19,6 +19,7 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see . + * or see http://www.gnu.org/ */ /** diff --git a/htdocs/expensereport/index.php b/htdocs/expensereport/index.php index aae513618db..2ea024fb3b0 100644 --- a/htdocs/expensereport/index.php +++ b/htdocs/expensereport/index.php @@ -16,6 +16,7 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see . + * or see http://www.gnu.org/ */ /** diff --git a/htdocs/expensereport/info.php b/htdocs/expensereport/info.php index 866e67ec04b..0349cfb12e1 100644 --- a/htdocs/expensereport/info.php +++ b/htdocs/expensereport/info.php @@ -14,6 +14,7 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see . + * or see http://www.gnu.org/ */ /** @@ -46,15 +47,15 @@ if ($id) $object = new ExpenseReport($db); $object->fetch($id); $object->info($id); - + $head = trip_prepare_head($object); - + dol_fiche_head($head, 'info', $langs->trans("TripCard"), 0, 'trip'); print '
'.$langs->trans("Statut").''.$object->libelle_statut.''.$object->getLibStatut(4).'
'.$langs->trans("Note").'
'.$langs->trans("VALIDATOR").''; - $userfee=new User($db); - $userfee->fetch($object->fk_user_validator); - print $userfee->getNomUrl(1); + if ($object->fk_user_validator > 0) + { + $userfee=new User($db); + $userfee->fetch($object->fk_user_validator); + print $userfee->getNomUrl(1); + } print '
'.$langs->trans("CANCEL_USER").''; - $userfee=new User($db); - $userfee->fetch($object->fk_user_cancel); - print $userfee->getNomUrl(1); + if ($object->fk_user_cancel > 0) + { + $userfee=new User($db); + $userfee->fetch($object->fk_user_cancel); + print $userfee->getNomUrl(1); + } print '
'.$langs->trans("MOTIF_CANCEL").'
'.$langs->trans("VALIDOR").''; - $userfee=new User($db); - $userfee->fetch($object->fk_user_valid); - print $userfee->getNomUrl(1); + if ($object->fk_user_valid > 0) + { + $userfee=new User($db); + $userfee->fetch($object->fk_user_valid); + print $userfee->getNomUrl(1); + } print '
'.$langs->trans("DATE_VALIDE").'
'.$langs->trans("AUTHOR").''; - $userfee=new User($db); - $userfee->fetch($object->fk_user_author); - print $userfee->getNomUrl(1); + if ($object->fk_user_author > 0) + { + $userfee=new User($db); + $userfee->fetch($object->fk_user_author); + print $userfee->getNomUrl(1); + } print '
'; dol_print_object_info($object); print '
'; - + print '
'; } diff --git a/htdocs/expensereport/list.php b/htdocs/expensereport/list.php index 0d2be8a7c45..b9ec3c8e400 100755 --- a/htdocs/expensereport/list.php +++ b/htdocs/expensereport/list.php @@ -15,8 +15,8 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * along with this program. If not, see . + * or see http://www.gnu.org/ */ /** @@ -81,7 +81,7 @@ $offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; -$sql = "SELECT d.rowid, d.ref_number, d.total_ht, d.total_tva, d.total_ttc, d.fk_c_expensereport_statuts,"; +$sql = "SELECT d.rowid, d.ref_number, d.total_ht, d.total_tva, d.total_ttc, d.fk_c_expensereport_statuts as status,"; $sql.= " d.date_debut, d.date_fin,"; $sql.= " u.rowid as id_user, u.firstname, u.lastname"; $sql.= " FROM ".MAIN_DB_PREFIX."expensereport d\n"; @@ -266,8 +266,11 @@ if ($resql) print ''.price($objp->total_tva).''; print ''.price($objp->total_ttc).''; - $expensereporttmp->status=$objp->statut; - print ''.$expensereporttmp->getLibStatut(5).''; + $expensereporttmp->status=$objp->status; + print ''; + //print $objp->status; + print $expensereporttmp->getLibStatut(5); + print ''; print "\n"; $total_total_ht = $total_total_ht + $objp->total_ht; diff --git a/htdocs/expensereport/synchro_compta.php b/htdocs/expensereport/synchro_compta.php index 3f94da6eb1b..7d427c44fa1 100755 --- a/htdocs/expensereport/synchro_compta.php +++ b/htdocs/expensereport/synchro_compta.php @@ -1,4 +1,20 @@ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * or see http://www.gnu.org/ + */ require '../main.inc.php'; require_once(DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'); From eef1e17c61b845e6cd412b5d11403b0d92db3811 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 15 Feb 2015 19:38:20 +0100 Subject: [PATCH 103/137] Fix: default vat --- htdocs/core/class/html.form.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 7d2851f1b31..8f35a486dbe 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -3755,7 +3755,7 @@ class Form if ($defaulttx < 0 || dol_strlen($defaulttx) == 0) { if (empty($conf->global->MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS)) $defaulttx = $this->cache_vatrates[$num-1]['txtva']; - else $defaulttx=$conf->global->MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS; + else $defaulttx=($conf->global->MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS == 'none' ? '' : $conf->global->MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS); } // Disabled if seller is not subject to VAT From 2a266b3a7e19a2e9f3f6fc3bf7284bf3524cbf77 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 15 Feb 2015 19:47:55 +0100 Subject: [PATCH 104/137] Clean code --- htdocs/expensereport/card.php | 7 +- .../class/expensereport.class.php | 242 +++++++++++++----- 2 files changed, 182 insertions(+), 67 deletions(-) diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index 5b7045fd628..4eabd0ea765 100755 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -1558,7 +1558,12 @@ else // Sélection TVA print ''; - print $form->load_tva('fk_c_tva', (isset($_POST["fk_c_tva"])?$_POST["fk_c_tva"]:-1), $mysoc, ''); + $defaultvat=-1; + if (! empty($conf->global->DEPLACEMENT_NO_DEFAULT_VAT)) $conf->global->MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS = 'none'; + print ''; print ''; // Prix unitaire diff --git a/htdocs/expensereport/class/expensereport.class.php b/htdocs/expensereport/class/expensereport.class.php index f5ff354ffbc..ee8555a6e69 100755 --- a/htdocs/expensereport/class/expensereport.class.php +++ b/htdocs/expensereport/class/expensereport.class.php @@ -397,9 +397,11 @@ class ExpenseReport extends CommonObject /** + * fetch_line_by_project * - * @param unknown_type $projectid - * @param unknown_type $user + * @param int $projectid Project id + * @param User $user User + * @return int <0 if KO, >0 if OK */ function fetch_line_by_project($projectid,$user='') { @@ -500,7 +502,14 @@ class ExpenseReport extends CommonObject } - function recalculer($id){ + /** + * recalculer + * + * @param int $id + * @return int <0 if KO, >0 if OK + */ + function recalculer($id) + { $sql = 'SELECT tt.total_ht, tt.total_ttc, tt.total_tva'; $sql.= ' FROM '.MAIN_DB_PREFIX.$this->table_element_line.' as tt'; $sql.= ' WHERE tt.'.$this->fk_element.' = '.$id; @@ -510,7 +519,8 @@ class ExpenseReport extends CommonObject dol_syslog('ExpenseReport::recalculer sql='.$sql,LOG_DEBUG); $result = $this->db->query($sql); - if($result): + if($result) + { $num = $this->db->num_rows($result); $i = 0; while ($i < $num): @@ -535,13 +545,20 @@ class ExpenseReport extends CommonObject dol_syslog('ExpenseReport::recalculer: Error '.$this->error,LOG_ERR); return -3; endif; - else: + } + else + { $this->error=$this->db->error(); dol_syslog('ExpenseReport::recalculer: Error '.$this->error,LOG_ERR); return -3; - endif; + } } + /** + * fetch_lines + * + * @return int <0 if OK, >0 if KO + */ function fetch_lines() { $sql = ' SELECT de.rowid, de.comments, de.qty, de.value_unit, de.date,'; @@ -602,11 +619,18 @@ class ExpenseReport extends CommonObject } } + + /** + * delete + * + * @param int $rowid Id to delete (optional) + * @return int <0 if KO, >0 if OK + */ function delete($rowid=0) { global $user,$langs,$conf; - if (!$rowid) $rowid=$this->id; + if (! $rowid) $rowid=$this->id; $sql = 'DELETE FROM '.MAIN_DB_PREFIX.$this->table_element_line.' WHERE '.$this->fk_element.' = '.$rowid; if ($this->db->query($sql)) @@ -635,7 +659,14 @@ class ExpenseReport extends CommonObject } } - function set_save($user){ + /** + * set_save + * + * @param User $user User + * @return int <0 if KO, >0 if OK + */ + function set_save($user) + { global $conf,$langs; $expld_car = (empty($conf->global->NDF_EXPLODE_CHAR))?"-":$conf->global->NDF_EXPLODE_CHAR; @@ -655,11 +686,13 @@ class ExpenseReport extends CommonObject $this->date_debut = $expld_date_debut[0].$expld_date_debut[1].$expld_date_debut[2]; // Création du ref_number suivant - if($ref_next): + if($ref_next) + { $this->ref_number = strtoupper($user->login).$expld_car."NDF".$this->ref_number.$expld_car.$this->date_debut; - endif; + } - if ($this->fk_c_expensereport_statuts != 2): + if ($this->fk_c_expensereport_statuts != 2) + { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; $sql.= " SET ref_number = '".$this->ref_number."', fk_c_expensereport_statuts = 2"; $sql.= " ,ref_number_int = $ref_number_int"; @@ -667,21 +700,30 @@ class ExpenseReport extends CommonObject dol_syslog(get_class($this)."::set_save sql=".$sql, LOG_DEBUG); - if ($this->db->query($sql)): + if ($this->db->query($sql)) + { return 1; - else: + } + else + { $this->error=$this->db->error(); return -1; - endif; - - else: - + } + } + else + { dol_syslog(get_class($this)."::set_save expensereport already with save status", LOG_WARNING); - - endif; + } } - function set_save_from_refuse($user){ + /** + * set_to_validate + * + * @param User $user User + * @return int <0 if KO, >0 if OK + */ + function set_save_from_refuse($user) + { global $conf,$langs; // Sélection de la date de début de la NDF @@ -697,31 +739,42 @@ class ExpenseReport extends CommonObject $expld_date_debut = explode("-",$this->date_debut); $this->date_debut = $expld_date_debut[0].$expld_date_debut[1].$expld_date_debut[2]; - if ($this->fk_c_expensereport_statuts != 2): + if ($this->fk_c_expensereport_statuts != 2) + { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; $sql.= " SET fk_c_expensereport_statuts = 2"; $sql.= ' WHERE rowid = '.$this->id; dol_syslog(get_class($this)."::set_save_from_refuse sql=".$sql, LOG_DEBUG); - if ($this->db->query($sql)): + if ($this->db->query($sql)) + { return 1; - else: - $this->error=$this->db->error(); + } + else + { + $this->error=$this->db->lasterror(); return -1; - endif; - - else: - + } + } + else + { dol_syslog(get_class($this)."::set_save_from_refuse expensereport already with save status", LOG_WARNING); - - endif; + } } - function set_valide($user){ + /** + * set_valide + * + * @param User $user User + * @return int <0 if KO, >0 if OK + */ + function set_valide($user) + { // date de validation $this->date_valide = $this->db->idate(gmmktime()); - if ($this->fk_c_expensereport_statuts != 5): + if ($this->fk_c_expensereport_statuts != 5) + { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; $sql.= " SET ref_number = '".$this->ref_number."', fk_c_expensereport_statuts = 5, fk_user_valid = ".$user->id; $sql.= ', date_valide='.$this->date_valide; @@ -735,13 +788,15 @@ class ExpenseReport extends CommonObject $this->error=$this->db->error(); return -1; endif; - else: + } + else + { dol_syslog(get_class($this)."::set_valide expensereport already with valide status", LOG_WARNING); - endif; + } } /** - * Refuse + * set_refuse * * @param User $user User * @param Details $details Details @@ -750,7 +805,8 @@ class ExpenseReport extends CommonObject { // date de refus $this->date_refuse = $this->db->idate(gmmktime()); - if ($this->fk_c_expensereport_statuts != 99): + if ($this->fk_c_expensereport_statuts != 99) + { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; $sql.= " SET ref_number = '".$this->ref_number."', fk_c_expensereport_statuts = 99, fk_user_refuse = ".$user->id; $sql.= ', date_refuse='.$this->date_refuse; @@ -765,14 +821,24 @@ class ExpenseReport extends CommonObject $this->error=$this->db->error(); return -1; endif; - else: + } + else + { dol_syslog(get_class($this)."::set_refuse expensereport already with refuse status", LOG_WARNING); - endif; + } } - function set_paid($user){ + /** + * set_paid + * + * @param User $user User + * @return int <0 if KO, >0 if OK + */ + function set_paid($user) + { $this->date_paiement = $this->db->idate(gmmktime()); - if ($this->fk_c_expensereport_statuts != 6): + if ($this->fk_c_expensereport_statuts != 6) + { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; $sql.= " SET fk_c_expensereport_statuts = 6, fk_user_paid = ".$user->id; $sql.= ', date_paiement='.$this->date_paiement; @@ -780,23 +846,34 @@ class ExpenseReport extends CommonObject dol_syslog(get_class($this)."::set_paid sql=".$sql, LOG_DEBUG); - if ($this->db->query($sql)): + if ($this->db->query($sql)) + { return 1; - else: + } + else + { $this->error=$this->db->error(); return -1; - endif; - else: + } + } + else + { dol_syslog(get_class($this)."::set_paid expensereport already with paid status", LOG_WARNING); - endif; + } } + /** + * set_unpaid + * + * @param User $user User + * @return int <0 if KO, >0 if OK + */ function set_unpaid($user) { - if ($this->fk_c_expensereport_statuts != 5) + if ($this->fk_c_deplacement_statuts != 5) { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; - $sql.= " SET fk_c_expensereport_statuts = 5"; + $sql.= " SET fk_c_deplacement_statuts = 5"; $sql.= ' WHERE rowid = '.$this->id; dol_syslog(get_class($this)."::set_unpaid sql=".$sql, LOG_DEBUG); @@ -810,16 +887,22 @@ class ExpenseReport extends CommonObject } else { - dol_syslog(get_class($this)."::set_unpaid expensereport already with unpaid status", LOG_WARNING); + dol_syslog(get_class($this)."::set_unpaid deplacement already with unpaid status", LOG_WARNING); } } + /** + * set_draft + * + * @param User $user User + * @return int <0 if KO, >0 if OK + */ function set_draft($user) { - if ($this->fk_c_expensereport_statuts != 1) + if ($this->fk_c_deplacement_statuts != 1) { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; - $sql.= " SET fk_c_expensereport_statuts = 1,"; + $sql.= " SET fk_c_deplacement_statuts = 1,"; //$sql.= " , ref_number = '(PROV".$this->id.")', ref_number_int = 0"; $sql.= " ref_number_int = 0"; $sql.= ' WHERE rowid = '.$this->id; @@ -835,53 +918,80 @@ class ExpenseReport extends CommonObject } else { - dol_syslog(get_class($this)."::set_draft expensereport already with draft status", LOG_WARNING); + dol_syslog(get_class($this)."::set_draft deplacement already with draft status", LOG_WARNING); } } + /** + * set_to_validate + * + * @param User $user User + * @return int <0 if KO, >0 if OK + */ function set_to_valide($user) { - if ($this->fk_c_expensereport_statuts != 2): + if ($this->fk_c_expensereport_statuts != 2) + { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; $sql.= " SET fk_c_expensereport_statuts = 2, fk_user_validator = ".$this->fk_user_validator; $sql.= ' WHERE rowid = '.$this->id; dol_syslog(get_class($this)."::set_to_valide sql=".$sql, LOG_DEBUG); - if ($this->db->query($sql)): + if ($this->db->query($sql)) + { return 1; - else: + } + else + { $this->error=$this->db->error(); return -1; - endif; - else: + } + } + else + { dol_syslog(get_class($this)."::set_to_valide expensereport already with to-valide status", LOG_WARNING); - endif; + } } - function set_cancel($user,$detail){ + /** + * set_cancel + * + * @param User $user User + * @param string $detail Detail + * @return int <0 if KO, >0 if OK + */ + function set_cancel($user,$detail) + { $this->date_cancel = $this->db->idate(gmmktime()); - if ($this->fk_c_expensereport_statuts != 4): + if ($this->fk_c_expensereport_statuts != 4) + { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; $sql.= " SET fk_c_expensereport_statuts = 4, fk_user_cancel = ".$user->id; $sql.= ', date_cancel='.$this->date_cancel; - $sql.= " ,detail_cancel='".addslashes($detail)."'"; + $sql.= " ,detail_cancel='".$this->db->escape($detail)."'"; $sql.= ' WHERE rowid = '.$this->id; dol_syslog(get_class($this)."::set_cancel sql=".$sql, LOG_DEBUG); - if ($this->db->query($sql)): + if ($this->db->query($sql)) + { return 1; - else: + } + else + { $this->error=$this->db->error(); return -1; - endif; - else: + } + } + else + { dol_syslog(get_class($this)."::set_cancel expensereport already with cancel status", LOG_WARNING); - endif; + } } - function getNextNumRef(){ + function getNextNumRef() + { global $conf; $expld_car = (empty($conf->global->NDF_EXPLODE_CHAR))?"-":$conf->global->NDF_EXPLODE_CHAR; From 2e0b2fb012de46ebf136df6c42876ecabed4ca06 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 15 Feb 2015 22:49:23 +0100 Subject: [PATCH 105/137] Work on expensereport module --- htdocs/core/class/commonobject.class.php | 3 +- htdocs/core/lib/expensereport.lib.php | 61 +++ htdocs/expensereport/card.php | 415 ++++++++---------- .../class/expensereport.class.php | 224 +++++++--- htdocs/expensereport/document.php | 6 +- htdocs/expensereport/export_csv.php | 6 +- htdocs/expensereport/info.php | 6 +- htdocs/expensereport/list.php | 37 +- htdocs/expensereport/synchro_compta.php | 26 +- htdocs/install/mysql/data/llx_c_type_fees.sql | 2 +- .../install/mysql/migration/3.7.0-3.8.0.sql | 9 +- .../mysql/tables/llx_expensereport.sql | 3 +- .../mysql/tables/llx_expensereport_det.sql | 2 +- htdocs/langs/en_US/projects.lang | 2 +- htdocs/projet/class/project.class.php | 4 + htdocs/projet/element.php | 12 +- 16 files changed, 472 insertions(+), 346 deletions(-) create mode 100644 htdocs/core/lib/expensereport.lib.php diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 6d464cceb29..b4aff6002d0 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -1792,7 +1792,8 @@ abstract class CommonObject if (! $resql) { $error++; - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); + $this->error[]=$this->db->lasterror(); } } diff --git a/htdocs/core/lib/expensereport.lib.php b/htdocs/core/lib/expensereport.lib.php new file mode 100644 index 00000000000..f46e6416ec6 --- /dev/null +++ b/htdocs/core/lib/expensereport.lib.php @@ -0,0 +1,61 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * or see http://www.gnu.org/ + */ + +/** + * \file htdocs/core/lib/expensereport.lib.php + * \brief Functions for module expensereport + */ + +/** + * Prepare array with list of tabs + * + * @param Object $object Object related to tabs + * @return array Array of tabs to show + */ +function expensereport_prepare_head($object) +{ + global $langs, $conf; + + $h = 0; + $head = array(); + + $head[$h][0] = DOL_URL_ROOT . '/expensereport/card.php?id=' . $object->id; + $head[$h][1] = $langs->trans("Card"); + $head[$h][2] = 'card'; + $h++; + + // Show more tabs from modules + // Entries must be declared in modules descriptor with line + // $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab + // $this->tabs = array('entity:-tabname); to remove a tab + complete_head_from_modules($conf,$langs,$object,$head,$h,'expensereport'); + + $head[$h][0] = DOL_URL_ROOT.'/expensereport/document.php?id='.$object->id; + $head[$h][1] = $langs->trans("Documents"); + $head[$h][2] = 'documents'; + $h++; + + $head[$h][0] = DOL_URL_ROOT . '/expensereport/info.php?id=' . $object->id; + $head[$h][1] = $langs->trans("Info"); + $head[$h][2] = 'info'; + $h++; + + complete_head_from_modules($conf,$langs,$object,$head,$h,'expensereport','remove'); + + return $head; +} diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index 4eabd0ea765..b555746c05b 100755 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -29,17 +29,20 @@ require_once(DOL_DOCUMENT_ROOT."/core/class/html.formfile.class.php"); require_once(DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php'); require_once(DOL_DOCUMENT_ROOT."/core/class/html.formmail.class.php"); require_once(DOL_DOCUMENT_ROOT."/core/class/html.formprojet.class.php"); +require_once(DOL_DOCUMENT_ROOT."/projet/class/project.class.php"); require_once(DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'); -require_once(DOL_DOCUMENT_ROOT."/core/lib/trip.lib.php"); +require_once(DOL_DOCUMENT_ROOT."/core/lib/expensereport.lib.php"); dol_include_once('/expensereport/core/modules/expensereport/modules_expensereport.php'); dol_include_once("/expensereport/class/expensereport.class.php"); $langs->load("trips"); $action=GETPOST('action'); +$cancel=GETPOST('cancel'); $date_start = dol_mktime(0, 0, 0, GETPOST('date_debutmonth'), GETPOST('date_debutday'), GETPOST('date_debutyear')); $date_end = dol_mktime(0, 0, 0, GETPOST('date_finmonth'), GETPOST('date_finday'), GETPOST('date_finyear')); - +$date = dol_mktime(0, 0, 0, GETPOST('datemonth'), GETPOST('dateday'), GETPOST('dateyear')); +$fk_projet=GETPOST('fk_projet'); // If socid provided by ajax company selector if (! empty($_REQUEST['socid_id'])) @@ -54,8 +57,6 @@ $id=GETPOST("id",'int'); if ($user->societe_id) $socid=$user->societe_id; $result = restrictedArea($user, 'expensereport', 0, 'expensereport'); -$mesg=""; - // Hack to use expensereport dir $rootfordata = DOL_DATA_ROOT; @@ -74,6 +75,8 @@ $conf->expensereport->dir_output = $rootfordata.'/expensereport'; * Actions */ +if ($cancel) $action=''; + if ($action == 'confirm_delete' && $_GET["confirm"] == "yes" && $id > 0 && $user->rights->expensereport->supprimer) { $object = new ExpenseReport($db); @@ -103,10 +106,12 @@ if ($action == 'add' && $user->rights->expensereport->creer) if ($object->periode_existe($user,dol_print_date($object->date_debut, 'dayrfc'),dol_print_date($object->date_fin, 'dayrfc'))) { + $error++; setEventMessage($langs->trans("ErrorDoubleDeclaration"),'errors'); $action='create'; } - else + + if (! $error) { $db->begin(); @@ -130,7 +135,7 @@ if ($action == 'add' && $user->rights->expensereport->creer) if ($action == 'update' && $user->rights->expensereport->creer) { $object = new ExpenseReport($db); - $object->fetch($_POST['id'],$user); + $object->fetch($id); $object->date_debut = $date_start; $object->date_fin = $date_end; @@ -158,7 +163,7 @@ if ($action == 'update' && $user->rights->expensereport->creer) if ($action == "confirm_save" && GETPOST("confirm") == "yes" && $id > 0 && $user->rights->expensereport->creer) { $object = new ExpenseReport($db); - $object->fetch($id,$user); + $object->fetch($id); $result = $object->set_save($user); if ($result > 0) { @@ -195,8 +200,8 @@ if ($action == "confirm_save" && GETPOST("confirm") == "yes" && $id > 0 && $user if($resultPDF): // ATTACHMENT $filename=array(); $filedir=array(); $mimetype=array(); - array_push($filename,dol_sanitizeFileName($object->ref_number).".pdf"); - array_push($filedir,$conf->expensereport->dir_output . "/" . dol_sanitizeFileName($object->ref_number) . "/" . dol_sanitizeFileName($object->ref_number).".pdf"); + array_push($filename,dol_sanitizeFileName($object->ref).".pdf"); + array_push($filedir,$conf->expensereport->dir_output . "/" . dol_sanitizeFileName($object->ref) . "/" . dol_sanitizeFileName($object->ref).".pdf"); array_push($mimetype,"application/pdf"); // PREPARE SEND @@ -232,7 +237,7 @@ if ($action == "confirm_save" && GETPOST("confirm") == "yes" && $id > 0 && $user if ($action == "confirm_save_from_refuse" && $_GET["confirm"] == "yes" && $id > 0 && $user->rights->expensereport->creer) { $object = new ExpenseReport($db); - $object->fetch($id,$user); + $object->fetch($id); $result = $object->set_save_from_refuse($user); if ($result > 0) { @@ -256,7 +261,7 @@ if ($action == "confirm_save_from_refuse" && $_GET["confirm"] == "yes" && $id > $dateRefusEx = explode(" ",$object->date_refuse); $message = "Bonjour {$destinataire->firstname},\n\n"; - $message.= "Le {$dateRefusEx[0]} à {$dateRefusEx[1]} vous avez refusé d'approuver la note de frais \"{$object->ref_number}\". Vous aviez émis le motif suivant : {$object->detail_refuse}\n\n"; + $message.= "Le {$dateRefusEx[0]} à {$dateRefusEx[1]} vous avez refusé d'approuver la note de frais \"{$object->ref}\". Vous aviez émis le motif suivant : {$object->detail_refuse}\n\n"; $message.= "L'auteur vient de modifier la note de frais, veuillez trouver la nouvelle version en pièce jointe.\n"; $message.= "- Déclarant : {$expediteur->firstname} {$expediteur->lastname}\n"; $message.= "- Période : du {$object->date_debut} au {$object->date_fin}\n"; @@ -270,8 +275,8 @@ if ($action == "confirm_save_from_refuse" && $_GET["confirm"] == "yes" && $id > if($resultPDF): // ATTACHMENT $filename=array(); $filedir=array(); $mimetype=array(); - array_push($filename,dol_sanitizeFileName($object->ref_number).".pdf"); - array_push($filedir,$conf->expensereport->dir_output . "/" . dol_sanitizeFileName($object->ref_number) . "/" . dol_sanitizeFileName($object->ref_number).".pdf"); + array_push($filename,dol_sanitizeFileName($object->ref).".pdf"); + array_push($filedir,$conf->expensereport->dir_output . "/" . dol_sanitizeFileName($object->ref) . "/" . dol_sanitizeFileName($object->ref_number).".pdf"); array_push($mimetype,"application/pdf"); // PREPARE SEND @@ -308,16 +313,13 @@ if ($action == "confirm_save_from_refuse" && $_GET["confirm"] == "yes" && $id > if ($action == "confirm_validate" && GETPOST("confirm") == "yes" && $id > 0 && $user->rights->expensereport->to_validate) { $object = new ExpenseReport($db); - $object->fetch($id,$user); + $object->fetch($id); $result = $object->set_valide($user); if ($result > 0) { if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) { - $object = new ExpenseReport($db); - $object->fetch($id,$user); - // Send mail // TO @@ -338,7 +340,7 @@ if ($action == "confirm_validate" && GETPOST("confirm") == "yes" && $id > 0 && $ // CONTENT $message = "Bonjour {$destinataire->firstname},\n\n"; - $message.= "Votre note de frais \"{$object->ref_number}\" vient d'être approuvé!\n"; + $message.= "Votre note de frais \"{$object->ref}\" vient d'être approuvé!\n"; $message.= "- Approbateur : {$expediteur->firstname} {$expediteur->lastname}\n"; $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; $message.= "Bien cordialement,\n' SI"; @@ -350,12 +352,12 @@ if ($action == "confirm_validate" && GETPOST("confirm") == "yes" && $id > 0 && $ if($resultPDF): // ATTACHMENT $filename=array(); $filedir=array(); $mimetype=array(); - array_push($filename,dol_sanitizeFileName($object->ref_number).".pdf"); + array_push($filename,dol_sanitizeFileName($object->ref).".pdf"); array_push($filedir, $conf->expensereport->dir_output. "/". - dol_sanitizeFileName($object->ref_number) . + dol_sanitizeFileName($object->ref) . "/". - dol_sanitizeFileName($object->ref_number). + dol_sanitizeFileName($object->ref). ".pdf" ); array_push($mimetype,"application/pdf"); @@ -394,16 +396,13 @@ if ($action == "confirm_validate" && GETPOST("confirm") == "yes" && $id > 0 && $ if ($action == "confirm_refuse" && $_POST['confirm']=="yes" && !empty($_POST['detail_refuse']) && $id > 0 && $user->rights->expensereport->to_validate) { $object = new ExpenseReport($db); - $object->fetch($id,$user); + $object->fetch($id); $result = $object->set_refuse($user,$_POST['detail_refuse']); if ($result > 0) { if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) { - $object = new ExpenseReport($db); - $object->fetch($id,$user); - // Send mail // TO @@ -421,7 +420,7 @@ if ($action == "confirm_refuse" && $_POST['confirm']=="yes" && !empty($_POST['de // CONTENT $message = "Bonjour {$destinataire->firstname},\n\n"; - $message.= "Votre note de frais \"{$object->ref_number}\" vient d'être refusée.\n"; + $message.= "Votre note de frais \"{$object->ref}\" vient d'être refusée.\n"; $message.= "- Refuseur : {$expediteur->firstname} {$expediteur->lastname}\n"; $message.= "- Motif de refus : {$_POST['detail_refuse']}\n"; $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; @@ -458,7 +457,8 @@ if ($action == "confirm_refuse" && $_POST['confirm']=="yes" && !empty($_POST['de if ($action == "confirm_cancel" && GETPOST('confirm')=="yes" && !empty($_POST['detail_cancel']) && $id > 0 && $user->rights->expensereport->to_validate) { $object = new ExpenseReport($db); - $object->fetch($id,$user); + $object->fetch($id); + if($user->id == $object->fk_user_validator) { $result = $object->set_cancel($user,$_POST['detail_cancel']); @@ -467,8 +467,6 @@ if ($action == "confirm_cancel" && GETPOST('confirm')=="yes" && !empty($_POST['d { if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) { - $object = new ExpenseReport($db); - $object->fetch($id,$user); // Send mail @@ -487,7 +485,7 @@ if ($action == "confirm_cancel" && GETPOST('confirm')=="yes" && !empty($_POST['d // CONTENT $message = "Bonjour {$destinataire->firstname},\n\n"; - $message.= "Votre note de frais \"{$object->ref_number}\" vient d'être annulée.\n"; + $message.= "Votre note de frais \"{$object->ref}\" vient d'être annulée.\n"; $message.= "- Annuleur : {$expediteur->firstname} {$expediteur->lastname}\n"; $message.= "- Motif d'annulation : {$_POST['detail_cancel']}\n"; $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; @@ -532,14 +530,12 @@ if ($action == "confirm_paid" && $_GET['confirm']=="yes" && $id > 0 && $user->ri { $object = new ExpenseReport($db); $object->fetch($id,$user); + $result = $object->set_paid($user); if ($result > 0) { if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) { - $object = new ExpenseReport($db); - $object->fetch($id,$user); - // Send mail // TO @@ -557,7 +553,7 @@ if ($action == "confirm_paid" && $_GET['confirm']=="yes" && $id > 0 && $user->ri // CONTENT $message = "Bonjour {$destinataire->firstname},\n\n"; - $message.= "Votre note de frais \"{$object->ref_number}\" vient d'être payée.\n"; + $message.= "Votre note de frais \"{$object->ref}\" vient d'être payée.\n"; $message.= "- Payeur : {$expediteur->firstname} {$expediteur->lastname}\n"; $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; $message.= "Bien cordialement,\n' SI"; @@ -579,13 +575,13 @@ if ($action == "confirm_paid" && $_GET['confirm']=="yes" && $id > 0 && $user->ri $idAccount = 1; $object = new ExpenseReport($db); - $object->fetch($idTrip,$user); + $object->fetch($idTrip); $datePaiement = explode("-",$object->date_paiement); $dateop = dol_mktime(12,0,0,$datePaiement[1],$datePaiement[2],$datePaiement[0]); $operation = $object->code_paiement; - $label = "Règlement ".$object->ref_number; + $label = "Règlement ".$object->ref; $amount = - price2num($object->total_ttc); $num_chq = ''; $cat1 = ''; @@ -629,7 +625,7 @@ if ($action == "confirm_paid" && $_GET['confirm']=="yes" && $id > 0 && $user->ri if ($action == "confirm_brouillonner" && $_GET['confirm']=="yes" && $id > 0 && $user->rights->expensereport->creer) { $object = new ExpenseReport($db); - $object->fetch($id,$user); + $object->fetch($id); if($user->id == $object->fk_user_author OR $user->id == $object->fk_user_validator) { $result = $object->set_draft($user); @@ -651,133 +647,107 @@ if ($action == "confirm_brouillonner" && $_GET['confirm']=="yes" && $id > 0 && $ if ($action == "addline") { + $error = 0; + $db->begin(); - $object_ligne = new ExpenseReportLigne($db); + $object_ligne = new ExpenseReportLine($db); - $object_ligne->comments = empty($_POST['comments'])?"Aucun commentaire.":$_POST['comments']; + $object_ligne->comments = GETPOST('comments'); $object_ligne->qty = empty($_POST['qty'])?1:$_POST['qty']; - // Convertion de "," en "." dans le nombre entré dans le champ - if(preg_match("#,#",$_POST['value_unit'])) - { - $object_ligne->value_unit = preg_replace("#,#",".",$_POST['value_unit']); - } - else - { - $object_ligne->value_unit = $_POST['value_unit']; - } + $object_ligne->value_unit = price2num(GETPOST('value_unit')); + $object_ligne->value_unit = price2num($object_ligne->value_unit,'MU'); - $object_ligne->value_unit = number_format($object_ligne->value_unit,3,'.',''); + $object_ligne->date = $date; - $date = explode("/",$_POST['date']); - $object_ligne->date = $date[2]."-".$date[1]."-".$date[0]; + $object_ligne->fk_c_type_fees = GETPOST('fk_c_type_fees'); - $object_ligne->fk_c_type_fees = empty($_POST['fk_c_type_fees'])?1:$_POST['fk_c_type_fees']; - - // Get tax id from rate - $tva_tx=GETPOST('fk_c_tva'); - $sql = "SELECT t.rowid, t.localtax1, t.localtax2, t.localtax1_type, t.localtax2_type"; - $sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_country as p"; - $sql .= " WHERE t.fk_pays = p.rowid AND p.code = '".$mysoc->country_code."'"; - $sql .= " AND t.taux = ".$db->escape($tva_tx)." AND t.active = 1"; - - dol_syslog("get_localtax sql=".$sql); - $resql=$db->query($sql); - if ($resql) - { - $obj = $db->fetch_object($resql); - $tva=$obj->rowid; - } - else dol_print_error($db); - - // Force la TVA à 0% lorsque c'est du transport - if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) - { - if ($object_ligne->fk_c_type_fees==10) - { - $tva = 15; // TODO A virer le hardcoding - } - } + $tva=GETPOST('vatrate'); $object_ligne->fk_c_tva = $tva; - $object_ligne->fk_projet = $_POST['fk_projet']; + $object_ligne->fk_projet = $fk_projet; - // Tests des données rentrées - $error = false; + if (! GETPOST('fk_c_type_fees') > 0) + { + $error++; + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Type")),'errors'); + $action=''; + } + if (GETPOST('vatrate') < 0 || GETPOST('vatrate') == '') + { + $error++; + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Vat")),'errors'); + $action=''; + } // Si aucun projet n'est défini - if (empty($object_ligne->fk_projet) || $object_ligne->fk_projet==-1) + if ($conf->projet->enabled) { - $error = true; - $text_error[] = "NO_PROJECT"; + if (empty($object_ligne->fk_projet) || $object_ligne->fk_projet==-1) + { + $error++; + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Project")), 'errors'); + } } // Si aucune date n'est rentrée - if($object_ligne->date=="--"): - $error = true; - $text_error[] = "NO_DATE"; - endif; + if (empty($object_ligne->date) || $object_ligne->date=="--") + { + $error++; + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Date")), 'errors'); + } // Si aucun prix n'est rentré - if($object_ligne->value_unit==0): - $error = true; - $text_error[] = "NO_PRICE"; - endif; + if($object_ligne->value_unit==0) + { + $error++; + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("UP")), 'errors'); + } // S'il y'a eu au moins une erreur - if($error) - { - $mesg = implode(",",$text_error); - Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$_POST['fk_expensereport']."&mesg=$mesg"); - exit; - } - else + if (! $error) { $object_ligne->fk_expensereport = $_POST['fk_expensereport']; - $object_ligne->fetch_taux($object_ligne->fk_c_tva); - // Calculs des totos $object_ligne->total_ttc = $object_ligne->value_unit * $object_ligne->qty; - $object_ligne->total_ttc = number_format($object_ligne->total_ttc,2,'.',''); + $object_ligne->total_ttc = price2num($object_ligne->total_ttc,'MT'); - $tx_tva = $object_ligne->tva_taux/100; + $object_ligne->tva_taux = GETPOST('vatrate'); + + $tx_tva = $object_ligne->tva_taux / 100; $tx_tva = $tx_tva + 1; $object_ligne->total_ht = $object_ligne->total_ttc / $tx_tva; $object_ligne->total_ht = price2num($object_ligne->total_ht,'MT'); $object_ligne->total_tva = $object_ligne->total_ttc - $object_ligne->total_ht; - // Fin calculs des totos $result = $object_ligne->insert(); if ($result > 0) { - $object = new ExpenseReport($db); - $object->fetch($_POST['fk_expensereport'],$user); - $object->update_totaux_add($object_ligne->total_ht,$object_ligne->total_tva); - $db->commit(); - Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$_POST['fk_expensereport']); + header("Location: ".$_SERVER["PHP_SELF"]."?id=".$_GET['id']); exit; } else { dol_print_error($db,$object->error); $db->rollback(); - exit; } } + + $action=''; } if ($action == 'confirm_delete_line' && $_POST["confirm"] == "yes") { $object = new ExpenseReport($db); - $object->fetch($_GET["id"],$user); + $object->fetch($id); - $object_ligne = new ExpenseReportLigne($db); + $object_ligne = new ExpenseReportLine($db); $object_ligne->fetch($_GET["rowid"]); $total_ht = $object_ligne->total_ht; $total_tva = $object_ligne->total_tva; @@ -798,60 +768,43 @@ if ($action == 'confirm_delete_line' && $_POST["confirm"] == "yes") if ($action == "updateligne" ) { $object = new ExpenseReport($db); - - $object_id = GETPOST('id','int'); - $object->fetch($object_id,$user); + $object->fetch($id); $rowid = $_POST['rowid']; - $type_fees_id = empty($_POST['fk_c_type_fees'])?1:$_POST['fk_c_type_fees']; - - // Get tax id from rate - $tva_tx=GETPOST('fk_c_tva'); - $sql = "SELECT t.rowid, t.localtax1, t.localtax2, t.localtax1_type, t.localtax2_type"; - $sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_country as p"; - $sql .= " WHERE t.fk_pays = p.rowid AND p.code = '".$mysoc->country_code."'"; - $sql .= " AND t.taux = ".$db->escape($tva_tx)." AND t.active = 1"; - - dol_syslog("get_localtax sql=".$sql); - $resql=$db->query($sql); - if ($resql) - { - $obj = $db->fetch_object($resql); - $c_tva=$obj->rowid; - } - else dol_print_error($db); - - // Force la TVA à 0% lorsque c'est du transport - if ($type_fees_id==10) - { - $c_tva = 15; - } - + $type_fees_id = GETPOST('fk_c_type_fees'); + $c_tva=GETPOST('vatrate'); $object_ligne->fk_c_tva = $c_tva; - $projet_id = $_POST['fk_projet']; - $comments = $_POST['comments']; - $qty = $_POST['qty']; + $projet_id = $fk_projet; + $comments = GETPOST('comments'); + $qty = GETPOST('qty'); + $value_unit = GETPOST('value_unit'); - // Convertion de "," en "." dans le nombre entré dans le champ - if(preg_match("#,#",$_POST['value_unit'])): - $value_unit = preg_replace("#,#",".",$_POST['value_unit']); - else: - $value_unit = $_POST['value_unit']; - endif; - - $date = explode("/",$_POST['date']); - $date = $date[2]."-".$date[1]."-".$date[0]; - - $result = $object->updateline($rowid, $type_fees_id, $projet_id, $c_tva, $comments, $qty, $value_unit, $date, $object_id); - if ($result >= 0) + if (! GETPOST('fk_c_type_fees') > 0) { - $object->recalculer($object_id); - header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object_id); - exit; + $error++; + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Type")),'errors'); + $action=''; } - else + if (GETPOST('vatrate') < 0 || GETPOST('vatrate') == '') { - setEventMessages($object->error, $object->errors, 'errors'); + $error++; + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Vat")),'errors'); + $action=''; + } + + if (! $error) + { + $result = $object->updateline($rowid, $type_fees_id, $projet_id, $c_tva, $comments, $qty, $value_unit, $date, $object_id); + if ($result >= 0) + { + $object->recalculer($object_id); + header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object_id); + exit; + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } } } @@ -876,7 +829,7 @@ if ($action == "recalc" && $id > 0) if ($action == 'builddoc') // En get ou en post { $depl = new ExpenseReport($db, 0, $_GET['id']); - $depl->fetch($_GET['id'],$user); + $depl->fetch($id); if ($_REQUEST['model']) { @@ -929,10 +882,10 @@ else if ($action == 'remove_file') llxHeader('', $langs->trans("ExpenseReport")); -$html = new Form($db); -$formfile = new FormFile($db); $form = new Form($db); +$formfile = new FormFile($db); $formproject = new FormProjets($db); +$projecttmp = new Project($db); if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) { @@ -976,13 +929,13 @@ if ($action == 'create') print ''; print ''.$langs->trans("DateStart").''; print ''; - $html->select_date($date_start?$date_start:-1,'date_debut',0,0,0,'',1,1); + $form->select_date($date_start?$date_start:-1,'date_debut',0,0,0,'',1,1); print ''; print ''; print ''; print ''.$langs->trans("DateEnd").''; print ''; - $html->select_date($date_end?$date_end:-1,'date_fin',0,0,0,'',1,1); + $form->select_date($date_end?$date_end:-1,'date_fin',0,0,0,'',1,1); print ''; print ''; print ''; @@ -990,8 +943,8 @@ if ($action == 'create') print ''; $object = new ExpenseReport($db); $include_users = $object->fetch_users_approver_expensereport(); - $s=$html->select_dolusers((GETPOST('fk_user_validator')?GETPOST('fk_user_validator'):$conf->global->EXPENSEREPORT_DEFAULT_VALIDATOR), "fk_user_validator", 1, "", 0, $include_users); - print $html->textwithpicto($s, $langs->trans("AnyOtherInThisListCanValidate")); + $s=$form->select_dolusers((GETPOST('fk_user_validator')?GETPOST('fk_user_validator'):$conf->global->EXPENSEREPORT_DEFAULT_VALIDATOR), "fk_user_validator", 1, "", 0, $include_users); + print $form->textwithpicto($s, $langs->trans("AnyOtherInThisListCanValidate")); print ''; print ''; if (! empty($conf->global->EXPENSEREPORT_ASK_PAYMENTMODE_ON_CREATION)) @@ -999,7 +952,7 @@ if ($action == 'create') print ''; print ''.$langs->trans("ModePaiement").''; print ''; - $html->select_types_paiements(2,'fk_c_paiement'); + $form->select_types_paiements(2,'fk_c_paiement'); print ''; print ''; } @@ -1026,9 +979,9 @@ else if($id > 0) { $object = new ExpenseReport($db); - $result = $object->fetch($id,$user); + $result = $object->fetch($id); - if ($result) + if ($result > 0) { if ($object->fk_user_author != $user->id) { @@ -1048,19 +1001,20 @@ else } } - //$head = trip_prepare_head($object); - + $head = expensereport_prepare_head($object); + /* $head[0][0] = $_SERVER['PHP_SELF'].'?id='.$object->id; $head[0][1] = $langs->trans('Card'); $head[0][2] = 'card'; - $h++; - - dol_fiche_head($head, 'card', $langs->trans("TripCard"), 0, 'trip'); + $h++;*/ if ($action == 'edit' && ($object->fk_c_expensereport_statuts < 3 || $object->fk_c_expensereport_statuts==99)) { print "
\n"; print ''; + print ''; + + dol_fiche_head($head, 'card', $langs->trans("TripCard"), 0, 'trip'); if($object->fk_c_expensereport_statuts==99) { @@ -1071,7 +1025,6 @@ else print ''; } - print ''; print ''; @@ -1086,13 +1039,13 @@ else print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; @@ -1101,7 +1054,7 @@ else print ''; print ''; print ''; print ''; } @@ -1112,8 +1065,8 @@ else print ''; print ''; print ''; } @@ -1149,67 +1102,69 @@ else print ''; print ''; print ''; print ''; print '
'.$langs->trans("DateStart").''; - $html->select_date($object->date_debut,'date_debut'); + $form->select_date($object->date_debut,'date_debut'); print '
'.$langs->trans("DateEnd").''; - $html->select_date($object->date_fin,'date_fin'); + $form->select_date($object->date_fin,'date_fin'); print '
'.$langs->trans("ModePaiement").''; - $html->select_types_paiements($object->fk_c_paiement,'fk_c_paiement'); + $form->select_types_paiements($object->fk_c_paiement,'fk_c_paiement'); print '
'.$langs->trans("VALIDATOR").''; $include_users = $object->fetch_users_approver_expensereport(); - $s=$html->select_dolusers($object->fk_user_validator,"fk_user_validator",0,"",0,$include_users); - print $html->textwithpicto($s, $langs->trans("AnyOtherInThisListCanValidate")); + $s=$form->select_dolusers($object->fk_user_validator,"fk_user_validator",0,"",0,$include_users); + print $form->textwithpicto($s, $langs->trans("AnyOtherInThisListCanValidate")); print '
'.$langs->trans("Note").''; - print ''; + print ''; print '
'; - print '
'; + dol_fiche_end(); + + print '
'; print '     '; - print ''; + print ''; print '
'; print ''; - } else { + dol_fiche_head($head, 'card', $langs->trans("TripCard"), 0, 'trip'); if ($action == 'save'): - $ret=$html->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("SaveTrip"),$langs->trans("ConfirmSaveTrip"),"confirm_save","","",1); + $ret=$form->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("SaveTrip"),$langs->trans("ConfirmSaveTrip"),"confirm_save","","",1); if ($ret == 'html') print '
'; endif; if ($action == 'save_from_refuse'): - $ret=$html->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("SaveTrip"),$langs->trans("ConfirmSaveTrip"),"confirm_save_from_refuse","","",1); + $ret=$form->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("SaveTrip"),$langs->trans("ConfirmSaveTrip"),"confirm_save_from_refuse","","",1); if ($ret == 'html') print '
'; endif; if ($action == 'delete'): - $ret=$html->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("DeleteTrip"),$langs->trans("ConfirmDeleteTrip"),"confirm_delete","","",1); + $ret=$form->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("DeleteTrip"),$langs->trans("ConfirmDeleteTrip"),"confirm_delete","","",1); if ($ret == 'html') print '
'; endif; if ($action == 'validate'): - $ret=$html->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("ValideTrip"),$langs->trans("ConfirmValideTrip"),"confirm_validate","","",1); + $ret=$form->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("ValideTrip"),$langs->trans("ConfirmValideTrip"),"confirm_validate","","",1); if ($ret == 'html') print '
'; endif; if ($action == 'paid'): - $ret=$html->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("PaidTrip"),$langs->trans("ConfirmPaidTrip"),"confirm_paid","","",1); + $ret=$form->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("PaidTrip"),$langs->trans("ConfirmPaidTrip"),"confirm_paid","","",1); if ($ret == 'html') print '
'; endif; if ($action == 'cancel'): $array_input = array(array('type'=>"text",'label'=>"Entrez ci-dessous un motif d'annulation :",'name'=>"detail_cancel",'size'=>"50",'value'=>"")); - $ret=$html->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("ConfirmCancelTrip"),"","confirm_cancel",$array_input,"",0); + $ret=$form->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("ConfirmCancelTrip"),"","confirm_cancel",$array_input,"",0); if ($ret == 'html') print '
'; endif; if ($action == 'brouillonner'): - $ret=$html->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("BrouillonnerTrip"),$langs->trans("ConfirmBrouillonnerTrip"),"confirm_brouillonner","","",1); + $ret=$form->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("BrouillonnerTrip"),$langs->trans("ConfirmBrouillonnerTrip"),"confirm_brouillonner","","",1); if ($ret == 'html') print '
'; endif; if ($action == 'refuse'): $array_input = array(array('type'=>"text",'label'=>"Entrez ci-dessous un motif de refus :",'name'=>"detail_refuse",'size'=>"50",'value'=>"")); - $ret=$html->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("ConfirmRefuseTrip"),"","confirm_refuse",$array_input,"yes",0); + $ret=$form->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("ConfirmRefuseTrip"),"","confirm_refuse",$array_input,"yes",0); if ($ret == 'html') print '
'; endif; if ($action == 'delete_line') { - $ret=$html->form_confirm($_SEVER["PHP_SELF"]."?id=".$_GET['id']."&rowid=".$_GET['rowid'],$langs->trans("DeleteLine"),$langs->trans("ConfirmDeleteLine"),"confirm_delete_line"); + $ret=$form->form_confirm($_SEVER["PHP_SELF"]."?id=".$_GET['id']."&rowid=".$_GET['rowid'],$langs->trans("DeleteLine"),$langs->trans("ConfirmDeleteLine"),"confirm_delete_line"); if ($ret == 'html') print '
'; } @@ -1219,11 +1174,11 @@ else // Ref print ''.$langs->trans("Ref").''; - print $form->showrefnav($object, 'id', $linkback, 1, 'rowid', 'ref', ''); + print $form->showrefnav($object, 'id', $linkback, 1, 'ref', 'ref', ''); print ''; print ''; - print ''.$langs->trans("Periode").''; + print ''.$langs->trans("Period").''; print ''; print get_date_range($object->date_debut,$object->date_fin,'',$langs,0); print ''; @@ -1313,9 +1268,10 @@ else print ''; if ($object->fk_user_author > 0) { - $userfee=new User($db); - $userfee->fetch($object->fk_user_author); - print $userfee->getNomUrl(1); + $userauthor=new User($db); + $result=$userauthor->fetch($object->fk_user_author); + if ($result < 0) dol_print_error('',$userauthor->error); + print $userauthor->getNomUrl(1); } print ''; @@ -1387,7 +1343,7 @@ else print ''; print ''; - if ($action != 'editline') print ''; + if ($action != 'editline') print ''; print ''; print ''; print ''; @@ -1418,17 +1374,21 @@ else { print ''; print ''; print ''; - print ''; + print ''; print ''; print ''; print ''; print ''; print ''; - print ''; - print ''; + print ''; + print ''; // Ajout des boutons de modification/suppression if($object->fk_c_expensereport_statuts<2 OR $object->fk_c_expensereport_statuts==99) @@ -1452,7 +1412,7 @@ else print ''; // Sélection date print ''; // Sélection projet @@ -1512,12 +1472,13 @@ else } //print ''; - // Ajouter une ligne + // Add a line if (($object->fk_c_expensereport_statuts==0 || $object->fk_c_expensereport_statuts==99) && $action != 'editline') { print_fiche_titre($langs->trans("AddLine"),'',''); print ''; + print ''; print ''; print ''; @@ -1528,7 +1489,7 @@ else print ''; print ''; print ''; - print ''; + print ''; print ''; print ''; print ''; @@ -1537,43 +1498,42 @@ else // Sélection date print ''; // Sélection projet print ''; // Sélection type print ''; // Add comments print ''; // Sélection TVA print ''; // Prix unitaire print ''; // Quantité print ''; print ''; @@ -1589,9 +1549,10 @@ else { dol_print_error($db); } - } // end edit or not edit - dol_fiche_end(); + dol_fiche_end(); + + } // end edit or not edit } // end of if result else @@ -1614,22 +1575,26 @@ print '
'; if ($action != 'create' && $action != 'edit') { $object = new ExpenseReport($db); - $object->fetch($id,$user); + $object->fetch($id); + /* Si l'état est "Brouillon" * ET user à droit "creer/supprimer" * ET fk_user_author == user courant * Afficher : "Enregistrer" / "Modifier" / "Supprimer" */ - if ($user->rights->expensereport->creer AND $object->fk_c_expensereport_statuts==0) + if ($user->rights->expensereport->creer && $object->fk_c_expensereport_statuts==0) { if ($object->fk_user_author == $user->id) { // Modifier print ''.$langs->trans('ModifyInfoGen').''; - // Enregistrer - print ''.$langs->trans('Validate').''; + // Validate + if (count($object->lines) > 0 || count($object->lignes) > 0) + { + print ''.$langs->trans('Validate').''; + } if ($user->rights->expensereport->supprimer) { @@ -1694,13 +1659,13 @@ if ($action != 'create' && $action != 'edit') // Valider print ''.$langs->trans('Approve').''; // Refuser - print ''.$langs->trans('REFUSE').''; + print ''.$langs->trans('Refuse').''; //} if ($object->fk_user_author==$user->id) { // Annuler - print ''.$langs->trans('CANCEL').''; + print ''.$langs->trans('Cancel').''; } if($user->rights->expensereport->supprimer) @@ -1777,8 +1742,8 @@ print '
'; */ if($user->rights->expensereport->export && $object->fk_c_expensereport_statuts>0 && $action != 'edit') { - $filename = dol_sanitizeFileName($object->ref_number); - $filedir = $conf->expensereport->dir_output . "/" . dol_sanitizeFileName($object->ref_number); + $filename = dol_sanitizeFileName($object->ref); + $filedir = $conf->expensereport->dir_output . "/" . dol_sanitizeFileName($object->ref); $urlsource = $_SERVER["PHP_SELF"]."?id=".$object->id; $genallowed = 1; $delallowed = 1; diff --git a/htdocs/expensereport/class/expensereport.class.php b/htdocs/expensereport/class/expensereport.class.php index ee8555a6e69..c357807f315 100755 --- a/htdocs/expensereport/class/expensereport.class.php +++ b/htdocs/expensereport/class/expensereport.class.php @@ -14,7 +14,7 @@ class ExpenseReport extends CommonObject var $fk_element = 'fk_expensereport'; var $id; - var $ref_number; + var $ref; var $lignes=array(); var $total_ht; var $total_tva; @@ -94,11 +94,11 @@ class ExpenseReport extends CommonObject $this->statuts_short[6]='Paid'; $this->statuts_short[99]='Refused'; $this->statuts_logo[0]='statut0'; - $this->statuts_logo[2]='statut4'; - $this->statuts_logo[4]='statut3'; - $this->statuts_logo[5]='statut5'; + $this->statuts_logo[2]='statut1'; + $this->statuts_logo[4]='statut5'; + $this->statuts_logo[5]='statut3'; $this->statuts_logo[6]='statut6'; - $this->statuts_logo[99]='statutx'; + $this->statuts_logo[99]='statut8'; return 1; } @@ -118,7 +118,7 @@ class ExpenseReport extends CommonObject $this->db->begin(); $sql = "INSERT INTO ".MAIN_DB_PREFIX.$this->table_element." ("; - $sql.= "ref_number"; + $sql.= "ref"; $sql.= ",total_ht"; $sql.= ",total_ttc"; $sql.= ",total_tva"; @@ -150,16 +150,16 @@ class ExpenseReport extends CommonObject if ($result) { $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.$this->table_element); - $this->ref_number='(PROV'.$this->id.')'; + $this->ref='(PROV'.$this->id.')'; - $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element." SET ref_number='".$this->ref_number."' WHERE rowid=".$this->id; + $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element." SET ref='".$this->ref."' WHERE rowid=".$this->id; dol_syslog(get_class($this)."::create sql=".$sql); $resql=$this->db->query($sql); if (!$resql) $error++; foreach ($this->lignes as $i => $val) { - $newndfline=new ExpenseReportLigne($this->db); + $newndfline=new ExpenseReportLine($this->db); $newndfline=$this->lignes[$i]; $newndfline->fk_expensereport=$this->id; if ($result >= 0) @@ -217,13 +217,13 @@ class ExpenseReport extends CommonObject $sql.= " total_ht = ".$this->total_ht; $sql.= " , total_ttc = ".$this->total_ttc; $sql.= " , total_tva = ".$this->total_tva; - $sql.= " , date_debut = '".$this->date_debut."'"; - $sql.= " , date_fin = '".$this->date_fin."'"; + $sql.= " , date_debut = '".$this->db->idate($this->date_debut)."'"; + $sql.= " , date_fin = '".$this->db->idate($this->date_fin)."'"; $sql.= " , fk_user_author = ".($user->id > 0 ? "'".$user->id."'":"null"); $sql.= " , fk_user_validator = ".($this->fk_user_validator > 0 ? $this->fk_user_validator:"null"); $sql.= " , fk_user_valid = ".($this->fk_user_valid > 0 ? $this->fk_user_valid:"null"); $sql.= " , fk_user_paid = ".($this->fk_user_paid > 0 ? $this->fk_user_paid:"null"); - $sql.= " , fk_c_expensereport_statuts = ".($this->fk_c_expensereport_statuts > 0 ? $this->fk_c_expensereport_statuts:"null"); + $sql.= " , fk_c_expensereport_statuts = ".($this->fk_c_expensereport_statuts >= 0 ? $this->fk_c_expensereport_statuts:'0'); $sql.= " , fk_c_paiement = ".($this->fk_c_paiement > 0 ? $this->fk_c_paiement:"null"); $sql.= " , note = ".(!empty($this->note)?"'".$this->db->escape($this->note)."'":"''"); $sql.= " , detail_refuse = ".(!empty($this->detail_refuse)?"'".$this->db->escape($this->detail_refuse)."'":"''"); @@ -246,19 +246,14 @@ class ExpenseReport extends CommonObject * Load an object from database * * @param int $id Id - * @param User $user User we want expense report for + * @param string $ref Ref + * @return int <0 if KO, >0 if OK */ - function fetch($id,$user='') + function fetch($id, $ref='') { global $conf,$db; - if (!$user->rights->expensereport->lire): - $restrict = " AND fk_user_author = ".$user->id; - else: - $restrict = ""; - endif; - - $sql = "SELECT d.rowid, d.ref_number, d.note,"; // DEFAULT + $sql = "SELECT d.rowid, d.ref, d.note,"; // DEFAULT $sql.= " d.detail_refuse, d.detail_cancel, d.fk_user_refuse, d.fk_user_cancel,"; // ACTIONS $sql.= " d.date_refuse, d.date_cancel,"; // ACTIONS $sql.= " d.total_ht, d.total_ttc, d.total_tva,"; // TOTAUX (int) @@ -267,7 +262,8 @@ class ExpenseReport extends CommonObject $sql.= " d.fk_user_valid, d.fk_user_paid,"; // FOREING KEY 2 (int) $sql.= " dp.libelle as libelle_paiement, dp.code as code_paiement"; // INNER JOIN paiement $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element." d LEFT JOIN ".MAIN_DB_PREFIX."c_paiement dp ON d.fk_c_paiement = dp.id"; - $sql.= " WHERE d.rowid = ".$id; + if ($ref) $sql.= " WHERE d.ref = '".$this->db->escape($ref)."'"; + else $sql.= " WHERE d.rowid = ".$id; $sql.= $restrict; dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG); @@ -278,8 +274,7 @@ class ExpenseReport extends CommonObject if ($obj) { $this->id = $obj->rowid; - $this->ref = $obj->ref_number; - $this->ref_number = $obj->ref_number; + $this->ref = $obj->ref; $this->total_ht = $obj->total_ht; $this->total_tva = $obj->total_tva; $this->total_ttc = $obj->total_ttc; @@ -303,11 +298,12 @@ class ExpenseReport extends CommonObject $this->fk_user_cancel = $obj->fk_user_cancel; $user_author = new User($this->db); - $user_author->fetch($this->fk_user_author); + if ($this->fk_user_author > 0) $user_author->fetch($this->fk_user_author); + $this->user_author_infos = dolGetFirstLastname($user_author->firstname, $user_author->lastname); $user_approver = new User($this->db); - $user_approver->fetch($this->fk_user_validator); + if ($this->fk_user_validator > 0) $user_approver->fetch($this->fk_user_validator); $this->user_validator_infos = dolGetFirstLastname($user_approver->firstname, $user_approver->lastname); $this->fk_c_expensereport_statuts = $obj->status; @@ -317,14 +313,14 @@ class ExpenseReport extends CommonObject if ($this->fk_c_expensereport_statuts==5 || $this->fk_c_expensereport_statuts==6) { $user_valid = new User($this->db); - $user_valid->fetch($this->fk_user_valid); + if ($this->fk_user_valid > 0) $user_valid->fetch($this->fk_user_valid); $this->user_valid_infos = dolGetFirstLastname($user_valid->firstname, $user_valid->lastname); } if ($this->fk_c_expensereport_statuts==6) { $user_paid = new User($this->db); - $user_paid->fetch($this->fk_user_paid); + if ($this->fk_user_paid > 0) $user_paid->fetch($this->fk_user_paid); $this->user_paid_infos = dolGetFirstLastname($user_paid->firstname, $user_paid->lastname); } @@ -395,6 +391,66 @@ class ExpenseReport extends CommonObject } + /** + * Load information on object + * + * @param int $id Id of object + * @return void + */ + function info($id) + { + global $conf; + + $sql = "SELECT f.rowid,"; + $sql.= " f.date_create as datec,"; + $sql.= " f.tms as date_modification,"; + $sql.= " f.date_valide as datev,"; + $sql.= " f.fk_user_author,"; + $sql.= " f.fk_user_modif as fk_user_modification,"; + $sql.= " f.fk_user_validator"; + $sql.= " FROM ".MAIN_DB_PREFIX."expensereport as f"; + $sql.= " WHERE f.rowid = ".$id; + $sql.= " AND f.entity = ".$conf->entity; + + $resql = $this->db->query($sql); + if ($resql) + { + if ($this->db->num_rows($resql)) + { + $obj = $this->db->fetch_object($resql); + + $this->id = $obj->rowid; + + $this->date_creation = $this->db->jdate($obj->datec); + $this->date_modification = $this->db->jdate($obj->date_modification); + $this->date_validation = $this->db->jdate($obj->datev); + + $cuser = new User($this->db); + $cuser->fetch($obj->fk_user_author); + $this->user_creation = $cuser; + + if ($obj->fk_user_valid) + { + $vuser = new User($this->db); + $vuser->fetch($obj->fk_user_valid); + $this->user_validation = $vuser; + } + if ($obj->fk_user_modification) + { + $muser = new User($this->db); + $muser->fetch($obj->fk_user_modification); + $this->user_modification = $muser; + } + + } + $this->db->free($resql); + } + else + { + dol_print_error($this->db); + } + } + /** * fetch_line_by_project @@ -429,7 +485,7 @@ class ExpenseReport extends CommonObject $objp = $db->fetch_object($result); - $sql2 = "SELECT d.rowid, d.fk_user_author, d.ref_number, d.fk_c_expensereport_statuts"; + $sql2 = "SELECT d.rowid, d.fk_user_author, d.ref, d.fk_c_expensereport_statuts"; $sql2.= " FROM ".MAIN_DB_PREFIX."expensereport as d"; $sql2.= " WHERE d.rowid = '".$objp->fk_expensereport."'"; @@ -437,7 +493,7 @@ class ExpenseReport extends CommonObject $obj = $db->fetch_object($result2); $objp->fk_user_author = $obj->fk_user_author; - $objp->ref_num = $obj->ref_number; + $objp->ref = $obj->ref; $objp->fk_c_expensereport_status = $obj->fk_c_expensereport_statuts; $objp->rowid = $obj->rowid; @@ -561,15 +617,15 @@ class ExpenseReport extends CommonObject */ function fetch_lines() { + $this->lines=array(); + $sql = ' SELECT de.rowid, de.comments, de.qty, de.value_unit, de.date,'; $sql.= ' de.'.$this->fk_element.', de.fk_c_type_fees, de.fk_projet, de.fk_c_tva,'; $sql.= ' de.total_ht, de.total_tva, de.total_ttc,'; $sql.= ' ctf.code as code_type_fees, ctf.label as libelle_type_fees,'; - $sql.= ' ctv.taux as taux_tva,'; $sql.= ' p.ref as ref_projet, p.title as title_projet'; $sql.= ' FROM '.MAIN_DB_PREFIX.$this->table_element_line.' as de'; $sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_type_fees ctf ON de.fk_c_type_fees = ctf.id'; - $sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_tva ctv ON de.fk_c_tva = ctv.rowid'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet p ON de.fk_projet = p.rowid'; $sql.= ' WHERE de.'.$this->fk_element.' = '.$this->id; @@ -582,7 +638,7 @@ class ExpenseReport extends CommonObject while ($i < $num) { $objp = $this->db->fetch_object($result); - $deplig = new ExpenseReportLigne($this->db); + $deplig = new ExpenseReportLine($this->db); $deplig->rowid = $objp->rowid; $deplig->comments = $objp->comments; @@ -606,6 +662,8 @@ class ExpenseReport extends CommonObject $deplig->projet_title = $objp->title_projet; $this->lignes[$i] = $deplig; + $this->lines[$i] = $deplig; + $i++; } $this->db->free($result); @@ -613,7 +671,7 @@ class ExpenseReport extends CommonObject } else { - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); dol_syslog('ExpenseReport::fetch_lines: Error '.$this->error,LOG_ERR); return -3; } @@ -673,7 +731,7 @@ class ExpenseReport extends CommonObject // Sélection du numéro de ref suivant $ref_next = $this->getNextNumRef(); - $ref_number_int = ($this->ref_number+1)-1; + $ref_number_int = ($this->ref+1)-1; // Sélection de la date de début de la NDF $sql = 'SELECT date_debut'; @@ -688,13 +746,13 @@ class ExpenseReport extends CommonObject // Création du ref_number suivant if($ref_next) { - $this->ref_number = strtoupper($user->login).$expld_car."NDF".$this->ref_number.$expld_car.$this->date_debut; + $this->ref = strtoupper($user->login).$expld_car."NDF".$this->ref.$expld_car.$this->date_debut; } if ($this->fk_c_expensereport_statuts != 2) { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; - $sql.= " SET ref_number = '".$this->ref_number."', fk_c_expensereport_statuts = 2"; + $sql.= " SET ref = '".$this->ref."', fk_c_expensereport_statuts = 2"; $sql.= " ,ref_number_int = $ref_number_int"; $sql.= ' WHERE rowid = '.$this->id; @@ -776,7 +834,7 @@ class ExpenseReport extends CommonObject if ($this->fk_c_expensereport_statuts != 5) { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; - $sql.= " SET ref_number = '".$this->ref_number."', fk_c_expensereport_statuts = 5, fk_user_valid = ".$user->id; + $sql.= " SET ref = '".$this->ref."', fk_c_expensereport_statuts = 5, fk_user_valid = ".$user->id; $sql.= ', date_valide='.$this->date_valide; $sql.= ' WHERE rowid = '.$this->id; @@ -808,7 +866,7 @@ class ExpenseReport extends CommonObject if ($this->fk_c_expensereport_statuts != 99) { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; - $sql.= " SET ref_number = '".$this->ref_number."', fk_c_expensereport_statuts = 99, fk_user_refuse = ".$user->id; + $sql.= " SET ref = '".$this->ref."', fk_c_expensereport_statuts = 99, fk_user_refuse = ".$user->id; $sql.= ', date_refuse='.$this->date_refuse; $sql.= ", detail_refuse='".addslashes($details)."'"; $sql.= ' WHERE rowid = '.$this->id; @@ -903,7 +961,7 @@ class ExpenseReport extends CommonObject { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; $sql.= " SET fk_c_deplacement_statuts = 1,"; - //$sql.= " , ref_number = '(PROV".$this->id.")', ref_number_int = 0"; + //$sql.= " , ref = '(PROV".$this->id.")', ref_number_int = 0"; $sql.= " ref_number_int = 0"; $sql.= ' WHERE rowid = '.$this->id; @@ -1005,15 +1063,15 @@ class ExpenseReport extends CommonObject if($this->db->num_rows($result) > 0): $objp = $this->db->fetch_object($result); - $this->ref_number = $objp->ref_number_int; - $this->ref_number++; - while(strlen($this->ref_number) < $num_car): - $this->ref_number = "0".$this->ref_number; + $this->ref = $objp->ref_number_int; + $this->ref++; + while(strlen($this->ref) < $num_car): + $this->ref = "0".$this->ref; endwhile; else: - $this->ref_number = 1; - while(strlen($this->ref_number) < $num_car): - $this->ref_number = "0".$this->ref_number; + $this->ref = 1; + while(strlen($this->ref) < $num_car): + $this->ref = "0".$this->ref; endwhile; endif; @@ -1119,7 +1177,7 @@ class ExpenseReport extends CommonObject $total_tva = $total_ttc - $total_ht; // fin calculs - $ligne = new ExpenseReportLigne($this->db); + $ligne = new ExpenseReportLine($this->db); $ligne->comments = $comments; $ligne->qty = $qty; $ligne->value_unit = $value_unit; @@ -1295,7 +1353,7 @@ class ExpenseReport extends CommonObject /** * Class of expense report details lines */ -class ExpenseReportLigne +class ExpenseReportLine { var $db; var $error; @@ -1328,7 +1386,7 @@ class ExpenseReportLigne * * @param DoliDB $db Handlet database */ - function ExpenseReportLigne($db) + function ExpenseReportLine($db) { $this->db= $db; } @@ -1354,7 +1412,8 @@ class ExpenseReportLigne $result = $this->db->query($sql); - if($result) { + if($result) + { $objp = $this->db->fetch_object($result); $this->rowid = $objp->rowid; @@ -1391,7 +1450,9 @@ class ExpenseReportLigne { global $langs,$user,$conf; - dol_syslog("ExpenseReportLigne::Insert rang=".$this->rang, LOG_DEBUG); + $error=0; + + dol_syslog("ExpenseReportLine::Insert rang=".$this->rang, LOG_DEBUG); // Clean parameters $this->comments=trim($this->comments); @@ -1413,23 +1474,39 @@ class ExpenseReportLigne $sql.= " ".$this->total_ht.","; $sql.= " ".$this->total_tva.","; $sql.= " ".$this->total_ttc.","; - $sql.= "'".$this->date."'"; + $sql.= "'".$this->db->idate($this->date)."'"; $sql.= ")"; - dol_syslog("ExpenseReportLigne::insert sql=".$sql); + dol_syslog("ExpenseReportLine::insert sql=".$sql); $resql=$this->db->query($sql); - - if ($resql): + if ($resql) + { $this->rowid=$this->db->last_insert_id(MAIN_DB_PREFIX.'expensereport_det'); + + $tmpparent=new ExpenseReport($this->db); + $tmpparent->fetch($this->fk_expensereport); + $result = $tmpparent->update_price(); + if ($result < 0) + { + $error++; + $this->error = $tmpparent->error; + $this->errors = $tmpparent->errors; + } + } + + if (! $error) + { $this->db->commit(); return $this->rowid; - else: - $this->error=$this->db->error(); - dol_syslog("ExpenseReportLigne::insert Error ".$this->error, LOG_ERR); + } + else + { + $this->error=$this->db->lasterror(); + dol_syslog("ExpenseReportLine::insert Error ".$this->error, LOG_ERR); $this->db->rollback(); return -2; - endif; + } } /** @@ -1442,6 +1519,8 @@ class ExpenseReportLigne { global $user,$langs,$conf; + $error=0; + // Clean parameters $this->comments=trim($this->comments); @@ -1465,18 +1544,31 @@ class ExpenseReportLigne else $sql.= ",fk_c_tva=null"; $sql.= " WHERE rowid = ".$this->rowid; - dol_syslog("ExpenseReportLigne::update sql=".$sql); + dol_syslog("ExpenseReportLine::update sql=".$sql); $resql=$this->db->query($sql); if ($resql) + { + $tmpparent=new ExpenseReport($db); + $tmpparent->fetch($this->fk_expensereport); + $result = $tmpparent->update_price(); + if ($result < 0) + { + $error++; + $this->error = $tmpparent->error; + $this->errors = $tmpparent->errors; + } + } + + if (! $error) { $this->db->commit(); return 1; } else { - $this->error=$this->db->error(); - dol_syslog("ExpenseReportLigne::update Error ".$this->error, LOG_ERR); + $this->error=$this->db->lasterror(); + dol_syslog("ExpenseReportLine::update Error ".$this->error, LOG_ERR); $this->db->rollback(); return -2; } @@ -1503,7 +1595,7 @@ function select_expensereport_statut($selected='',$htmlname='fk_c_expensereport_ if ($useempty) print ''; foreach ($tmpep->statuts as $key => $val) { - if ($selected == $key) + if ($selected != '' && $selected == $key) { print ''; } - $sql = "SELECT c.code, c.label as type,c.id FROM ".MAIN_DB_PREFIX."c_type_fees as c"; + $sql = "SELECT c.id, c.code, c.label as type FROM ".MAIN_DB_PREFIX."c_type_fees as c"; $sql.= " ORDER BY c.label ASC"; $resql=$db->query($sql); if ($resql) @@ -1609,7 +1701,7 @@ function select_type_fees_id($selected='',$htmlname='type',$showempty=0) { $obj = $db->fetch_object($resql); print '
"; - print ''; + print ''; print ''; print ''; print ''; diff --git a/htdocs/expensereport/synchro_compta.php b/htdocs/expensereport/synchro_compta.php index 7d427c44fa1..211f5c4cc0a 100755 --- a/htdocs/expensereport/synchro_compta.php +++ b/htdocs/expensereport/synchro_compta.php @@ -38,7 +38,7 @@ if ($_GET["action"] == 'confirm_ndf_to_account' && $_GET["confirm"] == "yes"): $dateop = dol_mktime(12,0,0,$datePaiement[1],$datePaiement[2],$datePaiement[0]); $operation = $expensereport->code_paiement; - $label = "Règlement ".$expensereport->ref_number; + $label = "Règlement ".$expensereport->ref; $amount = - price2num($expensereport->total_ttc); $num_chq = ''; $cat1 = ''; @@ -73,7 +73,7 @@ if ($_GET["action"] == 'confirm_account_to_ndf' && $_GET["confirm"] == "yes"): $expensereport->fetch($idTrip,$user); $sql = "DELETE FROM ".MAIN_DB_PREFIX."bank"; - $sql.= " WHERE label LIKE '%".$expensereport->ref_number."%'"; + $sql.= " WHERE label LIKE '%".$expensereport->ref."%'"; $resql=$db->query($sql); if ($resql > 0): $sql = " UPDATE ".MAIN_DB_PREFIX."expensereport d"; @@ -137,7 +137,7 @@ else: print ' '; print ""; - $sql = "SELECT d.fk_bank_account, d.ref_number, d.rowid, d.date_valide, d.fk_user_author, d.total_ttc, d.integration_compta, d.fk_c_expensereport_statuts"; + $sql = "SELECT d.fk_bank_account, d.ref, d.rowid, d.date_valide, d.fk_user_author, d.total_ttc, d.integration_compta, d.fk_c_expensereport_statuts"; $sql.= " ,CONCAT(u.firstname,' ',u.lastname) as declarant_NDF"; $sql.= " FROM ".MAIN_DB_PREFIX."expensereport d"; $sql.= " INNER JOIN ".MAIN_DB_PREFIX."user u ON d.fk_user_author = u.rowid"; @@ -169,24 +169,30 @@ else: $objp = $db->fetch_object($resql); $var=!$var; print ""; - print ''; + print ''; print ''; print ''; print ''; - if($objp->integration_compta): + if($objp->integration_compta) + { print ''; - else: + } + else + { print ''; - endif; + } print ''; - if($objp->integration_compta): + if($objp->integration_compta) + { print ''; - else: + } + else + { print ''; - endif; + } print ""; $i++; diff --git a/htdocs/install/mysql/data/llx_c_type_fees.sql b/htdocs/install/mysql/data/llx_c_type_fees.sql index 9e763bf5ba8..19ee7865e9f 100644 --- a/htdocs/install/mysql/data/llx_c_type_fees.sql +++ b/htdocs/install/mysql/data/llx_c_type_fees.sql @@ -31,5 +31,5 @@ -- insert into llx_c_type_fees (code,label,active) values ('TF_OTHER', 'Other', 1); -insert into llx_c_type_fees (code,label,active) values ('TF_TRIP', 'Trip', 1); +insert into llx_c_type_fees (code,label,active) values ('TF_TRIP', 'Transportation', 1); insert into llx_c_type_fees (code,label,active) values ('TF_LUNCH', 'Lunch', 1); diff --git a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql index 0acea91984b..7217a53b890 100755 --- a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql +++ b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql @@ -117,7 +117,7 @@ ALTER TABLE llx_stock_mouvement ADD COLUMN sellby date DEFAULT NULL; CREATE TABLE llx_expensereport ( rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, - ref_number varchar(50) NOT NULL, + ref varchar(50) NOT NULL, entity integer DEFAULT 1 NOT NULL, -- multi company id ref_number_int integer DEFAULT NULL, ref_ext integer, @@ -131,6 +131,7 @@ CREATE TABLE llx_expensereport ( date_paiement datetime, date_valide datetime, date_create datetime NOT NULL, + tms timestamp, fk_user_author integer NOT NULL, fk_user_modif integer DEFAULT NULL, fk_user_validator integer DEFAULT NULL, @@ -151,12 +152,9 @@ CREATE TABLE llx_expensereport ( model_pdf varchar(50) DEFAULT NULL ) ENGINE=innodb; - - - CREATE TABLE llx_expensereport_det ( - rowid integer PRIMARY KEY NOT NULL, + rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, fk_expensereport integer NOT NULL, fk_c_type_fees integer NOT NULL, fk_projet integer NOT NULL, @@ -184,4 +182,3 @@ CREATE TABLE llx_expensereport_det ) ENGINE=innodb; - diff --git a/htdocs/install/mysql/tables/llx_expensereport.sql b/htdocs/install/mysql/tables/llx_expensereport.sql index 6fcdfa92291..e998343e6db 100755 --- a/htdocs/install/mysql/tables/llx_expensereport.sql +++ b/htdocs/install/mysql/tables/llx_expensereport.sql @@ -18,7 +18,7 @@ CREATE TABLE llx_expensereport ( rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, - ref_number varchar(50) NOT NULL, + ref varchar(50) NOT NULL, entity integer DEFAULT 1 NOT NULL, -- multi company id ref_number_int integer DEFAULT NULL, ref_ext integer, @@ -32,6 +32,7 @@ CREATE TABLE llx_expensereport ( date_paiement datetime, date_valide datetime, date_create datetime NOT NULL, + tms timestamp, fk_user_author integer NOT NULL, fk_user_modif integer DEFAULT NULL, fk_user_validator integer DEFAULT NULL, diff --git a/htdocs/install/mysql/tables/llx_expensereport_det.sql b/htdocs/install/mysql/tables/llx_expensereport_det.sql index 644668f5713..98e7c33265e 100644 --- a/htdocs/install/mysql/tables/llx_expensereport_det.sql +++ b/htdocs/install/mysql/tables/llx_expensereport_det.sql @@ -18,7 +18,7 @@ CREATE TABLE llx_expensereport_det ( - rowid integer PRIMARY KEY NOT NULL, + rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, fk_expensereport integer NOT NULL, fk_c_type_fees integer NOT NULL, fk_projet integer NOT NULL, diff --git a/htdocs/langs/en_US/projects.lang b/htdocs/langs/en_US/projects.lang index b3c150d1687..0587ce39bfe 100644 --- a/htdocs/langs/en_US/projects.lang +++ b/htdocs/langs/en_US/projects.lang @@ -67,7 +67,7 @@ ListSupplierOrdersAssociatedProject=List of supplier's orders associated with th ListSupplierInvoicesAssociatedProject=List of supplier's invoices associated with the project ListContractAssociatedProject=List of contracts associated with the project ListFichinterAssociatedProject=List of interventions associated with the project -ListTripAssociatedProject=List of trips and expenses associated with the project +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=List of events associated with the project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index 90fdae1232b..047f0bff057 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -424,6 +424,10 @@ class Project extends CommonObject if (empty($datefieldname)) return 'Error this object has no date field defined'; $sql.=" AND (".$datefieldname." <= '".$this->db->idate($datee)."' OR ".$datefieldname." IS NULL)"; } + if ($type == 'expensereport') + { + $sql ='eeee'; + } if (! $sql) return -1; //print $sql; diff --git a/htdocs/projet/element.php b/htdocs/projet/element.php index 1abaa37cac1..226f4afb573 100644 --- a/htdocs/projet/element.php +++ b/htdocs/projet/element.php @@ -38,6 +38,7 @@ if (! empty($conf->fournisseur->enabled)) require_once DOL_DOCUMENT_ROOT.'/fourn if (! empty($conf->contrat->enabled)) require_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php'; if (! empty($conf->ficheinter->enabled)) require_once DOL_DOCUMENT_ROOT.'/fichinter/class/fichinter.class.php'; if (! empty($conf->deplacement->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/deplacement/class/deplacement.class.php'; +if (! empty($conf->expensereport->enabled)) require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php'; if (! empty($conf->agenda->enabled)) require_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php'; $langs->load("projects"); @@ -225,13 +226,22 @@ $listofreferent=array( 'test'=>$conf->ficheinter->enabled && $user->rights->ficheinter->lire), 'trip'=>array( 'name'=>"TripsAndExpenses", - 'title'=>"ListTripAssociatedProject", + 'title'=>"ListExpenseReportsAssociatedProject", 'class'=>'Deplacement', 'table'=>'deplacement', 'datefieldname'=>'dated', 'margin'=>'minus', 'disableamount'=>1, 'test'=>$conf->deplacement->enabled && $user->rights->deplacement->lire), +'expensereport'=>array( + 'name'=>"ExpenseReports", + 'title'=>"ListExpenseReportsAssociatedProject", + 'class'=>'ExpenseReportLine', + 'table'=>'expensereport', + 'datefieldname'=>'date', + 'margin'=>'minus', + 'disableamount'=>1, + 'test'=>$conf->expensereport->enabled && $user->rights->expensereport->lire), 'agenda'=>array( 'name'=>"Agenda", 'title'=>"ListActionsAssociatedProject", From bb2c33e2c11c563c583abb80237d2f30335dcb80 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 15 Feb 2015 22:49:53 +0100 Subject: [PATCH 106/137] Trad --- htdocs/langs/en_US/main.lang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index e53f0df5585..5fad3a3fd20 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -291,10 +291,10 @@ DefaultGlobalValue=Global value Price=Price UnitPrice=Unit price UnitPriceHT=Unit price (net) -UnitPriceTTC=Unit price +UnitPriceTTC=Unit price (inc. tac) PriceU=U.P. PriceUHT=U.P. (net) -PriceUTTC=U.P. +PriceUTTC=U.P. (inc. tax) Amount=Amount AmountInvoice=Invoice amount AmountPayment=Payment amount From 9ab48b3d90a8427b2965ae4e60e3e0ce28ba0016 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 15 Feb 2015 22:51:18 +0100 Subject: [PATCH 107/137] Revert "Trad" This reverts commit bb2c33e2c11c563c583abb80237d2f30335dcb80. --- htdocs/langs/en_US/main.lang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index 5fad3a3fd20..e53f0df5585 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -291,10 +291,10 @@ DefaultGlobalValue=Global value Price=Price UnitPrice=Unit price UnitPriceHT=Unit price (net) -UnitPriceTTC=Unit price (inc. tac) +UnitPriceTTC=Unit price PriceU=U.P. PriceUHT=U.P. (net) -PriceUTTC=U.P. (inc. tax) +PriceUTTC=U.P. Amount=Amount AmountInvoice=Invoice amount AmountPayment=Payment amount From 2045fb22e9001c444d685d0eb5242c53ed3b0bbf Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 15 Feb 2015 23:39:30 +0100 Subject: [PATCH 108/137] Lock 5.5.40 --- htdocs/install/upgrade.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/install/upgrade.php b/htdocs/install/upgrade.php index 8f62a755518..89e54ef4443 100644 --- a/htdocs/install/upgrade.php +++ b/htdocs/install/upgrade.php @@ -193,9 +193,9 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action'))) // Test database version is not forbidden for migration $dbversion_disallowed=array( array('type'=>'mysql','version'=>array(5,5,40)), - array('type'=>'mysqli','version'=>array(5,5,40)), - array('type'=>'mysql','version'=>array(5,5,41)), - array('type'=>'mysqli','version'=>array(5,5,41)) + array('type'=>'mysqli','version'=>array(5,5,40)) + //,array('type'=>'mysql','version'=>array(5,5,41)), + //array('type'=>'mysqli','version'=>array(5,5,41)) ); $listofforbiddenversion=''; foreach ($dbversion_disallowed as $dbversion_totest) From 3cf4b80baaf8dd8210bbb1d571bb716b17b7f6eb Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 16 Feb 2015 02:02:11 +0100 Subject: [PATCH 109/137] Fix missing test of action when using canvas --- dev/skeletons/modMyModule.class.php | 6 +++--- htdocs/core/class/canvas.class.php | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dev/skeletons/modMyModule.class.php b/dev/skeletons/modMyModule.class.php index 4c09e379d9b..bf78c7cc161 100644 --- a/dev/skeletons/modMyModule.class.php +++ b/dev/skeletons/modMyModule.class.php @@ -113,9 +113,9 @@ class modMyModule extends DolibarrModules $this->const = array(); // Array to add new pages in new tabs - // Example: $this->tabs = array('objecttype:+tabname1:Title1:mylangfile@mymodule:$user->rights->mymodule->read:/mymodule/mynewtab1.php?id=__ID__', // To add a new tab identified by code tabname1 - // 'objecttype:+tabname2:Title2:mylangfile@mymodule:$user->rights->othermodule->read:/mymodule/mynewtab2.php?id=__ID__', // To add another new tab identified by code tabname2 - // 'objecttype:-tabname:NU:conditiontoremove'); // To remove an existing tab identified by code tabname + // Example: $this->tabs = array('objecttype:+tabname1:Title1:mylangfile@mymodule:$user->rights->mymodule->read:/mymodule/mynewtab1.php?id=__ID__', // To add a new tab identified by code tabname1 + // 'objecttype:+tabname2:SUBSTITUTION_Title2:mylangfile@mymodule:$user->rights->othermodule->read:/mymodule/mynewtab2.php?id=__ID__', // To add another new tab identified by code tabname2. Label will be result of calling all substitution functions on 'Title2' key. + // 'objecttype:-tabname:NU:conditiontoremove'); // To remove an existing tab identified by code tabname // where objecttype can be // 'categories_x' to add a tab in category view (replace 'x' by type of category (0=product, 1=supplier, 2=customer, 3=member) // 'contact' to add a tab in contact view diff --git a/htdocs/core/class/canvas.class.php b/htdocs/core/class/canvas.class.php index 959decc581c..a8bb07e6ec6 100644 --- a/htdocs/core/class/canvas.class.php +++ b/htdocs/core/class/canvas.class.php @@ -67,7 +67,7 @@ class Canvas $newaction = $action; if ($newaction == 'add') $newaction='create'; if ($newaction == 'update') $newaction='edit'; - if (empty($newaction) || $newaction == 'delete' || $newaction == 'create_user') $newaction='view'; + if (empty($newaction) || $newaction == 'delete' || $newaction == 'create_user' || $newaction == 'presend' || $newaction == 'send') $newaction='view'; return $newaction; } From 05dc308e9156dcbb12e120c9fa573c9990f0a63e Mon Sep 17 00:00:00 2001 From: aspangaro Date: Mon, 16 Feb 2015 06:47:37 +0100 Subject: [PATCH 110/137] [T1728] Deactivate RIB suggest in proposals/invoices/orders --- ChangeLog | 1 + htdocs/core/lib/pdf.lib.php | 2 ++ 2 files changed, 3 insertions(+) diff --git a/ChangeLog b/ChangeLog index d905ba24168..35720ebdabc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -106,6 +106,7 @@ For users: - Fix: [ bug #1535 ] Supplier invoice Extrafields are not shown - Fix: datepicker first day of week can be monday by setting into display setup - Fix: [ bug #575 ] GED doesn't works if there is "/" in a mask +- Fix: [ task #1728 ] Deactivate RIB suggest in proposals / invoices / orders For users, new experimental module (need to set feature level of instance to experimental to see them): - New: Module Accounting Expert to manage accountancy diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 794ba7ac2af..01ab5eeaf82 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -533,6 +533,7 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default $cury+=3; } + /* if (empty($onlynumber)) $pdf->line($curx+1, $cury+1, $curx+1, $cury+8); if ($usedetailedbban == 1) @@ -596,6 +597,7 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default $curx=$savcurx; $cury+=9; + */ } else { From 82b3f4a1020fc6fd72b22a7b54a8695cbd19d7d4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 16 Feb 2015 10:40:09 +0100 Subject: [PATCH 111/137] Add field budget_amount on project. --- .../install/mysql/migration/3.7.0-3.8.0.sql | 2 ++ htdocs/install/mysql/tables/llx_projet.sql | 2 ++ htdocs/projet/class/project.class.php | 30 +++++++++---------- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql index 7217a53b890..6024996624a 100755 --- a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql +++ b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql @@ -182,3 +182,5 @@ CREATE TABLE llx_expensereport_det ) ENGINE=innodb; +ALTER TABLE ll_projet ADD COLUMN budget_amount double(24,8); + diff --git a/htdocs/install/mysql/tables/llx_projet.sql b/htdocs/install/mysql/tables/llx_projet.sql index acac8c7b687..0bfde5c026b 100644 --- a/htdocs/install/mysql/tables/llx_projet.sql +++ b/htdocs/install/mysql/tables/llx_projet.sql @@ -34,5 +34,7 @@ create table llx_projet fk_statut smallint DEFAULT 0 NOT NULL, note_private text, note_public text, + --budget_days real, -- budget in days is sum of field planned_workload of tasks + budget_amount double(24,8), model_pdf varchar(255) )ENGINE=innodb; diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index 047f0bff057..ce699df0b32 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -55,8 +55,11 @@ class Project extends CommonObject var $public; //!< Tell if this is a public or private project var $note_private; var $note_public; + var $budget_amount; + var $statuts_short; var $statuts; + var $oldcopy; @@ -110,6 +113,7 @@ class Project extends CommonObject $sql.= ", datec"; $sql.= ", dateo"; $sql.= ", datee"; + $sql.= ", budget_amount"; $sql.= ", entity"; $sql.= ") VALUES ("; $sql.= "'" . $this->db->escape($this->ref) . "'"; @@ -208,6 +212,7 @@ class Project extends CommonObject $sql.= ", datec=" . ($this->date_c != '' ? "'".$this->db->idate($this->date_c)."'" : 'null'); $sql.= ", dateo=" . ($this->date_start != '' ? "'".$this->db->idate($this->date_start)."'" : 'null'); $sql.= ", datee=" . ($this->date_end != '' ? "'".$this->db->idate($this->date_end)."'" : 'null'); + $sql.= ", budget_amount = " . ($this->budget_amount > 0 ? $this->budget_amount : "null"); $sql.= " WHERE rowid = " . $this->id; dol_syslog(get_class($this)."::Update", LOG_DEBUG); @@ -293,8 +298,8 @@ class Project extends CommonObject { if (empty($id) && empty($ref)) return -1; - $sql = "SELECT rowid, ref, title, description, public, datec"; - $sql.= ", tms, dateo, datee, fk_soc, fk_user_creat, fk_statut, note_private, note_public,model_pdf"; + $sql = "SELECT rowid, ref, title, description, public, datec, budget_amount,"; + $sql.= " tms, dateo, datee, fk_soc, fk_user_creat, fk_statut, note_private, note_public,model_pdf"; $sql.= " FROM " . MAIN_DB_PREFIX . "projet"; if (! empty($id)) { @@ -331,6 +336,7 @@ class Project extends CommonObject $this->user_author_id = $obj->fk_user_creat; $this->public = $obj->public; $this->statut = $obj->fk_statut; + $this->budget_amount = $obj->budget_amount; $this->modelpdf = $obj->model_pdf; $this->db->free($resql); @@ -412,6 +418,10 @@ class Project extends CommonObject { $sql = "SELECT rowid FROM " . MAIN_DB_PREFIX . $tablename." WHERE fk_projet=" . $this->id; } + if ($type == 'expensereport') + { + $sql = "SELECT id as rowid FROM " . MAIN_DB_PREFIX . "expensereport as e, " . MAIN_DB_PREFIX . "expensereport_det as ed WHERE ed.fk_project=" . $this->id; + } if ($dates > 0) { if (empty($datefieldname) && ! empty($this->table_element_date)) $datefieldname=$this->table_element_date; @@ -424,10 +434,6 @@ class Project extends CommonObject if (empty($datefieldname)) return 'Error this object has no date field defined'; $sql.=" AND (".$datefieldname." <= '".$this->db->idate($datee)."' OR ".$datefieldname." IS NULL)"; } - if ($type == 'expensereport') - { - $sql ='eeee'; - } if (! $sql) return -1; //print $sql; @@ -842,6 +848,8 @@ class Project extends CommonObject $this->date_m = $now; $this->date_start = $now; $this->note_public = 'SPECIMEN'; + $this->budget_amount = 10000; + /* $nbp = rand(1, 9); $xnbp = 0; @@ -893,13 +901,6 @@ class Project extends CommonObject if ($mode == 'write' && $user->rights->projet->creer) $userAccess++; if ($mode == 'delete' && $user->rights->projet->supprimer) $userAccess++; } - // Permission are supported on users only. To have an external thirdparty contact to see a project, its user must allowed to contacts of projects. - /*if ($source == 'external' && preg_match('/PROJECT/', $userRole[$nblinks]['code']) && $user->contact_id == $userRole[$nblinks]['id']) - { - if ($mode == 'read' && $user->rights->projet->lire) $userAccess++; - if ($mode == 'write' && $user->rights->projet->creer) $userAccess++; - if ($mode == 'delete' && $user->rights->projet->supprimer) $userAccess++; - }*/ $nblinks++; } } @@ -945,11 +946,9 @@ class Project extends CommonObject { $sql.= " AND ec.element_id = p.rowid"; $sql.= " AND ( p.public = 1"; - //$sql.= " OR p.fk_user_creat = ".$user->id; $sql.= " OR ( ctc.rowid = ec.fk_c_type_contact"; $sql.= " AND ctc.element = '" . $this->element . "'"; $sql.= " AND ( (ctc.source = 'internal' AND ec.fk_socpeople = ".$user->id.")"; - //$sql.= " OR (ctc.source = 'external' AND ec.fk_socpeople = ".($user->contact_id?$user->contact_id:0).")"; // Permission are supported on users only. To have an external thirdparty contact to see a project, its user must allowed to contacts of projects. $sql.= " )"; $sql.= " ))"; } @@ -959,7 +958,6 @@ class Project extends CommonObject $sql.= " AND ctc.rowid = ec.fk_c_type_contact"; $sql.= " AND ctc.element = '" . $this->element . "'"; $sql.= " AND ( (ctc.source = 'internal' AND ec.fk_socpeople = ".$user->id.")"; - //$sql.= " OR (ctc.source = 'external' AND ec.fk_socpeople = ".($user->contact_id?$user->contact_id:0).")"; // Permission are supported on users only. To have an external thirdparty contact to see a project, its user must allowed to contacts of projects. $sql.= " )"; } if ($mode == 2) From 3ca31e34cbd6e767d286628c6f7875158d070bf1 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 16 Feb 2015 10:58:05 +0100 Subject: [PATCH 112/137] New: Add field "budget" (amount) on projects. --- .../install/mysql/migration/3.7.0-3.8.0.sql | 2 +- htdocs/projet/card.php | 19 ++++++++++++++++++- htdocs/projet/class/project.class.php | 3 ++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql index 6024996624a..831185a9203 100755 --- a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql +++ b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql @@ -182,5 +182,5 @@ CREATE TABLE llx_expensereport_det ) ENGINE=innodb; -ALTER TABLE ll_projet ADD COLUMN budget_amount double(24,8); +ALTER TABLE llx_projet ADD COLUMN budget_amount double(24,8); diff --git a/htdocs/projet/card.php b/htdocs/projet/card.php index 5887bb6f1d8..1103396658f 100644 --- a/htdocs/projet/card.php +++ b/htdocs/projet/card.php @@ -141,6 +141,7 @@ if (empty($reshook)) $object->socid = GETPOST('socid','int'); $object->description = GETPOST('description'); // Do not use 'alpha' here, we want field as it is $object->public = GETPOST('public','alpha'); + $object->budget_amount = GETPOST('budget_amount','int'); $object->datec=dol_now(); $object->date_start=$date_start; $object->date_end=$date_end; @@ -217,6 +218,7 @@ if (empty($reshook)) $object->socid = GETPOST('socid','int'); $object->description = GETPOST('description'); // Do not use 'alpha' here, we want field as it is $object->public = GETPOST('public','alpha'); + $object->budget_amount= GETPOST('budget_amount','int'); $object->date_start = empty($_POST["projectstart"])?'':$date_start; $object->date_end = empty($_POST["projectend"])?'':$date_end; @@ -433,7 +435,7 @@ if ($action == 'create' && $user->rights->projet->creer) print ''; // Label - print ''; + print ''; // Customer print ''; + // Budget + print ''; + print ''; + print ''; + // Description print ''; print ''; + // Budget + print ''; + print ''; + print ''; + // Description print ''; print ''; + // Budget + print ''; + // Description print '
'.$langs->trans('Piece').''.$langs->trans('Piece').''.$langs->trans('Date').''.$langs->trans('Project').''.$langs->trans('Type').'
'; - print img_picto("Document", "generic"); + print img_picto($langs->trans("Document"), "object_generic"); print ' '.$piece_comptable.''.$objp->date.''.$objp->projet_ref.''; + $projecttmp->id=$objp->projet_id; + $projecttmp->ref=$objp->projet_ref; + print $projecttmp->getNomUrl(1); + print ''.$langs->trans("TF_".strtoupper($objp->type_fees_libelle)).''.$objp->comments.''.vatrate($objp->tva_taux,true).''.price($objp->value_unit).''.$objp->qty.''.$objp->total_ht.''.$objp->total_ttc.''.price($objp->total_ht).''.price($objp->total_ttc).'
'; - $html->select_date($objp->date,'date'); + $form->select_date($objp->date,'date'); print '
'.$langs->trans('Type').''.$langs->trans('Description').''.$langs->trans('VAT').''.$langs->trans('UnitPriceTTC').''.$langs->trans('PriceUTTC').''.$langs->trans('Qty').'
'; - $html->select_date(-1,'date'); + $form->select_date($date?$date:-1,'date'); print ''; - print select_projet('','','fk_projet'); - //$formproject->select_projects('','','fk_projet'); + $formproject->select_projects('', GETPOST('fk_projet'), 'fk_projet', 0, 0, 1, 1); print ''; - select_type_fees_id('TF_TRAIN','fk_c_type_fees'); + select_type_fees_id(GETPOST('fk_c_type_fees'),'fk_c_type_fees',1); print ''; - print ''; + print ''; print ''; $defaultvat=-1; - if (! empty($conf->global->DEPLACEMENT_NO_DEFAULT_VAT)) $conf->global->MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS = 'none'; - print ''; print ''; - print ''; + print ''; print ''; - print ''; + print ''; print '
'.img_object($langs->trans("ShowTrip"),"trip").' '.$objp->ref_number.''.img_object($langs->trans("ShowTrip"),"trip").' '.$objp->ref.''.($objp->date_debut > 0 ? dol_print_date($objp->date_debut, 'day') : '').''.($objp->date_fin > 0 ? dol_print_date($objp->date_fin, 'day') : '').''.img_object($langs->trans("ShowUser"),"user").' '.dolGetFirstLastname($objp->firstname, $objp->lastname).'
'.$objp->ref_number.''.$objp->ref.''.dol_print_date($db->jdate($objp->date_valide),'day').''.img_object($langs->trans("ShowUser"),"user").' '.$objp->declarant_NDF.''.$objp->total_ttc.' '.$langs->trans("EURO").'Compte vers NDFNDF vers Compte'.$account->label.'Intégration OKIntégration Non OK
'.$langs->trans("Ref").'
'.$langs->trans("Label").'
'.$langs->trans("Label").'
'.$langs->trans("ThirdParty").''; @@ -462,6 +464,11 @@ if ($action == 'create' && $user->rights->projet->creer) print $form->select_date(($date_end?$date_end:-1),'projectend'); print '
'.$langs->trans("Budget").'
'.$langs->trans("Description").''; @@ -602,6 +609,11 @@ else print $form->select_date($object->date_end?$object->date_end:-1,'projectend'); print '
'.$langs->trans("Budget").'
'.$langs->trans("Description").''; @@ -663,6 +675,11 @@ else print dol_print_date($object->date_end,'day'); print '
'.$langs->trans("Budget").''; + if ($object->budget_amount != '') print price($object->budget_amount,'',$langs,0,0,0,$conf->currency); + print '
'.$langs->trans("Description").''; print nl2br($object->description); diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index ce699df0b32..e1aa84f1f4c 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -126,6 +126,7 @@ class Project extends CommonObject $sql.= ", '".$this->db->idate($now)."'"; $sql.= ", " . ($this->date_start != '' ? "'".$this->db->idate($this->date_start)."'" : 'null'); $sql.= ", " . ($this->date_end != '' ? "'".$this->db->idate($this->date_end)."'" : 'null'); + $sql.= ", " . $this->budget_amount; $sql.= ", ".$conf->entity; $sql.= ")"; @@ -420,7 +421,7 @@ class Project extends CommonObject } if ($type == 'expensereport') { - $sql = "SELECT id as rowid FROM " . MAIN_DB_PREFIX . "expensereport as e, " . MAIN_DB_PREFIX . "expensereport_det as ed WHERE ed.fk_project=" . $this->id; + $sql = "SELECT e.rowid FROM " . MAIN_DB_PREFIX . "expensereport as e, " . MAIN_DB_PREFIX . "expensereport_det as ed WHERE e.rowid = ed.fk_expensereport AND ed.fk_projet=" . $this->id; } if ($dates > 0) { From 58fc57744a7e3bd4bc7cbc059716bed717c7dbf5 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 16 Feb 2015 17:25:26 +0100 Subject: [PATCH 113/137] Update example --- htdocs/conf/conf.php.example | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/htdocs/conf/conf.php.example b/htdocs/conf/conf.php.example index 67147a6d06b..681cecf1261 100644 --- a/htdocs/conf/conf.php.example +++ b/htdocs/conf/conf.php.example @@ -208,11 +208,13 @@ $dolibarr_main_authentication='dolibarr'; // 0 = No forced redirect // 1 = Force redirect to https, until SCRIPT_URI start with https into response // 2 = Force redirect to https, until SERVER["HTTPS"] is 'on' into response -// Warning: If you enable this parameter, your web server must be configured -// to respond URL with https protocol. Try different values (1,2) if you -// experience problems. +// 'https://my.domain.com' = Force reditect to https using this domain name. +// Warning: If you enable this parameter, your web server must be configured to +// respond URL with https protocol. +// According to your web server setup, some values may works and other not. Try +// different values (1,2 or 'http://my.domain.com') if you experience problems. // Default value: 0 -// Possible values: 0, 1 or 2 +// Possible values: 0, 1, 2 or 'http://my.domain.com' // Examples: // $dolibarr_main_force_https='0'; // From 118ae7e8f812582540aa5fbd68f240c7d398e31a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 16 Feb 2015 17:55:53 +0100 Subject: [PATCH 114/137] Backport fix done into dev. --- htdocs/install/mysql/migration/3.6.0-3.7.0.sql | 3 +++ 1 file changed, 3 insertions(+) diff --git a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql index 4421ad032eb..22a65167e6f 100755 --- a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql +++ b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql @@ -1155,3 +1155,6 @@ ALTER TABLE llx_resource MODIFY COLUMN entity integer DEFAULT 1 NOT NULL; -- This request make mysql drop (mysql bug, so we add it at end): ALTER TABLE llx_product ADD CONSTRAINT fk_product_barcode_type FOREIGN KEY (fk_barcode_type) REFERENCES llx_c_barcode_type(rowid); +-- this update change the old formated url on llx_bank_url +UPDATE llx_bank_url set url = REPLACE( url, 'fiche.php', 'card.php'); + From 03d19bf77fc335032ee1ee92a8cd4587518f7e0a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 16 Feb 2015 18:02:25 +0100 Subject: [PATCH 115/137] Fix: Sort criteria --- htdocs/opensurvey/list.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/opensurvey/list.php b/htdocs/opensurvey/list.php index d21a08007a4..d13c9884e89 100644 --- a/htdocs/opensurvey/list.php +++ b/htdocs/opensurvey/list.php @@ -43,8 +43,8 @@ if ($page == -1) { $page = 0; } $offset = $conf->liste_limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; -if (! $sortfield) $sortfield="p.titre"; -if (! $sortorder) $sortorder="ASC"; +if (! $sortfield) $sortfield="p.date_fin"; +if (! $sortorder) $sortorder="DESC"; if ($page < 0) { $page = 0; } From 9a9a1f398369d062e6f331b7e8ab943ab77d7e68 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 16 Feb 2015 19:14:34 +0100 Subject: [PATCH 116/137] Fix bad id --- htdocs/expedition/card.php | 5 +- htdocs/expedition/class/expedition.class.php | 12 ++-- .../class/expeditionbatch.class.php | 71 ++++++++++--------- htdocs/expedition/shipment.php | 4 +- htdocs/langs/en_US/productbatch.lang | 2 +- 5 files changed, 50 insertions(+), 44 deletions(-) diff --git a/htdocs/expedition/card.php b/htdocs/expedition/card.php index 562caee3cb0..8ecae0ff2dc 100644 --- a/htdocs/expedition/card.php +++ b/htdocs/expedition/card.php @@ -98,7 +98,7 @@ if (($action == 'create') || ($action == 'add')) { $langs->load("errors"); setEventMessage($langs->trans("WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn"),'errors'); - header("Location: ".DOL_URL_ROOT.'/expedition/shipment.php?id='.$id); + header("Location: ".DOL_URL_ROOT.'/expedition/shipment.php?id='.$origin_id); exit; } } @@ -457,7 +457,6 @@ if ($action == 'create') $classname = ucfirst($origin); $object = new $classname($db); - if ($object->fetch($origin_id)) // This include the fetch_lines { //var_dump($object); @@ -837,7 +836,7 @@ if ($action == 'create') print '
'; } else - { + { dol_print_error($db); } } diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php index 67426510da2..228845d162e 100644 --- a/htdocs/expedition/class/expedition.class.php +++ b/htdocs/expedition/class/expedition.class.php @@ -399,7 +399,7 @@ class Expedition extends CommonObject * @param string $ref Ref of object * @param string $ref_ext External reference of object * @param string $ref_int Internal reference of other object - * @return int >0 if OK, <0 if KO + * @return int >0 if OK, 0 if not found, <0 if KO */ function fetch($id, $ref='', $ref_ext='', $ref_int='') { @@ -496,9 +496,9 @@ class Expedition extends CommonObject } else { - dol_syslog(get_class($this).'::Fetch Error -2', LOG_ERR); + dol_syslog(get_class($this).'::Fetch no expedition found', LOG_ERR); $this->error='Delivery with id '.$id.' not found sql='.$sql; - return -2; + return 0; } } else @@ -613,7 +613,7 @@ class Expedition extends CommonObject if ($result < 0) { $error++; break; } if (! empty($conf->productbatch->enabled)) { - $details=ExpeditionLigneBatch::FetchAll($this->db,$obj->rowid); + $details=ExpeditionLigneBatch::fetchAll($this->db,$obj->rowid); if (! empty($details)) { foreach ($details as $dbatch) { $result=$mouvS->livraison_batch($dbatch->fk_origin_stock,$dbatch->dluo_qty); @@ -1175,9 +1175,9 @@ class Expedition extends CommonObject */ require_once DOL_DOCUMENT_ROOT.'/expedition/class/expeditionbatch.class.php'; if ($originline != $obj->fk_origin_line) { - $line->detail_batch = ExpeditionLigneBatch::FetchAll($this->db,$obj->line_id); + $line->detail_batch = ExpeditionLigneBatch::fetchAll($this->db,$obj->line_id); } else { - $line->detail_batch = array_merge($line->detail_batch,ExpeditionLigneBatch::FetchAll($this->db,$obj->line_id)); + $line->detail_batch = array_merge($line->detail_batch,ExpeditionLigneBatch::fetchAll($this->db,$obj->line_id)); } } if ($originline != $obj->fk_origin_line) { diff --git a/htdocs/expedition/class/expeditionbatch.class.php b/htdocs/expedition/class/expeditionbatch.class.php index 62d23aaa7ff..ea179710271 100644 --- a/htdocs/expedition/class/expeditionbatch.class.php +++ b/htdocs/expedition/class/expeditionbatch.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2007-2015 Laurent Destailleur * Copyright (C) 2013-2014 Cedric GROSS * * This program is free software; you can redistribute it and/or modify @@ -20,13 +20,12 @@ * \file expedition/class/productbatch.class.php * \ingroup productbatch * \brief This file implements CRUD method for managing product's shipment - * with batch record + * with batch record */ - /** +/** * CRUD class for batch number management within shipment */ - class ExpeditionLigneBatch extends CommonObject { var $element='expeditionlignebatch'; //!< Id that identify managed objects @@ -53,18 +52,19 @@ class ExpeditionLigneBatch extends CommonObject } /** - * Fill object based on a product-warehouse-batch's record + * Fill object based on a product-warehouse-batch's record * * @param int $id_stockdluo Rowid in product_batch table * @return int -1 if KO, 1 if OK */ - function fetchFromStock($id_stockdluo) { + function fetchFromStock($id_stockdluo) + { $sql = "SELECT"; $sql.= " t.sellby,"; $sql.= " t.eatby,"; $sql.= " t.batch,"; $sql.= " e.fk_entrepot"; - + $sql.= " FROM ".MAIN_DB_PREFIX."product_batch as t inner join "; $sql.= MAIN_DB_PREFIX."product_stock as e on t.fk_product_stock=e.rowid "; $sql.= " WHERE t.rowid = ".(int) $id_stockdluo; @@ -82,7 +82,6 @@ class ExpeditionLigneBatch extends CommonObject $this->batch = $obj->batch; $this->entrepot_id= $obj->fk_entrepot; $this->fk_origin_stock=(int) $id_stockdluo; - } $this->db->free($resql); @@ -98,14 +97,15 @@ class ExpeditionLigneBatch extends CommonObject /** * Create an expeditiondet_batch DB record link to an expedtiondet record * - * @param int $id_line_expdet rowid of expedtiondet record - * @return int <0 if KO, Id of record (>0) if OK + * @param int $id_line_expdet rowid of expedtiondet record + * @return int <0 if KO, Id of record (>0) if OK */ - function create($id_line_expdet) { + function create($id_line_expdet) + { $error = 0; $id_line_expdet = (int) $id_line_expdet; - + $sql = "INSERT INTO ".MAIN_DB_PREFIX.self::$_table_element." ("; $sql.= "fk_expeditiondet"; $sql.= ", sellby"; @@ -115,23 +115,25 @@ class ExpeditionLigneBatch extends CommonObject $sql.= ", fk_origin_stock"; $sql.= ") VALUES ("; $sql.= $id_line_expdet.","; - $sql.= " ".(! isset($this->sellby) || dol_strlen($this->sellby)==0?'NULL':$this->db->idate($this->sellby)).","; - $sql.= " ".(! isset($this->eatby) || dol_strlen($this->eatby)==0?'NULL':$this->db->idate($this->eatby)).","; + $sql.= " ".(! isset($this->sellby) || dol_strlen($this->sellby)==0?'NULL':"'".$this->db->idate($this->sellby))."',"; + $sql.= " ".(! isset($this->eatby) || dol_strlen($this->eatby)==0?'NULL':"'".$this->db->idate($this->eatby))."',"; $sql.= " ".(! isset($this->batch)?'NULL':"'".$this->db->escape($this->batch)."'").","; $sql.= " ".(! isset($this->dluo_qty)?'NULL':$this->dluo_qty).","; $sql.= " ".(! isset($this->fk_origin_stock)?'NULL':$this->fk_origin_stock); $sql.= ")"; - dol_syslog(__METHOD__ ."", LOG_DEBUG); + dol_syslog(__METHOD__, LOG_DEBUG); $resql=$this->db->query($sql); - if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } - if (! $error){ + if (! $error) + { $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.self::$_table_element); $this->fk_expeditiondet=$id_line_expdet; return $this->id; - } else { + } + else + { foreach($this->errors as $errmsg) { dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR); @@ -147,20 +149,22 @@ class ExpeditionLigneBatch extends CommonObject * * @param object $db Database object * @param int $id_expedition rowid of shipment - * * @return int -1 if KO, 1 if OK */ - static function deletefromexp($db,$id_expedition) { + static function deletefromexp($db,$id_expedition) + { $id_expedition = (int) $id_expedition; - + $sql="DELETE FROM ".MAIN_DB_PREFIX.self::$_table_element; $sql.=" WHERE fk_expeditiondet in (SELECT rowid FROM ".MAIN_DB_PREFIX."expeditiondet WHERE fk_expedition=".$id_expedition.")"; - - dol_syslog(__METHOD__ ."", LOG_DEBUG); - if ( $db->query($sql) ) + + dol_syslog(__METHOD__, LOG_DEBUG); + if ($db->query($sql)) { return 1; - } else { + } + else + { return -1; } } @@ -168,12 +172,12 @@ class ExpeditionLigneBatch extends CommonObject /** * Retrieve all batch number details link to a shipment line * - * @param object $db Database object - * @param int $id_line_expdet id of shipment line - * - * @return variant -1 if KO, array of ExpeditionLigneBatch if OK + * @param object $db Database object + * @param int $id_line_expdet id of shipment line + * @return variant -1 if KO, array of ExpeditionLigneBatch if OK */ - static function FetchAll($db,$id_line_expdet) { + static function fetchAll($db,$id_line_expdet) + { $sql="SELECT rowid,"; $sql.= "fk_expeditiondet"; $sql.= ", sellby"; @@ -190,7 +194,8 @@ class ExpeditionLigneBatch extends CommonObject { $num=$db->num_rows($resql); $i=0; - while ($i<$num) { + while ($i<$num) + { $tmp=new self($db); $obj = $db->fetch_object($resql); @@ -208,7 +213,9 @@ class ExpeditionLigneBatch extends CommonObject } $db->free($resql); return $ret; - } else { + } + else + { return -1; } } diff --git a/htdocs/expedition/shipment.php b/htdocs/expedition/shipment.php index ead48800de5..d5d82f2baa3 100644 --- a/htdocs/expedition/shipment.php +++ b/htdocs/expedition/shipment.php @@ -42,7 +42,7 @@ $langs->load('propal'); $langs->load('deliveries'); $langs->load('stocks'); -$id=GETPOST('id','int'); +$id=GETPOST('id','int'); // id of order $ref= GETPOST('ref','alpha'); $action=GETPOST('action','alpha'); @@ -634,7 +634,7 @@ if ($id > 0 || ! empty($ref)) print '
'; print ''; - print ''; + //print ''; print ''; print ''; print ''; diff --git a/htdocs/langs/en_US/productbatch.lang b/htdocs/langs/en_US/productbatch.lang index 8dd31df3412..c81b1af5374 100644 --- a/htdocs/langs/en_US/productbatch.lang +++ b/htdocs/langs/en_US/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s From 213c818204451bfc53503e9c375126bcdffcec0e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 16 Feb 2015 20:14:16 +0100 Subject: [PATCH 117/137] Debug serial/lot management --- htdocs/commande/card.php | 8 +- htdocs/core/class/commonobject.class.php | 3 +- htdocs/core/lib/order.lib.php | 2 +- htdocs/expedition/card.php | 45 +++++++--- htdocs/expedition/class/expedition.class.php | 85 ++++++++++++------- .../class/expeditionbatch.class.php | 14 +-- htdocs/install/mysql/migration/repair.sql | 12 +++ 7 files changed, 113 insertions(+), 56 deletions(-) diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index cbc6141ac1b..6978de14e40 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -1232,14 +1232,16 @@ $formorder = new FormOrder($db); * * ******************************************************************* */ -if ($action == 'create' && $user->rights->commande->creer) { +if ($action == 'create' && $user->rights->commande->creer) +{ print_fiche_titre($langs->trans('CreateOrder')); $soc = new Societe($db); if ($socid > 0) $res = $soc->fetch($socid); - if (! empty($origin) && ! empty($originid)) { + if (! empty($origin) && ! empty($originid)) + { // Parse element/subelement (ex: project_task) $element = $subelement = $origin; if (preg_match('/^([^_]+)_([^_]+)/i', $origin, $regs)) { @@ -1353,7 +1355,7 @@ if ($action == 'create' && $user->rights->commande->creer) { /* * Contact de la commande - */ + */ if ($socid > 0) { print "
" . $langs->trans("DefaultContact") . ''; $form->select_contacts($soc->id, $setcontact, 'contactid', 1, $srccontactslist); diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index b4aff6002d0..aed2aa3b224 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -2480,12 +2480,13 @@ abstract class CommonObject $tplpath = 'comm/'.$element; if (empty($conf->propal->enabled)) continue; // Do not show if module disabled } - else if ($objecttype == 'shipping') { + else if ($objecttype == 'shipping' || $objecttype == 'shipment') { $tplpath = 'expedition'; if (empty($conf->expedition->enabled)) continue; // Do not show if module disabled } else if ($objecttype == 'delivery') { $tplpath = 'livraison'; + if (empty($conf->expedition->enabled)) continue; // Do not show if module disabled } else if ($objecttype == 'invoice_supplier') { $tplpath = 'fourn/facture'; diff --git a/htdocs/core/lib/order.lib.php b/htdocs/core/lib/order.lib.php index abdf1b648a5..1e0f2f50139 100644 --- a/htdocs/core/lib/order.lib.php +++ b/htdocs/core/lib/order.lib.php @@ -52,7 +52,7 @@ function commande_prepare_head($object) || ($conf->livraison_bon->enabled && $user->rights->expedition->livraison->lire)) { $head[$h][0] = DOL_URL_ROOT.'/expedition/shipment.php?id='.$object->id; - if ($conf->expedition_bon->enabled) $text=$langs->trans("Shipment"); + if ($conf->expedition_bon->enabled) $text=$langs->trans("Shipments"); if ($conf->expedition_bon->enabled && $conf->livraison_bon->enabled) $text.='/'; if ($conf->livraison_bon->enabled) $text.=$langs->trans("Receivings"); $head[$h][1] = $text; diff --git a/htdocs/expedition/card.php b/htdocs/expedition/card.php index 8ecae0ff2dc..846323ba6b6 100644 --- a/htdocs/expedition/card.php +++ b/htdocs/expedition/card.php @@ -144,45 +144,59 @@ if (empty($reshook)) $object->note_private = GETPOST('note_private'); $object->note_public = GETPOST('note_public'); + $batch_line = array(); + $num=count($objectsrc->lines); $totalqty=0; for ($i = 0; $i < $num; $i++) { - $qty = "qtyl".$i; - $j=0; + $idl="idl".$i; + $sub_qty=array(); $subtotalqty=0; - $idl="idl".$i; + + $j=0; $batch="batchl".$i."_0"; - if (isset($_POST[$batch])) { + $qty = "qtyl".$i; + + if (isset($_POST[$batch])) + { //shipment line with batch-enable product $qty .= '_'.$j; - while (isset($_POST[$batch])) { + while (isset($_POST[$batch])) + { + // save line of detail into sub_qty $sub_qty[$j]['q']=GETPOST($qty,'int'); $sub_qty[$j]['id_batch']=GETPOST($batch,'int'); + $subtotalqty+=$sub_qty[$j]['q']; + $j++; $batch="batchl".$i."_".$j; $qty = "qtyl".$i.'_'.$j; - } - $batch_line[$i]['detail']=$sub_qty; + + $batch_line[$i]['detail']=$sub_qty; // array of details $batch_line[$i]['qty']=$subtotalqty; $batch_line[$i]['ix_l']=GETPOST($idl,'int'); + $totalqty+=$subtotalqty; - } else { - //Standard product + } + else + { + //shipment line for product with no batch management if (GETPOST($qty,'int') > 0) $totalqty+=GETPOST($qty,'int'); } } - if ($totalqty > 0) + if ($totalqty > 0) // There is at least one thing to ship { //var_dump($_POST);exit; for ($i = 0; $i < $num; $i++) { $qty = "qtyl".$i; - if (! isset($batch_line[$i])) { + if (! isset($batch_line[$i])) + { // not batch mode if (GETPOST($qty,'int') > 0 || (GETPOST($qty,'int') == 0 && $conf->global->SHIPMENT_GETS_ALL_ORDER_PRODUCTS)) { $ent = "entl".$i; @@ -197,8 +211,11 @@ if (empty($reshook)) $error++; } } - } else { - if ($batch_line[$i]['qty']>0) { + } + else + { // batch mode + if ($batch_line[$i]['qty']>0) + { $ret=$object->addline_batch($batch_line[$i]); if ($ret < 0) { @@ -211,7 +228,7 @@ if (empty($reshook)) if (! $error) { - $ret=$object->create($user); + $ret=$object->create($user); // This create shipment (like Odoo picking) and line of shipments. Stock movement will when validating shipment. if ($ret <= 0) { $mesg='
'.$object->error.'
'; diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php index 228845d162e..379d9849b8f 100644 --- a/htdocs/expedition/class/expedition.class.php +++ b/htdocs/expedition/class/expedition.class.php @@ -255,13 +255,16 @@ class Expedition extends CommonObject $num=count($this->lines); for ($i = 0; $i < $num; $i++) { - if (! isset($this->lines[$i]->detail_batch)) { - if (! $this->create_line($this->lines[$i]->entrepot_id, $this->lines[$i]->origin_line_id, $this->lines[$i]->qty) > 0) - { - $error++; + if (! isset($this->lines[$i]->detail_batch)) + { // no batch management + if (! $this->create_line($this->lines[$i]->entrepot_id, $this->lines[$i]->origin_line_id, $this->lines[$i]->qty) > 0) + { + $error++; + } } - } else { - if (! $this->create_line_ext($this->lines[$i]) > 0) + else + { // with batch management + if (! $this->create_line_batch($this->lines[$i]) > 0) { $error++; } @@ -366,28 +369,37 @@ class Expedition extends CommonObject if (! $error) return 1; else return -1; } + + /** * Create a expedition line with eat-by date * * @param object $line_ext full line informations * @return int <0 if KO, >0 if OK */ - function create_line_ext($line_ext) + function create_line_batch($line_ext) { $error = 0; - if ( $this->create_line(($line_ext->entrepot_id?$line_ext->entrepot_id:'null'),$line_ext->origin_line_id,$line_ext->qty)<0) + if ($this->create_line(($line_ext->entrepot_id?$line_ext->entrepot_id:'null'),$line_ext->origin_line_id,$line_ext->qty) < 0) { $error++; - } else { + } + + if (! $error) + { $line_id= $this->db->last_insert_id(MAIN_DB_PREFIX."expeditiondet"); $tab=$line_ext->detail_batch; - foreach ($tab as $detbatch) { - if (! ($detbatch->create($line_id) >0)) { + foreach ($tab as $detbatch) + { + if (! ($detbatch->create($line_id) >0)) // Create an expeditionlinebatch + { $error++; } } } + + if (! $error) return 1; else return -1; } @@ -612,10 +624,13 @@ class Expedition extends CommonObject $result=$mouvS->livraison($user, $obj->fk_product, $obj->fk_entrepot, $obj->qty, $obj->subprice, $langs->trans("ShipmentValidatedInDolibarr",$numref)); if ($result < 0) { $error++; break; } - if (! empty($conf->productbatch->enabled)) { - $details=ExpeditionLigneBatch::fetchAll($this->db,$obj->rowid); - if (! empty($details)) { - foreach ($details as $dbatch) { + if (! empty($conf->productbatch->enabled)) + { + $details=ExpeditionLineBatch::fetchAll($this->db,$obj->rowid); + if (! empty($details)) + { + foreach ($details as $dbatch) + { $result=$mouvS->livraison_batch($dbatch->fk_origin_stock,$dbatch->dluo_qty); if ($result < 0) { $error++; $this->errors[]=$mouvS->$error; break 2; } } @@ -751,7 +766,8 @@ class Expedition extends CommonObject $line->origin_line_id = $id; $line->qty = $qty; - if($conf->global->STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT) { + if ($conf->global->STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT) + { $orderline = new OrderLine($this->db); $orderline->fetch($id); $fk_product = $orderline->fk_product; @@ -762,7 +778,8 @@ class Expedition extends CommonObject $result=$product->fetch($fk_product); $product_type=$product->type; - if($product_type == 0 && $product->stock_reel < $qty) { + if($product_type == 0 && $product->stock_reel < $qty) + { $this->error=$langs->trans('ErrorStockIsNotEnough'); $this->db->rollback(); return -3; @@ -777,19 +794,23 @@ class Expedition extends CommonObject * Add a shipment line with batch record * * @param array $dbatch Array of value (key 'detail' -> Array, key 'qty' total quantity for line, key ix_l : original line index) - * @return int <0 if KO, >0 if OK + * @return int <0 if KO, >0 if OK */ function addline_batch($dbatch) { $num = count($this->lines); - if ($dbatch['qty']>0) { + if ($dbatch['qty']>0) + { $line = new ExpeditionLigne($this->db); $tab=array(); - foreach ($dbatch['detail'] as $key=>$value) { - if ($value['q']>0) { - $linebatch = new ExpeditionLigneBatch($this->db); - $ret=$linebatch->fetchFromStock($value['id_batch']); - if ($ret<0) { + foreach ($dbatch['detail'] as $key=>$value) + { + if ($value['q']>0) + { + $linebatch = new ExpeditionLineBatch($this->db); + $ret=$linebatch->fetchFromStock($value['id_batch']); // load serial, sellby, eatby + if ($ret<0) + { $this->error=$linebatch->error; return -1; } @@ -932,10 +953,13 @@ class Expedition extends CommonObject $this->db->begin(); - if ($conf->productbatch->enabled) { + if ($conf->productbatch->enabled) + { require_once DOL_DOCUMENT_ROOT.'/expedition/class/expeditionbatch.class.php'; - if ( ExpeditionLigneBatch::deletefromexp($this->db,$this->id)<0) - {$error++;$this->errors[]="Error ".$this->db->lasterror();} + if (ExpeditionLineBatch::deletefromexp($this->db,$this->id) < 0) + { + $error++;$this->errors[]="Error ".$this->db->lasterror(); + } } // Stock control if ($conf->stock->enabled && $conf->global->STOCK_CALCULATE_ON_SHIPMENT && $this->statut > 0) @@ -1174,10 +1198,11 @@ class Expedition extends CommonObject * May be conf is not well initialized for dark reason */ require_once DOL_DOCUMENT_ROOT.'/expedition/class/expeditionbatch.class.php'; - if ($originline != $obj->fk_origin_line) { - $line->detail_batch = ExpeditionLigneBatch::fetchAll($this->db,$obj->line_id); + if ($originline != $obj->fk_origin_line) + { + $line->detail_batch = ExpeditionLineBatch::fetchAll($this->db,$obj->line_id); } else { - $line->detail_batch = array_merge($line->detail_batch,ExpeditionLigneBatch::fetchAll($this->db,$obj->line_id)); + $line->detail_batch = array_merge($line->detail_batch,ExpeditionLineBatch::fetchAll($this->db,$obj->line_id)); } } if ($originline != $obj->fk_origin_line) { diff --git a/htdocs/expedition/class/expeditionbatch.class.php b/htdocs/expedition/class/expeditionbatch.class.php index ea179710271..cc5726ed0c8 100644 --- a/htdocs/expedition/class/expeditionbatch.class.php +++ b/htdocs/expedition/class/expeditionbatch.class.php @@ -17,16 +17,16 @@ */ /** - * \file expedition/class/productbatch.class.php + * \file expedition/class/expeditionbatch.class.php * \ingroup productbatch - * \brief This file implements CRUD method for managing product's shipment + * \brief This file implements CRUD method for managing shipment batch lines * with batch record */ /** * CRUD class for batch number management within shipment */ -class ExpeditionLigneBatch extends CommonObject +class ExpeditionLineBatch extends CommonObject { var $element='expeditionlignebatch'; //!< Id that identify managed objects private static $_table_element='expeditiondet_batch'; //!< Name of table without prefix where object is stored @@ -115,9 +115,9 @@ class ExpeditionLigneBatch extends CommonObject $sql.= ", fk_origin_stock"; $sql.= ") VALUES ("; $sql.= $id_line_expdet.","; - $sql.= " ".(! isset($this->sellby) || dol_strlen($this->sellby)==0?'NULL':"'".$this->db->idate($this->sellby))."',"; - $sql.= " ".(! isset($this->eatby) || dol_strlen($this->eatby)==0?'NULL':"'".$this->db->idate($this->eatby))."',"; - $sql.= " ".(! isset($this->batch)?'NULL':"'".$this->db->escape($this->batch)."'").","; + $sql.= " ".(! isset($this->sellby) || dol_strlen($this->sellby)==0?'NULL':("'".$this->db->idate($this->sellby))."'").","; + $sql.= " ".(! isset($this->eatby) || dol_strlen($this->eatby)==0?'NULL':("'".$this->db->idate($this->eatby))."'").","; + $sql.= " ".(! isset($this->batch)?'NULL':("'".$this->db->escape($this->batch)."'")).","; $sql.= " ".(! isset($this->dluo_qty)?'NULL':$this->dluo_qty).","; $sql.= " ".(! isset($this->fk_origin_stock)?'NULL':$this->fk_origin_stock); $sql.= ")"; @@ -174,7 +174,7 @@ class ExpeditionLigneBatch extends CommonObject * * @param object $db Database object * @param int $id_line_expdet id of shipment line - * @return variant -1 if KO, array of ExpeditionLigneBatch if OK + * @return variant -1 if KO, array of ExpeditionLineBatch if OK */ static function fetchAll($db,$id_line_expdet) { diff --git a/htdocs/install/mysql/migration/repair.sql b/htdocs/install/mysql/migration/repair.sql index 9e1ca7bb6f9..fe0f8fb2a13 100755 --- a/htdocs/install/mysql/migration/repair.sql +++ b/htdocs/install/mysql/migration/repair.sql @@ -73,6 +73,18 @@ delete from llx_livraisondet where fk_livraison not in (select fk_target from ll delete from llx_livraison where rowid not in (select fk_target from llx_element_element where targettype = 'delivery') AND rowid not in (select fk_source from llx_element_element where sourcetype = 'delivery'); +-- Fix delete element_element orphelins (right side) +delete from llx_element_element where targettype='shipping' and fk_target not in (select rowid from llx_expedition); +delete from llx_element_element where targettype='propal' and fk_target not in (select rowid from llx_propal); +delete from llx_element_element where targettype='facture' and fk_target not in (select rowid from llx_facture); +delete from llx_element_element where targettype='commande' and fk_target not in (select rowid from llx_commande); +-- Fix delete element_element orphelins (left side) +delete from llx_element_element where sourcetype='shipping' and fk_source not in (select rowid from llx_expedition); +delete from llx_element_element where sourcetype='propal' and fk_source not in (select rowid from llx_propal); +delete from llx_element_element where sourcetype='facture' and fk_source not in (select rowid from llx_facture); +delete from llx_element_element where sourcetype='commande' and fk_source not in (select rowid from llx_commande); + + UPDATE llx_product SET canvas = NULL where canvas = 'default@product'; UPDATE llx_product SET canvas = NULL where canvas = 'service@product'; From aa380f6ee053302cb80aa1b177c47e3ff2f0aa17 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 16 Feb 2015 20:43:39 +0100 Subject: [PATCH 118/137] fix bad include --- htdocs/commande/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index 6978de14e40..918244528cc 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -1155,7 +1155,7 @@ if (empty($reshook)) $action = 'edit_extras'; } - include DOL_DOCUMENT_ROOT.'/core/actions_printipp.inc.php'; + include DOL_DOCUMENT_ROOT.'/core/actions_printing.inc.php'; /* From 1e78d0e8d499e694545c698b3807af9d83f1b294 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 16 Feb 2015 20:46:54 +0100 Subject: [PATCH 119/137] New: Introduce hidden option STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS to solve, with no risk, a missing control on missing warehouse. --- ChangeLog | 2 ++ htdocs/core/lib/order.lib.php | 2 +- htdocs/expedition/class/expedition.class.php | 26 ++++++++++++++------ htdocs/langs/en_US/productbatch.lang | 2 +- htdocs/langs/en_US/sendings.lang | 2 +- htdocs/langs/en_US/stocks.lang | 2 +- 6 files changed, 24 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8bdae25eac7..0eac6781fc3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -85,6 +85,8 @@ For users: - New : Use of MAIN_USE_FILECACHE_EXPORT_EXCEL_DIR to use disk cache for big excel export. - New : Option on extrafields to have them always editable regardless of the document status. - New : New module PrintIPP to print without opening document is available as stable. +- New : Introduce hidden option STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS to solve at no risk + a missing control on missing warehouse. - Fix: [ bug #1487 ] PAYMENT_DELETE trigger does not intercept trigger action - Fix: [ bug #1470, #1472, #1473] User trigger problem - Fix: [ bug #1489, #1491 ] Intervention trigger problem diff --git a/htdocs/core/lib/order.lib.php b/htdocs/core/lib/order.lib.php index abdf1b648a5..1e0f2f50139 100644 --- a/htdocs/core/lib/order.lib.php +++ b/htdocs/core/lib/order.lib.php @@ -52,7 +52,7 @@ function commande_prepare_head($object) || ($conf->livraison_bon->enabled && $user->rights->expedition->livraison->lire)) { $head[$h][0] = DOL_URL_ROOT.'/expedition/shipment.php?id='.$object->id; - if ($conf->expedition_bon->enabled) $text=$langs->trans("Shipment"); + if ($conf->expedition_bon->enabled) $text=$langs->trans("Shipments"); if ($conf->expedition_bon->enabled && $conf->livraison_bon->enabled) $text.='/'; if ($conf->livraison_bon->enabled) $text.=$langs->trans("Receivings"); $head[$h][1] = $text; diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php index e6cc0e86d09..0113a582dfb 100644 --- a/htdocs/expedition/class/expedition.class.php +++ b/htdocs/expedition/class/expedition.class.php @@ -732,10 +732,12 @@ class Expedition extends CommonObject } /** - * Add a expedition line + * Add a expedition line. + * If STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS is set, you can add a shipment line, with no stock source defined + * If STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT is not set, you can add a shipment line, even if not enough into stock * * @param int $entrepot_id Id of warehouse - * @param int $id Id of source line + * @param int $id Id of source line (order line) * @param int $qty Quantity * @return int <0 if KO, >0 if OK */ @@ -750,18 +752,26 @@ class Expedition extends CommonObject $line->origin_line_id = $id; $line->qty = $qty; - if($conf->global->STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT) { - $orderline = new OrderLine($this->db); - $orderline->fetch($id); - $fk_product = $orderline->fk_product; + $orderline = new OrderLine($this->db); + $orderline->fetch($id); + $fk_product = $orderline->fk_product; - if (!empty($orderline->fk_product)) + if (! empty($orderline->fk_product)) + { + if (! ($entrepot_id > 0) && empty($conf->global->STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS)) + { + $this->error=$langs->trans("ErrorWarehouseRequiredIntoShipmentLine"); + return -1; + } + + if ($conf->global->STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT) // FIXME Check is done for stock of product, it must be done for stock of product into warehouse if $entrepot_id defined { $product=new Product($this->db); $result=$product->fetch($fk_product); $product_type=$product->type; - if($product_type == 0 && $product->stock_reel < $qty) { + if ($product_type == 0 && $product->stock_reel < $qty) + { $this->error=$langs->trans('ErrorStockIsNotEnough'); $this->db->rollback(); return -3; diff --git a/htdocs/langs/en_US/productbatch.lang b/htdocs/langs/en_US/productbatch.lang index 0102f688b1b..ded965131de 100644 --- a/htdocs/langs/en_US/productbatch.lang +++ b/htdocs/langs/en_US/productbatch.lang @@ -11,7 +11,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/en_US/sendings.lang b/htdocs/langs/en_US/sendings.lang index f1489508ec6..faf41d116b9 100644 --- a/htdocs/langs/en_US/sendings.lang +++ b/htdocs/langs/en_US/sendings.lang @@ -22,7 +22,7 @@ QtyOrdered=Qty ordered QtyShipped=Qty shipped QtyToShip=Qty to ship QtyReceived=Qty received -KeepToShip=Keep to ship +KeepToShip=Remain to ship OtherSendingsForSameOrder=Other shipments for this order DateSending=Date sending order DateSendingShort=Date sending order diff --git a/htdocs/langs/en_US/stocks.lang b/htdocs/langs/en_US/stocks.lang index d77c65a9a13..0e3e7dd6c27 100644 --- a/htdocs/langs/en_US/stocks.lang +++ b/htdocs/langs/en_US/stocks.lang @@ -122,4 +122,4 @@ RuleForStockAvailability=Rules on stock requirements StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment - +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when batch module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. From 5688e8ecd815c5eb7e3d45b8cf1f3b94ff336dd7 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 16 Feb 2015 20:51:05 +0100 Subject: [PATCH 120/137] Add todo to show code is missing here --- htdocs/expedition/class/expedition.class.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php index 0113a582dfb..2eb5a61e3fc 100644 --- a/htdocs/expedition/class/expedition.class.php +++ b/htdocs/expedition/class/expedition.class.php @@ -804,6 +804,12 @@ class Expedition extends CommonObject } $linebatch->dluo_qty=$value['q']; $tab[]=$linebatch; + + if ($conf->global->STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT) + { + // TODO + } + } } $line->entrepot_id = $linebatch->entrepot_id; From c01281a538b300caa4d729ec094f8479190d1335 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Mon, 16 Feb 2015 23:45:52 +0100 Subject: [PATCH 121/137] Renamed WorkBoardResponse::$late_url to WorkBoardResponse::$url_late --- htdocs/core/class/WorkBoardResponse.class.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/htdocs/core/class/WorkBoardResponse.class.php b/htdocs/core/class/WorkBoardResponse.class.php index 4cb0a1be0e7..ae82c7e3a48 100644 --- a/htdocs/core/class/WorkBoardResponse.class.php +++ b/htdocs/core/class/WorkBoardResponse.class.php @@ -42,18 +42,18 @@ class WorkBoardResponse */ public $url; + /** + * (optional) If set, to do late items will link to this url + * @var string + */ + public $url_late; + /** * Delay time to mark an item as late * @var int */ public $warning_delay; - /** - * (optional) If set, to do late items will link to this url - * @var string - */ - public $lateurl; - /** * Number of items to do * @var int From fa55c60c35db0023e9763101445da545e0f7b35a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Mon, 16 Feb 2015 23:49:07 +0100 Subject: [PATCH 122/137] Renamed WorkBoardResponse to WorkboardResponse --- htdocs/adherents/class/adherent.class.php | 4 ++-- htdocs/comm/action/class/actioncomm.class.php | 4 ++-- htdocs/comm/propal/class/propal.class.php | 4 ++-- htdocs/commande/class/commande.class.php | 4 ++-- htdocs/compta/bank/class/account.class.php | 4 ++-- htdocs/compta/facture/class/facture.class.php | 4 ++-- .../compta/paiement/cheque/class/remisecheque.class.php | 4 ++-- htdocs/contrat/class/contrat.class.php | 4 ++-- ...oardResponse.class.php => WorkboardResponse.class.php} | 4 ++-- htdocs/fourn/class/fournisseur.commande.class.php | 4 ++-- htdocs/fourn/class/fournisseur.facture.class.php | 4 ++-- htdocs/index.php | 8 ++++---- 12 files changed, 26 insertions(+), 26 deletions(-) rename htdocs/core/class/{WorkBoardResponse.class.php => WorkboardResponse.class.php} (94%) diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index b275369be4e..9a385becff3 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -1726,7 +1726,7 @@ class Adherent extends CommonObject * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Objet user - * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK + * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ function load_board($user) { @@ -1747,7 +1747,7 @@ class Adherent extends CommonObject { $langs->load("members"); - $response = new WorkBoardResponse(); + $response = new WorkboardResponse(); $response->warning_delay=$conf->adherent->cotisation->warning_delay/60/60/24; $response->label=$langs->trans("MembersWithSubscriptionToReceive"); $response->url=DOL_URL_ROOT.'/adherents/list.php?mainmenu=members&statut=1'; diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index e49b67604d5..5cfe1dc7310 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -716,7 +716,7 @@ class ActionComm extends CommonObject * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Objet user - * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK + * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ function load_board($user) { @@ -738,7 +738,7 @@ class ActionComm extends CommonObject { $now = dol_now(); - $response = new WorkBoardResponse(); + $response = new WorkboardResponse(); $response->warning_delay = $conf->actions->warning_delay/60/60/24; $response->label = $langs->trans("ActionsToDo"); $response->url = DOL_URL_ROOT.'/comm/action/listactions.php?status=todo&mainmenu=agenda'; diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index 80cfb5b3266..edc6d7bfd94 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -2345,7 +2345,7 @@ class Propal extends CommonObject * * @param User $user Object user * @param int $mode "opened" for proposal to close, "signed" for proposal to invoice - * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK + * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ function load_board($user,$mode) { @@ -2383,7 +2383,7 @@ class Propal extends CommonObject $label = $langs->trans("PropalsToBill"); } - $response = new WorkBoardResponse(); + $response = new WorkboardResponse(); $response->warning_delay = $delay_warning; $response->label = $label; $response->url = DOL_URL_ROOT.'/comm/propal/list.php?viewstatut='.$statut; diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 19fd5c98a2b..d5c6b3f7715 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -2725,7 +2725,7 @@ class Commande extends CommonOrder * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Object user - * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK + * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ function load_board($user) { @@ -2751,7 +2751,7 @@ class Commande extends CommonOrder { $now=dol_now(); - $response = new WorkBoardResponse(); + $response = new WorkboardResponse(); $response->warning_delay=$conf->commande->client->warning_delay/60/60/24; $response->label=$langs->trans("OrdersToProcess"); $response->url=DOL_URL_ROOT.'/commande/list.php?viewstatut=-3'; diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index 85a6ad24b85..a2d9aec8ad4 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -882,7 +882,7 @@ class Account extends CommonObject * * @param User $user Objet user * @param int $filteraccountid To get info for a particular account id - * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK + * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ function load_board($user,$filteraccountid=0) { @@ -905,7 +905,7 @@ class Account extends CommonObject $langs->load("banks"); $now=dol_now(); - $response = new WorkBoardResponse(); + $response = new WorkboardResponse(); $response->warning_delay=$conf->bank->rappro->warning_delay/60/60/24; $response->label=$langs->trans("TransactionsToConciliate"); $response->url=DOL_URL_ROOT.'/compta/bank/index.php?leftmenu=bank&mainmenu=bank'; diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index 71328871323..50a68b2c66a 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -3085,7 +3085,7 @@ class Facture extends CommonInvoice * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Object user - * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK + * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ function load_board($user) { @@ -3112,7 +3112,7 @@ class Facture extends CommonInvoice $langs->load("bills"); $now=dol_now(); - $response = new WorkBoardResponse(); + $response = new WorkboardResponse(); $response->warning_delay=$conf->facture->client->warning_delay/60/60/24; $response->label=$langs->trans("CustomerBillsUnpaid"); $response->url=DOL_URL_ROOT.'/compta/facture/impayees.php'; diff --git a/htdocs/compta/paiement/cheque/class/remisecheque.class.php b/htdocs/compta/paiement/cheque/class/remisecheque.class.php index 88f9d573737..ddda11bb556 100644 --- a/htdocs/compta/paiement/cheque/class/remisecheque.class.php +++ b/htdocs/compta/paiement/cheque/class/remisecheque.class.php @@ -433,7 +433,7 @@ class RemiseCheque extends CommonObject * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Objet user - * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK + * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ function load_board($user) { @@ -456,7 +456,7 @@ class RemiseCheque extends CommonObject $langs->load("banks"); $now=dol_now(); - $response = new WorkBoardResponse(); + $response = new WorkboardResponse(); $response->warning_delay=$conf->bank->cheque->warning_delay/60/60/24; $response->label=$langs->trans("BankChecksToReceipt"); $response->url=DOL_URL_ROOT.'/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=accountancy'; diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index 9a5afc0aea1..3cd35db15b5 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -1881,7 +1881,7 @@ class Contrat extends CommonObject * * @param User $user Objet user * @param string $mode "inactive" pour services a activer, "expired" pour services expires - * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK + * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ function load_board($user,$mode) { @@ -1929,7 +1929,7 @@ class Contrat extends CommonObject $label = $langs->trans("BoardRunningServices"); } - $response = new WorkBoardResponse(); + $response = new WorkboardResponse(); $response->warning_delay = $warning_delay/60/60/24; $response->label = $label; $response->url = $url; diff --git a/htdocs/core/class/WorkBoardResponse.class.php b/htdocs/core/class/WorkboardResponse.class.php similarity index 94% rename from htdocs/core/class/WorkBoardResponse.class.php rename to htdocs/core/class/WorkboardResponse.class.php index ae82c7e3a48..c36b50b421e 100644 --- a/htdocs/core/class/WorkBoardResponse.class.php +++ b/htdocs/core/class/WorkboardResponse.class.php @@ -17,11 +17,11 @@ */ /** - * \file htdocs/core/class/WorkBoardResponse.class.php + * \file htdocs/core/class/WorkboardResponse.class.php * \brief Class that represents response of load_board functions */ -class WorkBoardResponse +class WorkboardResponse { /** diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index 300a1ad1260..4917ebd2779 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -2000,7 +2000,7 @@ class CommandeFournisseur extends CommonOrder * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Objet user - * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK + * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ function load_board($user) { @@ -2025,7 +2025,7 @@ class CommandeFournisseur extends CommonOrder { $now=dol_now(); - $response = new WorkBoardResponse(); + $response = new WorkboardResponse(); $response->warning_delay=$conf->commande->fournisseur->warning_delay/60/60/24; $response->label=$langs->trans("SuppliersOrdersToProcess"); $response->url=DOL_URL_ROOT.'/fourn/commande/index.php'; diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index c8735362cca..d7252d188db 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -1421,7 +1421,7 @@ class FactureFournisseur extends CommonInvoice * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Object user - * @return WorkBoardResponse|int <0 if KO, WorkBoardResponse if OK + * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ function load_board($user) { @@ -1442,7 +1442,7 @@ class FactureFournisseur extends CommonInvoice $langs->load("bills"); $now=dol_now(); - $response = new WorkBoardResponse(); + $response = new WorkboardResponse(); $response->warning_delay=$conf->facture->fournisseur->warning_delay/60/60/24; $response->label=$langs->trans("SupplierBillsToPay"); $response->url=DOL_URL_ROOT.'/fourn/facture/list.php?filtre=paye:0'; diff --git a/htdocs/index.php b/htdocs/index.php index 54cda381489..32b13c7a63f 100644 --- a/htdocs/index.php +++ b/htdocs/index.php @@ -293,7 +293,7 @@ print '
'; */ $showweather=empty($conf->global->MAIN_DISABLE_METEO)?1:0; -//Array that contains all WorkBoardResponse classes to process them +//Array that contains all WorkboardResponse classes to process them $dashboardlines=array(); print ''."\n"; @@ -311,7 +311,7 @@ print ''."\n"; // Do not include sections without management permission // -require DOL_DOCUMENT_ROOT.'/core/class/WorkBoardResponse.class.php'; +require DOL_DOCUMENT_ROOT.'/core/class/WorkboardResponse.class.php'; // Number of actions to do (late) if (! empty($conf->agenda->enabled) && $user->rights->agenda->myactions->read) @@ -405,9 +405,9 @@ $totallate=0; $var=true; //Remove any invalid response -//load_board can return an integer if failed or WorkBoardResponse if OK +//load_board can return an integer if failed or WorkboardResponse if OK $valid_dashboardlines = array_filter($dashboardlines, function ($board) { - return $board instanceof WorkBoardResponse; + return $board instanceof WorkboardResponse; }); $rowspan = count($valid_dashboardlines); From a64cd69639507a7a5ef788325381f42675edb9e9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 17 Feb 2015 09:56:19 +0100 Subject: [PATCH 123/137] phpcs --- .../modules/expensereport/doc/pdf_standard.modules.php | 10 +++++----- htdocs/expensereport/class/expensereport.class.php | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php index 450007a0dc6..0323d2f383d 100755 --- a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php @@ -660,11 +660,11 @@ class pdf_ extends ModeleExpenseReport /** * Affiche la grille des lignes de factures * - * @param $pdf Objet PDF - * @param $tab_top Tab top - * @param $tab_height Tab height - * @param $nexY next y - * @param $outputlangs Output langs + * @param PDF $pdf Object PDF + * @param int $tab_top Tab top + * @param int $tab_height Tab height + * @param int $nexY next y + * @param Translate $outputlangs Output langs * @return void */ function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs) diff --git a/htdocs/expensereport/class/expensereport.class.php b/htdocs/expensereport/class/expensereport.class.php index c357807f315..84db5bd9ece 100755 --- a/htdocs/expensereport/class/expensereport.class.php +++ b/htdocs/expensereport/class/expensereport.class.php @@ -561,7 +561,7 @@ class ExpenseReport extends CommonObject /** * recalculer * - * @param int $id + * @param int $id Id of expense report * @return int <0 if KO, >0 if OK */ function recalculer($id) From bc88917b812e0e69d25e654874c8085cb5259c31 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 17 Feb 2015 10:18:01 +0100 Subject: [PATCH 124/137] phpcs --- htdocs/core/modules/expensereport/doc/pdf_standard.modules.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php index 0323d2f383d..8b84ff505ec 100755 --- a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php @@ -444,7 +444,7 @@ class pdf_ extends ModeleExpenseReport /** * Show top header of page. * - * @param PDF &$pdf Object PDF + * @param PDF $pdf Object PDF * @param Object $object Object to show * @param int $showaddress 0=no, 1=yes * @param Translate $outputlangs Object lang for output From 9d0ffb7e85d6e06d5ab861869b2a3e611e32784b Mon Sep 17 00:00:00 2001 From: frederic34 Date: Tue, 17 Feb 2015 10:23:31 +0100 Subject: [PATCH 125/137] Add php-iban and check IBAN --- htdocs/core/lib/bank.lib.php | 23 +++++++++++++++++++++++ htdocs/societe/rib.php | 10 +++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/htdocs/core/lib/bank.lib.php b/htdocs/core/lib/bank.lib.php index e3fb787657b..77b92447d3f 100644 --- a/htdocs/core/lib/bank.lib.php +++ b/htdocs/core/lib/bank.lib.php @@ -123,6 +123,29 @@ function bank_admin_prepare_head($object) return $head; } +/** + * Check IBAN number informations for a bank account + * + * @param Account $account A bank account + * @return int True if informations are valid, false otherwise + */ +function checkIbanForAccount($account) +{ + require_once DOL_DOCUMENT_ROOT.'/includes/php-iban/oophp-iban.php'; + $iban = new Iban(); + $check = $iban->Verify($account->iban); + //print '
'.print_r($iban, true).'
'; + if ($check) { + //print '
OK
'; + return true; + } else { + //$suggest = $iban->MistranscriptionSuggestions($account->iban); + //print '
'.print_r($suggest, true).'
'; + return false; + } + +} + /** * Check account number informations for a bank account * diff --git a/htdocs/societe/rib.php b/htdocs/societe/rib.php index f57eb6a5b70..a615577a8c4 100644 --- a/htdocs/societe/rib.php +++ b/htdocs/societe/rib.php @@ -293,7 +293,15 @@ if ($socid && $action != 'edit' && $action != "create") } print '
'; - print ''; + print ''; print ''; print ''; From 07197f3ca08b5dad641ee21887c7fc4327abf573 Mon Sep 17 00:00:00 2001 From: frederic34 Date: Tue, 17 Feb 2015 10:24:37 +0100 Subject: [PATCH 126/137] Add libs --- htdocs/core/lib/bank.lib.php | 4 +- htdocs/includes/php-iban/LICENSE | 165 ++++++ .../includes/php-iban/docs/COMEDY-OF-ERRORS | 55 ++ ...d implementation guidelines SIG203V3.2.pdf | Bin 0 -> 229029 bytes htdocs/includes/php-iban/docs/HACKING | 63 +++ htdocs/includes/php-iban/docs/ISO13616.pdf | Bin 0 -> 141593 bytes htdocs/includes/php-iban/docs/LICENSE | 165 ++++++ htdocs/includes/php-iban/docs/README | 207 ++++++++ htdocs/includes/php-iban/docs/REGISTRY-URL | 17 + htdocs/includes/php-iban/docs/SEPA | 9 + htdocs/includes/php-iban/docs/TODO | 21 + .../includes/php-iban/mistranscriptions.txt | 49 ++ htdocs/includes/php-iban/oophp-iban.php | 157 ++++++ htdocs/includes/php-iban/php-iban.php | 486 ++++++++++++++++++ htdocs/includes/php-iban/registry.txt | 81 +++ 15 files changed, 1477 insertions(+), 2 deletions(-) create mode 100644 htdocs/includes/php-iban/LICENSE create mode 100644 htdocs/includes/php-iban/docs/COMEDY-OF-ERRORS create mode 100644 htdocs/includes/php-iban/docs/ECBS standard implementation guidelines SIG203V3.2.pdf create mode 100644 htdocs/includes/php-iban/docs/HACKING create mode 100644 htdocs/includes/php-iban/docs/ISO13616.pdf create mode 100644 htdocs/includes/php-iban/docs/LICENSE create mode 100644 htdocs/includes/php-iban/docs/README create mode 100644 htdocs/includes/php-iban/docs/REGISTRY-URL create mode 100644 htdocs/includes/php-iban/docs/SEPA create mode 100644 htdocs/includes/php-iban/docs/TODO create mode 100644 htdocs/includes/php-iban/mistranscriptions.txt create mode 100644 htdocs/includes/php-iban/oophp-iban.php create mode 100644 htdocs/includes/php-iban/php-iban.php create mode 100644 htdocs/includes/php-iban/registry.txt diff --git a/htdocs/core/lib/bank.lib.php b/htdocs/core/lib/bank.lib.php index 77b92447d3f..36626ffcc94 100644 --- a/htdocs/core/lib/bank.lib.php +++ b/htdocs/core/lib/bank.lib.php @@ -132,8 +132,8 @@ function bank_admin_prepare_head($object) function checkIbanForAccount($account) { require_once DOL_DOCUMENT_ROOT.'/includes/php-iban/oophp-iban.php'; - $iban = new Iban(); - $check = $iban->Verify($account->iban); + $iban = new Iban($account->iban); + $check = $iban->Verify(); //print '
'.print_r($iban, true).'
'; if ($check) { //print '
OK
'; diff --git a/htdocs/includes/php-iban/LICENSE b/htdocs/includes/php-iban/LICENSE new file mode 100644 index 00000000000..65c5ca88a67 --- /dev/null +++ b/htdocs/includes/php-iban/LICENSE @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/htdocs/includes/php-iban/docs/COMEDY-OF-ERRORS b/htdocs/includes/php-iban/docs/COMEDY-OF-ERRORS new file mode 100644 index 00000000000..0eb3b8860ad --- /dev/null +++ b/htdocs/includes/php-iban/docs/COMEDY-OF-ERRORS @@ -0,0 +1,55 @@ +This file lists specific errors observed in the official IBAN specification. + +In addition to the specific errors, there persist basic outstanding +matters that cause issue for implementers: + - Non 1:1 mapping of records to countries (eg: French territories, etc.) + - Mixing of free text and hard data in specification fields + - Lack of validation of information in fields prior to publishing + - Lack of synchronisation between TXT and PDF versions of the registry + +2011-07-16 +---------- + - No information for Kuwait past sixth column + - Total absence of information regarding Kazakhstan + - '1.00001E+15' instead of a valid BBAN example for Lithuania + - Repeated IBAN example in human format instead of IBAN format- + specification for UAE + - Incorrect domestic example for Bulgaria, Kazakhstan, Latvia, + Lithuania, Luxembourg, Macedonia, Mauritius, Romania, San Marino + (complete, human-format IBAN instead of domestic example) + +Early 2012 +---------- + - Inconsistent record ordering (KW, KZ) + - Inconsistent capitalization (DK) + - Continued presence of incorrect domestic examples + +February 2013 +------------- + - Deployment of unparseable special values such as "Not in use" (FI). + - Still(!) missing a registry entry for 2010's 'new' entry of Khazakstan + +September 2013 +-------------- + - Azerbaijan, Brazil, Costa Rica, Palestine, Virgin Islands 'SEPA + Country' field in PDF (yes/no) is completely blank + +March 2014 +---------- + - In multiple cases, territories of a major country have a SEPA status + that differs from the parent jurisdiction. The IBAN specification as + previously released does not include individual records for these + territories, and thus cannot convey this important information. + - The IBAN registry's old URL is no longer publicly available! Its now + ends in a 404, and the apparent new home, located over at + http://www.swift.com/products_services/by_type/reference_data/iban_registry_iso13616 + does not have any content. The parent portion of this part of the + SWIFT website suggests the information may have been moved to a new + 'SWIFTRef' site, however that site appears to only peddle paid for + directories of BICs and similar. The new location after much + searching was found to be http://www.swift.com/products_services/bic_and_iban_format_registration_iban_format_r + +June 2014 +--------- + - The TXT registry records of QA and JO do not match those within the + PDF and are essentially spurious while looking roughly correct. Dang. diff --git a/htdocs/includes/php-iban/docs/ECBS standard implementation guidelines SIG203V3.2.pdf b/htdocs/includes/php-iban/docs/ECBS standard implementation guidelines SIG203V3.2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c7c860aee67e0d718e9c87eee383c28d01c0c6f7 GIT binary patch literal 229029 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 literal 0 HcmV?d00001 diff --git a/htdocs/includes/php-iban/docs/HACKING b/htdocs/includes/php-iban/docs/HACKING new file mode 100644 index 00000000000..dfc48f1ae5b --- /dev/null +++ b/htdocs/includes/php-iban/docs/HACKING @@ -0,0 +1,63 @@ +By unix tradition, this file outlines information that may be useful to +people who wish to modify the php-iban project. It outlines some basic +information around design decisions and other considerations. + + Procedural style + ---------------- + The code is written in PHP's original procedural style, and does + not require or assume any OO model. This is unix tradition and + should ease any integration pains due to objectspace mismatches. + In addition, it should make it easy for users both within an OO + or a procedural codebase to make use of the library. An OO wrapper + has been supplied to make things more familiar for those who are + only exposed to OO PHP: please try to keep it in synch with the + procedural (main) library where possible. + + Registry maintenance + -------------------- + The 'convert-registry.php' tool found in the 'utils/' subdirectory + is intended to assist with the automatic conversion of the SWIFT- + provided 'IBAN Registry' text files to the format required to + support php-iban execution. Why is there a new format, and why is it + distributed with php-iban instead of being generated on the fly + from SWIFT-provided data files? There are a few reasons: + + - Error correction + If errors are discovered in the official specification then they + can be resolved by us. There are (or have been) known errors + with the official IBAN Registry. (See COMEDY-OF-ERRORS) + + - Exclusion correction + If exclusions are discovered in the official specification then + they can be resolved by us. There are (or have been) known + exclusions from the official IBAN Registry. (See COMEDY-OF-ERRORS) + + - Efficiency + Because pattern matching is a core part of the functionality of + php-iban, and the pattern algorithms distributed by SWIFT are + (rather strangely) not in regular expression format, using their + files directly would result in a fairly significant startup + penalty as pattern conversion would be required (at each + invocation!) unless a caching strategy were deployed, which would + create additional complexity and sources of bugs (in addition, + due to the previous two points automatic conversion is not + presently possible ... and may never be!) + + - Maintainability + Distribution of a modified registry along with php-iban places + the burden of registry maintenance on with the package + maintainer(s) rather than with the user. This is better for + users who, if they really want, can still hack their local copy. + + Note that due to points one and two, the 'convert-registry.php' tool + is insufficient to produce a correct 'registry.txt' file. (You may + wish to review the differences between your newly generated file + and the original with the 'diff' tool in order to ascertain what + has changed.) + + A closing point on the registry: obviously, if any new fields are + added, then it is best to append them to the end of the registry + (rightmost, new field) in order to preserve backwards compatibility + instead of re-ordering the fields which would break older installs. + (The internal '_iban_load_registry()' function re-orders these fields + at load time in order to simplify runtime debugging, anyway.) diff --git a/htdocs/includes/php-iban/docs/ISO13616.pdf b/htdocs/includes/php-iban/docs/ISO13616.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fa23285c4f773896fee58e41970274af10ec5fd4 GIT binary patch literal 141593 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 P=U`jbxq0*M)1A)Wf3>z5 literal 0 HcmV?d00001 diff --git a/htdocs/includes/php-iban/docs/LICENSE b/htdocs/includes/php-iban/docs/LICENSE new file mode 100644 index 00000000000..fc8a5de7edf --- /dev/null +++ b/htdocs/includes/php-iban/docs/LICENSE @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/htdocs/includes/php-iban/docs/README b/htdocs/includes/php-iban/docs/README new file mode 100644 index 00000000000..e0deacd88f3 --- /dev/null +++ b/htdocs/includes/php-iban/docs/README @@ -0,0 +1,207 @@ +php-iban README +--------------- + +php-iban is a library for parsing and validating International Bank +Account Number (IBAN) information in PHP. + +It also validates Internet International Bank Account Number +(IIBAN) as specified at http://tools.ietf.org/html/draft-iiban-01 +(see also http://www.ifex-project.org/our-proposals/iiban) + +php-iban lives at http://code.google.com/p/php-iban + + What is an IBAN? + ---------------- + An IBAN is basically a standardised way of explaining a bank + account number that works across borders. Its structure is: + + + + + BBAN is the term used to describe the national-level format + for a bank account number, which varies between countries + (and was sometimes created just to get IBAN connectivity!). + Note that a BBAN may have its own checksum algorithm. + + IBAN provides basic protection, using the checksum, against + transcription (ie: human copying) errors. It also provides + a registry of valid destination countries and their BBAN + formats. Thus, when you ask php-iban to 'validate' an IBAN + it ensures that these checks are passed. However, it cannot + ensure that a bank account actually exists - the only party + who can do that is the receiving bank or country. + + IBAN was invented in Europe, however its usage is growing + rapidly to other parts of the world. Thus, the future of + this library looks pretty good. + + For further information, please see 'docs/ISO13616.pdf' or + visit Wikipedia at http://en.wikipedia.org/wiki/IBAN + + What is an IIBAN? + ----------------- + An Internet IBAN (IIBAN) identifies an internet-based financial + endpoint in a manner that is superset-compatible with the existing + European Committee for Banking Standards (ECBS) International Bank + Account Number (IBAN) standard [ISO13616]. + + For more information see http://tools.ietf.org/html/draft-iiban-00 + and http://www.ifex-project.org/our-proposals/iiban + + To disable IIBAN support from your installation, simply remove + the second ('AA|...') line from the top of the registry.txt file. + + Execution environment + --------------------- + At present the library merely requires a PHP engine to be present + and has no external dependencies. It is recommended that your + PHP engine is configured to disable verbose warnings for events + such as access of unknown array indexes, though this should be + standard on almost any PHP deployment today. Any PHP engine + in use today should be compatible, though PHP3 or PHP4 execution + environments may require minor modifications (specifically, + some string functions may have changed). + + Installation + ------------ + Simply copy 'php-iban.php' and 'registry.txt' to an appropriate + location for your project. The location of the files will affect + the 'require_once()' line used to load the library from your + codebase, and may have relevance security (see 'Security' below). + Note that 'php-iban.php' expects to find 'registry.txt' in the + same directory as itself. + + Security + -------- + Following best practice for library files, the location chosen + for the php-iban.php and registry.txt files should ideally be + outside of any web-accessible directories. Thus, if your + web project lives in /var/www/myproject/htdocs/ then it would + be preferably to place php-iban in /var/www/myproject or some + other directory that is not visible to regular web users. + + Secondly, neither file should be writable by the web server + itself in order to prevent compromise of the execution path + (ie: getting hacked). So, for example if your web server runs + as user 'www', group 'www', you can ensure that the web server + has minimal required privileges against the files as follows + (note that you will need to be root to execute these commands): + + # chown php-iban registry.txt # where is a + # non-root user that + # is not 'www'. + # chgrp www php-iban registry.txt # set group to 'www' + # chmod ugo-rwx php-iban registry.txt # remove privileges + # chmod g+r php-iban registry.txt # allow 'www' group + # to read the files + + Obviously the above do not apply if you are using PHP in a + non web-oriented project (eg: a cronjob or daemon), a usage + of the language that is apparently growing - but limited. + + Using the library + ----------------- + Basic invocation is as follows: + + # include the library + require_once('/path/to/php-iban.php'); # /path/to/ is optional + + # use some library function or other... + if(!verify_iban($iban_to_verify)) { + # blame the user... + } + + Note that because the library is designed in a procedural manner + rather than an object-oriented manner it should be easy to + integrate with a wide variety of established codebases and + PHP interpreter versions. + + Using the library's OO wrapper + ------------------------------ + Because many new PHP programmers seems to learn the language via + books that only teach OO based programming and are thus unfamiliar + with procedural PHP (and often relatively inexperienced as + programmers, too) an OO wrapper-library has been provided. + + ======================= READ THIS ================================= + However *you should avoid excessive use of OO*. For some thought + provoking discussions of the negative aspects of overusing OO, + please refer to 'Coders at Work' and 'The Art of UNIX Programming'. + (OO is great for some problems, but simply pointless for most.) + =================================================================== + + Anyway, to use the OO wrapper supplied, invocation is as follows: + + # include the OO wrapper to the library + require_once('/path/to/oophp-iban.php'); # /path/to is optional + + # instantiate an IBAN object + $myIban = new IBAN('AZ12345678901234'); + if(!$myIban->Verify()) { + # blame the user... + } + + Documentation + ------------- + There are three types of functions provided by the library: + + - IBAN-level functions + + These are functions that operate on an IBAN. All of these + functions accept either machine format or human format + IBANs as input. Typically they return facts about an IBAN + as their output (for example whether it is valid or not, + or the BBAN (national-level) portion of the IBAN), though + some of them may perform other functions (eg: fixing a + broken IBAN checksum). These functions are named 'iban_*' + with the exception of the most commonly used function, + 'verify_iban()', and excepting the country-level functions. + + (Regarding the object oriented wrapper - all of these + functions are implemented as methods on IBAN objects) + + - IBAN country-level functions + These functions return information about countries that are + part of the IBAN standard. They each take the two letter + ISO country code at the beginning of an IBAN as their + argument. They are named 'iban_country_*', with the + exception of 'iban_countries()' which returns a list of + the known IBAN countries. (For example, functions that + return an example IBAN or BBAN for the country, or the + name of the country.) + + (Regarding the object oriented wrapper - all of these + functions are implemented as methods on IBANCountry + objects, except for 'iban_countries()' which is + implemented as the Countries() method on the IBAN class) + + - Internal functions + These functions begin with '_iban_*' and can be ignored. + + (Regarding the object oriented wrapper - these functions + are not present) + + Please refer to either http://code.google.com/p/php-iban or the + commented source code of php-iban itself for the complete list of + which functions are available. Of course, in unix style one could + achieve the same in a pinch as follows (instant documentation!): + $ grep function php-iban.php + $ egrep '(Class|function)' oophp-iban.php + + Community + --------- + You are encouraged to contribute bugs, feedback and suggestions + through the project's website. + + Particularly if you deploy php-iban in a commercial setting, you are + STRONGLY encouraged to join the project's mailing list, which can + be found via the website. Joining the mailing list ensures that you + can be made aware of important updates. Important updates include: + - Updates to new registry editions (support new countries that have + been added to the IBAN system) + - Bug fixes + - Security updates + + The email list receives almost no traffic and as a 'Google Group' is + well protected from spam, so don't worry about junk in your inbox. + +Thanks for choosing php-iban! You have excellent taste in software ;) diff --git a/htdocs/includes/php-iban/docs/REGISTRY-URL b/htdocs/includes/php-iban/docs/REGISTRY-URL new file mode 100644 index 00000000000..58fb8c6dadb --- /dev/null +++ b/htdocs/includes/php-iban/docs/REGISTRY-URL @@ -0,0 +1,17 @@ +To get the latest ISO13616 IBAN registry, go to: + http://www.swift.com/products_services/bic_and_iban_format_registration_iban_format_r + +TXT format: + http://www.swift.com/dsp/resources/documents/IBAN_Registry.txt + +PDF format: + http://www.swift.com/dsp/resources/documents/IBAN_Registry.pdf + +Unfortunately, it has been noticed in 2011 that the official .txt file is +not an accurate representation of the PDF format specification, and lacks +some information. It is hoped that in future SWIFT will be more careful to +publish only correct standards information. + +It has been noted in 2014 that this is still the case. + +(For more information on this subject, see the HACKING file) diff --git a/htdocs/includes/php-iban/docs/SEPA b/htdocs/includes/php-iban/docs/SEPA new file mode 100644 index 00000000000..8310ff1cfb0 --- /dev/null +++ b/htdocs/includes/php-iban/docs/SEPA @@ -0,0 +1,9 @@ +Interpreting the SEPA Field +=========================== + +Note that some IIBAN providers may in fact provide SEPA connectivity. + +Thus, implementers are reminded to consider the reported SEPA status +of a country within the registry as confirming rather than negating +the potential SEPA status of a potential financial institution who +may be party to a proposed transaction. diff --git a/htdocs/includes/php-iban/docs/TODO b/htdocs/includes/php-iban/docs/TODO new file mode 100644 index 00000000000..906ab7e3fb6 --- /dev/null +++ b/htdocs/includes/php-iban/docs/TODO @@ -0,0 +1,21 @@ +TODO +---- + + - Finnish record suggests position at which to pad domestic account + numbers in order to reach a BBAN / IBAN, this data could be of + some use for certain applications and would be nice to include + - Addition of information regarding preferred human-level formatting + for each country's BBAN - worthwhile? + - Addition of 'date effective' information for records such as BH + and the UAE that published data in advance of deployment + - Support for calculating or validating any known national (sub- + BBAN-level) checksum algorithms? + - URLs to national-level BBAN format specifications + - Consider adding a library of localised forms and abbreviations + for account number portions, for example Austria and Germany seem + to have 'Kontonummer' (KTO) for account number, and 'Bankleitzah' + (BLZ) for bank identifier. This could assist greatly with + deployments requiring international and/or constrained input. + - Consider building a library of national-level bank or payment + institution identifier codes. This would be rather large and an + optional extension and would be in competition with SWIFTRef. diff --git a/htdocs/includes/php-iban/mistranscriptions.txt b/htdocs/includes/php-iban/mistranscriptions.txt new file mode 100644 index 00000000000..7593475ff6f --- /dev/null +++ b/htdocs/includes/php-iban/mistranscriptions.txt @@ -0,0 +1,49 @@ + ; formalities + input-roman = number / letter + number = c-0 / c-1 / c-2 / c-3 / c-4 / c-5 / c-6 / c-7 / c-8 / c-9 + letter = c-a / c-b / c-c / c-d / c-e / c-f / c-g / c-h / c-i / c-j + / c-k / c-l / c-m / c-n / c-o / c-p / c-q / c-r / c-s + / c-t / c-u / c-v / c-w / c-x / c-y / c-z + + ; possible sources of mistranscribed numbers + c-0 = "O" / "6" / "D" / "G" + c-1 = "I" / "L" / "7" / "2" / "Z" + c-2 = "Z" / "7" / "P" / "E" / "1" + c-3 = "8" / "B" + c-4 = "G" / "U" + c-5 = "S" / "7" + c-6 = "0" / "O" / "8" / "G" / "C" / "B" / "D" + c-7 = "J" / "I" / "1" / "L" + c-8 = "B" / "3" / "6" + c-9 = "G" / "Y" / "O" / "0" / "D" + + ; possible sources of mistranscribed letters + c-a = "G" / "Q" / "O" / "0" + c-b = "6" / "3" / "8" / "P" / "0" / "O" + c-c = "R" / "6" / "I" / "L" / "O" / "0" + c-d = "0" / "O" / "9" / "Q" / "G" / "6" / "A" + c-e = "F" / "G" / "0" / "2" / "K" / "Z" / "S" / "O" + c-f = "E" / "K" / "T" / "P" / "Y" / "4" / "B" / "7" / "1" + c-g = "9" / "Q" / "8" / "6" / "0" / "C" / "4" / "O" + c-h = "B" / "N" / "A" / "4" / "6" / "M" / "W" / "F" / "R" / "T" / "X" + c-i = "1" / "L" / "7" / "J" / "2" / "T" / "Z" + c-j = "I" / "7" / "2" / "9" / "1" / "U" / "T" / "Q" / "P" / "Y" / "Z" + / "L" / "S" + c-k = "F" / "X" / "H" / "R" + c-l = "1" / "2" / "7" / "C" / "I" / "J" / "R" / "T" / "Y" / "Z" + c-m = "H" / "8" / "E" / "3" / "N" / "V" / "W" + c-n = "H" / "R" / "C" / "2" / "4" / "M" / "O" / "P" / "K" / "T" / "Z" + c-o = "0" / "6" / "9" / "A" / "D" / "G" / "C" / "E" / "B" / "N" / "P" + / "Q" / "R" + c-p = "F" / "4" / "8" / "2" / "B" / "J" / "R" / "N" / "O" / "T" / "Y" + c-q = "O" / "G" / "9" / "Y" / "1" / "7" / "L" + c-r = "K" / "B" / "V" / "C" / "1" / "L" / "2" + c-s = "5" / "6" / "9" / "B" / "G" / "Q" / "A" / "Y" + c-t = "1" / "4" / "7" / "F" / "I" / "J" / "L" / "P" / "X" / "Y" + c-u = "V" / "N" / "A" / "4" / "9" / "W" / "Y" + c-v = "U" / "R" / "N" + c-w = "M" / "N" / "U" / "V" + c-x = "K" / "F" / "4" / "T" / "V" / "Y" + c-y = "G" / "V" / "J" / "I" / "4" / "9" / "T" / "F" / "Q" / "1" + c-z = "2" / "1" / "L" / "R" / "I" / "7" / "V" / "3" / "4" + diff --git a/htdocs/includes/php-iban/oophp-iban.php b/htdocs/includes/php-iban/oophp-iban.php new file mode 100644 index 00000000000..76e3cd0d06b --- /dev/null +++ b/htdocs/includes/php-iban/oophp-iban.php @@ -0,0 +1,157 @@ +iban = $iban; + } + + public function Verify($iban='') { + if($iban!='') { return verify_iban($iban); } + return verify_iban($this->iban); + # we could throw exceptions of various types, but why - does it really + # add anything? possibly some slightly better user feedback potential. + # however, this can be written by hand by performing individual checks + # ala the code in verify_iban() itself where required, which is likely + # almost never. for the increased complexity and + # maintenance/documentation cost, i say, therefore: no. no exceptions. + } + + public function MistranscriptionSuggestions() { + return iban_mistranscription_suggestions($this->iban); + } + + public function MachineFormat() { + return iban_to_machine_format($this->iban); + } + + public function HumanFormat() { + return iban_to_human_format($this->iban); + } + + public function Country($iban='') { + return iban_get_country_part($this->iban); + } + + public function Checksum($iban='') { + return iban_get_checksum_part($this->iban); + } + + public function BBAN() { + return iban_get_bban_part($this->iban); + } + + public function VerifyChecksum() { + return iban_verify_checksum($this->iban); + } + + public function FindChecksum() { + return iban_find_checksum($this->iban); + } + + public function SetChecksum() { + $this->iban = iban_set_checksum($this->iban); + } + + public function ChecksumStringReplace() { + return iban_checksum_string_replace($this->iban); + } + + public function Parts() { + return iban_get_parts($this->iban); + } + + public function Bank() { + return iban_get_bank_part($this->iban); + } + + public function Branch() { + return iban_get_branch_part($this->iban); + } + + public function Account() { + return iban_get_account_part($this->iban); + } + + public function Countries() { + return iban_countries(); + } +} + +# IBANCountry +Class IBANCountry { + + # constructor with code + function __construct($code = '') { + $this->code = $code; + } + + public function Name() { + return iban_country_get_country_name($this->code); + } + + public function DomesticExample() { + return iban_country_get_domestic_example($this->code); + } + + public function BBANExample() { + return iban_country_get_bban_example($this->code); + } + + public function BBANFormatSWIFT() { + return iban_country_get_bban_format_swift($this->code); + } + + public function BBANFormatRegex() { + return iban_country_get_bban_format_regex($this->code); + } + + public function BBANLength() { + return iban_country_get_bban_length($this->code); + } + + public function IBANExample() { + return iban_country_get_iban_example($this->code); + } + + public function IBANFormatSWIFT() { + return iban_country_get_iban_format_swift($this->code); + } + + public function IBANFormatRegex() { + return iban_country_get_iban_format_regex($this->code); + } + + public function IBANLength() { + return iban_country_get_iban_length($this->code); + } + + public function BankIDStartOffset() { + return iban_country_get_bankid_start_offset($this->code); + } + + public function BankIDStopOffset() { + return iban_country_get_bankid_stop_offset($this->code); + } + + public function BranchIDStartOffset() { + return iban_country_get_branchid_start_offset($this->code); + } + + public function BranchIDStopOffset() { + return iban_country_get_branchid_stop_offset($this->code); + } + + public function RegistryEdition() { + return iban_country_get_registry_edition($this->code); + } + + public function IsSEPA() { + return iban_country_is_sepa($this->code); + } + +} + +?> diff --git a/htdocs/includes/php-iban/php-iban.php b/htdocs/includes/php-iban/php-iban.php new file mode 100644 index 00000000000..e4ef4d8dd1d --- /dev/null +++ b/htdocs/includes/php-iban/php-iban.php @@ -0,0 +1,486 @@ +0) && (($i+1)%4==0)) { $human_iban .= ' '; } + } + return $human_iban; +} + +# Get the country part from an IBAN +function iban_get_country_part($iban) { + $iban = iban_to_machine_format($iban); + return substr($iban,0,2); +} + +# Get the checksum part from an IBAN +function iban_get_checksum_part($iban) { + $iban = iban_to_machine_format($iban); + return substr($iban,2,2); +} + +# Get the BBAN part from an IBAN +function iban_get_bban_part($iban) { + $iban = iban_to_machine_format($iban); + return substr($iban,4); +} + +# Check the checksum of an IBAN - code modified from Validate_Finance PEAR class +function iban_verify_checksum($iban) { + # convert to machine format + $iban = iban_to_machine_format($iban); + # move first 4 chars (countrycode and checksum) to the end of the string + $tempiban = substr($iban, 4).substr($iban, 0, 4); + # subsitutute chars + $tempiban = iban_checksum_string_replace($tempiban); + # mod97-10 + $result = iban_mod97_10($tempiban); + # checkvalue of 1 indicates correct IBAN checksum + if ($result != 1) { + return false; + } + return true; +} + +# Find the correct checksum for an IBAN +# $iban The IBAN whose checksum should be calculated +function iban_find_checksum($iban) { + $iban = iban_to_machine_format($iban); + # move first 4 chars to right + $left = substr($iban,0,2) . '00'; # but set right-most 2 (checksum) to '00' + $right = substr($iban,4); + # glue back together + $tmp = $right . $left; + # convert letters using conversion table + $tmp = iban_checksum_string_replace($tmp); + # get mod97-10 output + $checksum = iban_mod97_10_checksum($tmp); + # return 98 minus the mod97-10 output, left zero padded to two digits + return str_pad((98-$checksum),2,'0',STR_PAD_LEFT); +} + +# Set the correct checksum for an IBAN +# $iban IBAN whose checksum should be set +function iban_set_checksum($iban) { + $iban = iban_to_machine_format($iban); + return substr($iban,0,2) . iban_find_checksum($iban) . substr($iban,4); +} + +# Character substitution required for IBAN MOD97-10 checksum validation/generation +# $s Input string (IBAN) +function iban_checksum_string_replace($s) { + $iban_replace_chars = range('A','Z'); + foreach (range(10,35) as $tempvalue) { $iban_replace_values[]=strval($tempvalue); } + return str_replace($iban_replace_chars,$iban_replace_values,$s); +} + +# Same as below but actually returns resulting checksum +function iban_mod97_10_checksum($numeric_representation) { + $checksum = intval(substr($numeric_representation, 0, 1)); + for ($position = 1; $position < strlen($numeric_representation); $position++) { + $checksum *= 10; + $checksum += intval(substr($numeric_representation,$position,1)); + $checksum %= 97; + } + return $checksum; +} + +# Perform MOD97-10 checksum calculation ('Germanic-level effiency' version - thanks Chris!) +function iban_mod97_10($numeric_representation) { + global $__disable_iiban_gmp_extension; + # prefer php5 gmp extension if available + if(!($__disable_iiban_gmp_extension) && function_exists('gmp_intval')) { return gmp_intval(gmp_mod(gmp_init($numeric_representation, 10),'97')) === 1; } + +/* + # old manual processing (~16x slower) + $checksum = intval(substr($numeric_representation, 0, 1)); + for ($position = 1; $position < strlen($numeric_representation); $position++) { + $checksum *= 10; + $checksum += intval(substr($numeric_representation,$position,1)); + $checksum %= 97; + } + return $checksum; + */ + + # new manual processing (~3x slower) + $length = strlen($numeric_representation); + $rest = ""; + $position = 0; + while ($position < $length) { + $value = 9-strlen($rest); + $n = $rest . substr($numeric_representation,$position,$value); + $rest = $n % 97; + $position = $position + $value; + } + return ($rest === 1); +} + +# Get an array of all the parts from an IBAN +function iban_get_parts($iban) { + return array( + 'country' => iban_get_country_part($iban), + 'checksum' => iban_get_checksum_part($iban), + 'bban' => iban_get_bban_part($iban), + 'bank' => iban_get_bank_part($iban), + 'country' => iban_get_country_part($iban), + 'branch' => iban_get_branch_part($iban), + 'account' => iban_get_account_part($iban) + ); +} + +# Get the Bank ID (institution code) from an IBAN +function iban_get_bank_part($iban) { + $iban = iban_to_machine_format($iban); + $country = iban_get_country_part($iban); + $start = iban_country_get_bankid_start_offset($country); + $stop = iban_country_get_bankid_stop_offset($country); + if($start!=''&&$stop!='') { + $bban = iban_get_bban_part($iban); + return substr($bban,$start,($stop-$start+1)); + } + return ''; +} + +# Get the Branch ID (sort code) from an IBAN +function iban_get_branch_part($iban) { + $iban = iban_to_machine_format($iban); + $country = iban_get_country_part($iban); + $start = iban_country_get_branchid_start_offset($country); + $stop = iban_country_get_branchid_stop_offset($country); + if($start!=''&&$stop!='') { + $bban = iban_get_bban_part($iban); + return substr($bban,$start,($stop-$start+1)); + } + return ''; +} + +# Get the (branch-local) account ID from an IBAN +function iban_get_account_part($iban) { + $iban = iban_to_machine_format($iban); + $country = iban_get_country_part($iban); + $start = iban_country_get_branchid_stop_offset($country); + if($start=='') { + $start = iban_country_get_bankid_stop_offset($country); + } + if($start!='') { + $bban = iban_get_bban_part($iban); + return substr($bban,$start+1); + } + return ''; +} + +# Get the name of an IBAN country +function iban_country_get_country_name($iban_country) { + return _iban_country_get_info($iban_country,'country_name'); +} + +# Get the domestic example for an IBAN country +function iban_country_get_domestic_example($iban_country) { + return _iban_country_get_info($iban_country,'domestic_example'); +} + +# Get the BBAN example for an IBAN country +function iban_country_get_bban_example($iban_country) { + return _iban_country_get_info($iban_country,'bban_example'); +} + +# Get the BBAN format (in SWIFT format) for an IBAN country +function iban_country_get_bban_format_swift($iban_country) { + return _iban_country_get_info($iban_country,'bban_format_swift'); +} + +# Get the BBAN format (as a regular expression) for an IBAN country +function iban_country_get_bban_format_regex($iban_country) { + return _iban_country_get_info($iban_country,'bban_format_regex'); +} + +# Get the BBAN length for an IBAN country +function iban_country_get_bban_length($iban_country) { + return _iban_country_get_info($iban_country,'bban_length'); +} + +# Get the IBAN example for an IBAN country +function iban_country_get_iban_example($iban_country) { + return _iban_country_get_info($iban_country,'iban_example'); +} + +# Get the IBAN format (in SWIFT format) for an IBAN country +function iban_country_get_iban_format_swift($iban_country) { + return _iban_country_get_info($iban_country,'iban_format_swift'); +} + +# Get the IBAN format (as a regular expression) for an IBAN country +function iban_country_get_iban_format_regex($iban_country) { + return _iban_country_get_info($iban_country,'iban_format_regex'); +} + +# Get the IBAN length for an IBAN country +function iban_country_get_iban_length($iban_country) { + return _iban_country_get_info($iban_country,'iban_length'); +} + +# Get the BBAN Bank ID start offset for an IBAN country +function iban_country_get_bankid_start_offset($iban_country) { + return _iban_country_get_info($iban_country,'bban_bankid_start_offset'); +} + +# Get the BBAN Bank ID stop offset for an IBAN country +function iban_country_get_bankid_stop_offset($iban_country) { + return _iban_country_get_info($iban_country,'bban_bankid_stop_offset'); +} + +# Get the BBAN Branch ID start offset for an IBAN country +function iban_country_get_branchid_start_offset($iban_country) { + return _iban_country_get_info($iban_country,'bban_branchid_start_offset'); +} + +# Get the BBAN Branch ID stop offset for an IBAN country +function iban_country_get_branchid_stop_offset($iban_country) { + return _iban_country_get_info($iban_country,'bban_branchid_stop_offset'); +} + +# Get the registry edition for an IBAN country +function iban_country_get_registry_edition($iban_country) { + return _iban_country_get_info($iban_country,'registry_edition'); +} + +# Is the IBAN country a SEPA member? +function iban_country_is_sepa($iban_country) { + return _iban_country_get_info($iban_country,'country_sepa'); +} + +# Get the list of all IBAN countries +function iban_countries() { + global $_iban_registry; + return array_keys($_iban_registry); +} + +# Given an incorrect IBAN, return an array of zero or more checksum-valid +# suggestions for what the user might have meant, based upon common +# mistranscriptions. +function iban_mistranscription_suggestions($incorrect_iban) { + + # abort on ridiculous length input (but be liberal) + $length = strlen($incorrect_iban); + if($length<5 || $length>34) { return array('(length bad)'); } + + # abort if mistranscriptions data is unable to load + if(!_iban_load_mistranscriptions()) { return array('(failed to load)'); } + + # init + global $_iban_mistranscriptions; + $suggestions = array(); + + # we have a string of approximately IBAN-like length. + # ... now let's make suggestions. + $numbers = array('0','1','2','3','4','5','6','7','8','9'); + for($i=0;$i<$length;$i++) { + # get the character at this position + $character = substr($incorrect_iban,$i,1); + # for each known transcription error resulting in this character + foreach($_iban_mistranscriptions[$character] as $possible_origin) { + # if we're: + # - in the first 2 characters (country) and the possible replacement + # is a letter + # - in the 3rd or 4th characters (checksum) and the possible + # replacement is a number + # - later in the string + if(($i<2 && !in_array($possible_origin,$numbers)) || + ($i>=2 && $i<=3 && in_array($possible_origin,$numbers)) || + $i>3) { + # construct a possible IBAN using this possible origin for the + # mistranscribed character, replaced at this position only + $possible_iban = substr($incorrect_iban,0,$i) . $possible_origin . substr($incorrect_iban,$i+1); + # if the checksum passes, return it as a possibility + if(verify_iban($possible_iban)) { + array_push($suggestions,$possible_iban); + } + } + } + } + + # now we check for the type of mistransposition case where all of + # the characters of a certain type within a string were mistransposed. + # - first generate a character frequency table + $char_freqs = array(); + for($i=0;$i$freq) { + # if the character occurs more than once + if($freq>1) { + # check the 'all occurrences of were mistranscribed' case + foreach($_iban_mistranscriptions[$char] as $possible_origin) { + $possible_iban = str_replace($char,$possible_origin,$incorrect_iban); + if(verify_iban($possible_iban)) { + array_push($suggestions,$possible_iban); + } + } + } + } + + return $suggestions; +} + + +##### internal use functions - safe to ignore ###### + +# Load the IBAN registry from disk. +global $_iban_registry; +$_iban_registry = array(); +_iban_load_registry(); +function _iban_load_registry() { + global $_iban_registry; + # if the registry is not yet loaded, or has been corrupted, reload + if(!is_array($_iban_registry) || count($_iban_registry)<1) { + $data = file_get_contents(dirname(__FILE__) . '/registry.txt'); + $lines = explode("\n",$data); + array_shift($lines); # drop leading description line + # loop through lines + foreach($lines as $line) { + if($line!='') { + # split to fields + $old_display_errors_value = ini_get('display_errors'); + ini_set('display_errors',false); + $old_error_reporting_value = ini_get('error_reporting'); + ini_set('error_reporting',false); + list($country,$country_name,$domestic_example,$bban_example,$bban_format_swift,$bban_format_regex,$bban_length,$iban_example,$iban_format_swift,$iban_format_regex,$iban_length,$bban_bankid_start_offset,$bban_bankid_stop_offset,$bban_branchid_start_offset,$bban_branchid_stop_offset,$registry_edition,$country_sepa) = explode('|',$line); + ini_set('display_errors',$old_display_errors_value); + ini_set('error_reporting',$old_error_reporting_value); + # assign to registry + $_iban_registry[$country] = array( + 'country' => $country, + 'country_name' => $country_name, + 'country_sepa' => $country_sepa, + 'domestic_example' => $domestic_example, + 'bban_example' => $bban_example, + 'bban_format_swift' => $bban_format_swift, + 'bban_format_regex' => $bban_format_regex, + 'bban_length' => $bban_length, + 'iban_example' => $iban_example, + 'iban_format_swift' => $iban_format_swift, + 'iban_format_regex' => $iban_format_regex, + 'iban_length' => $iban_length, + 'bban_bankid_start_offset' => $bban_bankid_start_offset, + 'bban_bankid_stop_offset' => $bban_bankid_stop_offset, + 'bban_branchid_start_offset' => $bban_branchid_start_offset, + 'bban_branchid_stop_offset' => $bban_branchid_stop_offset, + 'registry_edition' => $registry_edition + ); + } + } + } +} + +# Get information from the IBAN registry by example IBAN / code combination +function _iban_get_info($iban,$code) { + $country = iban_get_country_part($iban); + return _iban_country_get_info($country,$code); +} + +# Get information from the IBAN registry by country / code combination +function _iban_country_get_info($country,$code) { + global $_iban_registry; + $country = strtoupper($country); + $code = strtolower($code); + if(array_key_exists($country,$_iban_registry)) { + if(array_key_exists($code,$_iban_registry[$country])) { + return $_iban_registry[$country][$code]; + } + } + return false; +} + +# Load common mistranscriptions from disk. +function _iban_load_mistranscriptions() { + global $_iban_mistranscriptions; + # do not reload if already present + if(is_array($_iban_mistranscriptions) && count($_iban_mistranscriptions) == 36) { return true; } + $_iban_mistranscriptions = array(); + $file = dirname(__FILE__) . '/mistranscriptions.txt'; + if(!file_exists($file) || !is_readable($file)) { return false; } + $data = file_get_contents($file); + $lines = explode("\n",$data); + foreach($lines as $line) { + # match lines with ' c- = ' where x is a word-like character + if(preg_match('/^ *c-(\w) = (.*?)$/',$line,$matches)) { + # normalize the character to upper case + $character = strtoupper($matches[1]); + # break the possible origins list at '/', strip quotes & spaces + $chars = explode(' ',str_replace('"','',preg_replace('/ *?\/ *?/','',$matches[2]))); + # assign as possible mistranscriptions for that character + $_iban_mistranscriptions[$character] = $chars; + } + } + return true; +} + +?> diff --git a/htdocs/includes/php-iban/registry.txt b/htdocs/includes/php-iban/registry.txt new file mode 100644 index 00000000000..ffe714139dd --- /dev/null +++ b/htdocs/includes/php-iban/registry.txt @@ -0,0 +1,81 @@ +country_code|country_name|domestic_example|bban_example|bban_format_swift|bban_format_regex|bban_length|iban_example|iban_format_swift|iban_format_regex|iban_length|bban_bankid_start_offset|bban_bankid_stop_offset|bban_branchid_start_offset|bban_branchid_stop_offset|registry_edition|country_sepa +AA|IIBAN (Internet)|0011123Z5678|0011123Z5678|12!a|^[A-Z0-9]{12}$|12|AA120011123Z5678|AA2!n12!a|^AA(\d{2})([A-Z0-9]{12})$|16|0|3|||N/A|0 +AL|Albania|0000000235698741|212110090000000235698741|8!n16!c|^(\d{8})([A-Za-z0-9]{16})$|24|AL47212110090000000235698741|AL2!n8!n16!c|^AL(\d{2})(\d{8})([A-Za-z0-9]{16})$|28|0|2|3|6|2011-06-20|0 +AD|Andorra|2030200359100100|00012030200359100100|4!n4!n12!c|^(\d{4})(\d{4})([A-Za-z0-9]{12})$|20|AD1200012030200359100100|AD2!n4!n4!n12!c|^AD(\d{2})(\d{4})(\d{4})([A-Za-z0-9]{12})$|24|0|3|4|7|2011-06-20|0 +AT|Austria|19043-234573201|1904300234573201|5!n11!n|^(\d{5})(\d{11})$|16|AT611904300234573201|AT2!n5!n11!n|^AT(\d{2})(\d{5})(\d{11})$|20|0|4|||2011-06-20|1 +AX|Aland Islands|123456-785|12345600000785|6!n7!n1!n|^(\d{6})(\d{7})(\d{1})$|14|AX2112345600000785|AX2!n6!n7!n1!n|^AX(\d{2})(\d{6})(\d{7})(\d{1})$|18|0|2|||2013-09-05|1 +AZ|Azerbaijan|NABZ00000000137010001944|NABZ00000000137010001944|4!a20!c|^([A-Z]{4})([A-Za-z0-9]{20})$|24|AZ21NABZ00000000137010001944|AZ2!n4!a20!c|^AZ(\d{2})([A-Z]{4})([A-Za-z0-9]{20})$|28|0|3|||2012-05-29|0 +BH|Bahrain|00001299123456|BMAG00001299123456|4!a14!c|^([A-Z]{4})([A-Za-z0-9]{14})$|22|BH67BMAG00001299123456|BH2!n4!a14!c|^BH(\d{2})([A-Z]{4})([A-Za-z0-9]{14})$|22|0|3|||2012-05-29|0 +BE|Belgium|539-0075470-34|539007547034|3!n7!n2!n|^(\d{3})(\d{7})(\d{2})$|12|BE68539007547034|BE2!n3!n7!n2!n|^BE(\d{2})(\d{3})(\d{7})(\d{2})$|16|0|2|||2011-06-20|1 +BA|Bosnia and Herzegovina|199-044-00012002-79|1990440001200279|3!n3!n8!n2!n|^(\d{3})(\d{3})(\d{8})(\d{2})$|16|BA391290079401028494|BA2!n3!n3!n8!n2!n|^BA(\d{2})(\d{3})(\d{3})(\d{8})(\d{2})$|20|0|2|3|5|2011-06-20|0 +BR|Brazil|0009795493C1|00360305000010009795493P1|8!n5!n10!n1!a1!c|^(\d{8})(\d{5})(\d{10})([A-Z]{1})([A-Za-z0-9]{1})$|25|BR2300360305000010009795493P1BR1800000000141455123924100C2|BR2!n8!n5!n10!n1!a1!c|^BR(\d{2})(\d{8})(\d{5})(\d{10})([A-Z]{1})([A-Za-z0-9]{1})$|29|0|7|8|12|2013-06-20|0 +BG|Bulgaria|BNBG 9661 1020 3456 78|BNBG96611020345678|4!a4!n2!n8!c|^([A-Z]{4})(\d{4})(\d{2})([A-Za-z0-9]{8})$|18|BG80BNBG96611020345678|BG2!n4!a4!n2!n8!c|^BG(\d{2})([A-Z]{4})(\d{4})(\d{2})([A-Za-z0-9]{8})$|22|0|3|4|7|2011-06-20|1 +CR|Costa Rica|1026284066|15202001026284066|3!n14!n|^(\d{3})(\d{14})$|7|CR91202001026284066|CR2!n3!n14!n|^CR(\d{2})(\d{3})(\d{14})$|21|0|2|||2012-05-29|0 +HR|Croatia|1001005-1863000160|10010051863000160|7!n10!n|^(\d{7})(\d{10})$|17|HR1210010051863000160|HR2!n7!n10!n|^HR(\d{2})(\d{7})(\d{10})$|21|0|6|||2011-06-20|1 +CY|Cyprus|1200527600|002001280000001200527600|3!n5!n16!c|^(\d{3})(\d{5})([A-Za-z0-9]{16})$|24|CY17002001280000001200527600|CY2!n3!n5!n16!c|^CY(\d{2})(\d{3})(\d{5})([A-Za-z0-9]{16})$|28|0|2|3|7|2011-06-20|1 +CZ|Czech Republic|19-2000145399/0800|08000000192000145399|4!n6!n10!n|^(\d{4})(\d{6})(\d{10})$|20|CZ6508000000192000145399|CZ2!n4!n6!n10!n|^CZ(\d{2})(\d{4})(\d{6})(\d{10})$|24|0|3|4|9|2011-06-20|1 +DK|Denmark|0040 0440116243, 6460 0001631634, 6471 0001000206|00400440116243, 64600001631634, 64710001000206|4!n9!n1!n|^(\d{4})(\d{9})(\d{1})$|14|DK5000400440116243|DK2!n4!n9!n1!n|^DK(\d{2})(\d{4})(\d{9})(\d{1})$|18|0|3|||2011-06-20|1 +FO|Faroe Islands|0040 0440116243, 6460 0001631634, 6471 0001000206|00400440116243, 64600001631634, 64710001000206|4!n9!n1!n|^(\d{4})(\d{9})(\d{1})$|14|FO2000400440116243|FO2!n4!n9!n1!n|^FO(\d{2})(\d{4})(\d{9})(\d{1})$|18|0|3|||2011-06-20|0 +GL|Greenland|0040 0440116243, 6460 0001631634, 6471 0001000206|00400440116243, 64600001631634, 64710001000206|4!n9!n1!n|^(\d{4})(\d{9})(\d{1})$|14|GL2000400440116243|GL2!n4!n9!n1!n|^GL(\d{2})(\d{4})(\d{9})(\d{1})$|18|0|3|||2011-06-20|0 +DO|Dominican Republic|1212453611324|AGR00000001212453611324|4!c20!n|^([A-Za-z0-9]{4})(\d{20})$|24|DO28BAGR00000001212453611324|DO2!n4!c20!n|^DO(\d{2})([A-Za-z0-9]{4})(\d{20})$|28|0|3|||2011-06-20|0 +EE|Estonia|221020145685|2200221020145685|2!n2!n11!n1!n|^(\d{2})(\d{2})(\d{11})(\d{1})$|16|EE382200221020145685|EE2!n2!n2!n11!n1!n|^EE(\d{2})(\d{2})(\d{2})(\d{11})(\d{1})$|20|0|1|||2011-06-20|1 +FI|Finland|123456-785|12345600000785|6!n7!n1!n|^(\d{6})(\d{7})(\d{1})$|14|FI2112345600000785|FI2!n6!n7!n1!n|^FI(\d{2})(\d{6})(\d{7})(\d{1})$|18|0|2|||2013-08-05|1 +FR|France|20041 01005 0500013M026 06|20041010050500013M02606|5!n5!n11!c2!n|^(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|23|FR1420041010050500013M02606|FR2!n5!n5!n11!c2!n|^FR(\d{2})(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|27|0|4|5|9|2013-08-28|1 +BL|Saint Barthelemy|20041 01005 0500013M026 06|20041010050500013M02606|5!n5!n11!c2!n|^(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|23|BL9820041010050500013M02606|BL2!n5!n5!n11!c2!n|^BL(\d{2})(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|27|0|4|5|9|2013-02-08|0 +GF|French Guyana|20041 01005 0500013M026 06|20041010050500013M02606|5!n5!n11!c2!n|^(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|23|GF4120041010050500013M02606|GF2!n5!n5!n11!c2!n|^GF(\d{2})(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|27|0|4|5|9|2013-08-28|1 +GP|Guadelope|20041 01005 0500013M026 06|20041010050500013M02606|5!n5!n11!c2!n|^(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|23|GP1120041010050500013M02606|GP2!n5!n5!n11!c2!n|^GP(\d{2})(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|27|0|4|5|9|2013-08-28|1 +MF|Saint Martin (French Part)|20041 01005 0500013M026 06|20041010050500013M02606|5!n5!n11!c2!n|^(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|23|MF9820041010050500013M02606|MF2!n5!n5!n11!c2!n|^MF(\d{2})(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|27|0|4|5|9|2013-02-08|0 +MQ|Martinique|20041 01005 0500013M026 06|20041010050500013M02606|5!n5!n11!c2!n|^(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|23|MQ5120041010050500013M02606|MQ2!n5!n5!n11!c2!n|^MQ(\d{2})(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|27|0|4|5|9|2013-08-28|1 +RE|Reunion|20041 01005 0500013M026 06|20041010050500013M02606|5!n5!n11!c2!n|^(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|23|RE4220041010050500013M02606|RE2!n5!n5!n11!c2!n|^RE(\d{2})(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|27|0|4|5|9|2013-08-28|1 +PF|French Polynesia|20041 01005 0500013M026 06|20041010050500013M02606|5!n5!n11!c2!n|^(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|23|PF5720041010050500013M02606|PF2!n5!n5!n11!c2!n|^PF(\d{2})(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|27|0|4|5|9|2011-06-20|0 +TF|French Southern Territories|20041 01005 0500013M026 06|20041010050500013M02606|5!n5!n11!c2!n|^(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|23|TF2120041010050500013M02606|TF2!n5!n5!n11!c2!n|^TF(\d{2})(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|27|0|4|5|9|2011-06-20|0 +YT|Mayotte|20041 01005 0500013M026 06|20041010050500013M02606|5!n5!n11!c2!n|^(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|23|YT3120041010050500013M02606|YT2!n5!n5!n11!c2!n|^YT(\d{2})(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|27|0|4|5|9|2013-08-28|1 +NC|New Caledonia|20041 01005 0500013M026 06|20041010050500013M02606|5!n5!n11!c2!n|^(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|23|NC8420041010050500013M02606|NC2!n5!n5!n11!c2!n|^NC(\d{2})(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|27|0|4|5|9|2011-06-20|0 +PM|Saint Pierre et Miquelon|20041 01005 0500013M026 06|20041010050500013M02606|5!n5!n11!c2!n|^(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|23|PM3620041010050500013M02606|PM2!n5!n5!n11!c2!n|^PM(\d{2})(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|27|0|4|5|9|2013-08-28|1 +WF|Wallis and Futuna Islands|20041 01005 0500013M026 06|20041010050500013M02606|5!n5!n11!c2!n|^(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|23|WF9120041010050500013M02606|WF2!n5!n5!n11!c2!n|^WF(\d{2})(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|27|0|4|5|9|2011-06-20|0 +GE|Georgia|0000000101904917|NB0000000101904917|2!a16!n|^([A-Z]{2})(\d{16})$|18|GE29NB0000000101904917|GE2!n2!a16!n|^GE(\d{2})([A-Z]{2})(\d{16})$|22|0|1|||2011-06-20|0 +DE|Germany|37040044-532013000|370400440532013000|8!n10!n|^(\d{8})(\d{10})$|18|DE89370400440532013000|DE2!n8!n10!n|^DE(\d{2})(\d{8})(\d{10})$|22|0|7|||2011-06-20|1 +GI|Gibraltar|0000 00007099 453|NWBK000000007099453|4!a15!c|^([A-Z]{4})([A-Za-z0-9]{15})$|19|GI75NWBK000000007099453|GI2!n4!a15!c|^GI(\d{2})([A-Z]{4})([A-Za-z0-9]{15})$|23|0|3|||2011-06-20|1 +GR|Greece|01250000000012300695|01101250000000012300695|3!n4!n16!c|^(\d{3})(\d{4})([A-Za-z0-9]{16})$|23|GR1601101250000000012300695|GR2!n3!n4!n16!c|^GR(\d{2})(\d{3})(\d{4})([A-Za-z0-9]{16})$|27|0|2|3|6|2011-06-20|1 +GT|Guatemala|01020000001210029690|TRAJ01020000001210029690|4!c20!c|^([A-Za-z0-9]{4})([A-Za-z0-9]{20})$|24|GT82TRAJ01020000001210029690|GT2!n4!c20!c|^GT(\d{2})([A-Za-z0-9]{4})([A-Za-z0-9]{20})$|28|0|3|||2012-05-29|0 +HU|Hungary|11773016-11111018-00000000|117730161111101800000000|3!n4!n1!n15!n1!n|^(\d{3})(\d{4})(\d{1})(\d{15})(\d{1})$|24|HU42117730161111101800000000|HU2!n3!n4!n1!n15!n1!n|^HU(\d{2})(\d{3})(\d{4})(\d{1})(\d{15})(\d{1})$|28|0|2|3|6|2011-06-20|1 +IS|Iceland|0159-26-007654-551073-0339|0159260076545510730339|4!n2!n6!n10!n|^(\d{4})(\d{2})(\d{6})(\d{10})$|22|IS140159260076545510730339|IS2!n4!n2!n6!n10!n|^IS(\d{2})(\d{4})(\d{2})(\d{6})(\d{10})$|26|0|3|6|11|2011-06-20|1 +IE|Ireland|93-11-52 12345678|AIBK93115212345678|4!a6!n8!n|^([A-Z]{4})(\d{6})(\d{8})$|18|IE29AIBK93115212345678|IE2!n4!a6!n8!n|^IE(\d{2})([A-Z]{4})(\d{6})(\d{8})$|22|0|3|4|9|2011-06-20|1 +IL|Israel|10-800-99999999|100800000099999000|3!n3!n13!n|^(\d{3})(\d{3})(\d{13})$|19|IL620108000000099999999|IL2!n3!n3!n13!n|^IL(\d{2})(\d{3})(\d{3})(\d{13})$|23|0|2|3|5|2011-06-20|0 +IT|Italy|X 05428 11101 000000123456|X0542811101000000123456|1!a5!n5!n12!c|^([A-Z]{1})(\d{5})(\d{5})([A-Za-z0-9]{12})$|23|IT60X0542811101000000123456|IT2!n1!a5!n5!n12!c|^IT(\d{2})([A-Z]{1})(\d{5})(\d{5})([A-Za-z0-9]{12})$|27|0|5|6|10|2011-06-20|1 +JO|Jordan|1310000302|CBJO0010000000000131000302|4!a4!n18!c|^([A-Z]{4})(\d{4})([A-Za-z0-9]{18})$|26|JO94CBJO0010000000000131000302|JO2!n4!a4!n18!c|^JO(\d{2})([A-Z]{4})(\d{4})([A-Za-z0-9]{18})$|30|0|3|4|7|2014-06-05|0 +KZ|Kazakhstan|KZ86 125K ZT50 0410 0100|125KZT5004100100|3!n13!c|^(\d{3})([A-Za-z0-9]{13})$|16|KZ07|KZ2!n3!n13!c|^KZ(\d{2})(\d{3})([A-Za-z0-9]{13})$||0|2|||2014-06-05|0 +KW|Kuwait|CBKU0000000000001234560101|CBKU0000000000001234560101|4!a22!c|^([A-Z]{4})([A-Za-z0-9]{22})$|26|KW81CBKU0000000000001234560101|KW2!n4!a22!n|^KW(\d{2})([A-Z]{4})(\d{22})$|30|0|3|||2011-06-20|0 +LV|Latvia|BANK 0000 4351 9500 1|BANK0000435195001|4!a13!c|^([A-Z]{4})([A-Za-z0-9]{13})$|17|LV80BANK0000435195001|LV2!n4!a13!c|^LV(\d{2})([A-Z]{4})([A-Za-z0-9]{13})$|21|0|3|||2011-06-20|1 +LB|Lebanon|01 001 901229114|0999 0000 0001 0019 0122 9114|4!n20!c|^(\d{4})([A-Za-z0-9]{20})$|24|LB62099900000001001901229114|LB2!n4!n20!c|^LB(\d{2})(\d{4})([A-Za-z0-9]{20})$|28|0|3|||2011-06-20|0 +LI|Liechtenstein|8810 2324013AA|088100002324013AA|5!n12!c|^(\d{5})([A-Za-z0-9]{12})$|19|LI21088100002324013AA|LI2!n5!n12!c|^LI(\d{2})(\d{5})([A-Za-z0-9]{12})$|21|0|4|||2012-05-29|1 +LT|Lithuania|1000 0111 0100 1000|10000011101001000|5!n11!n|^(\d{5})(\d{11})$|16|LT121000011101001000|LT2!n5!n11!n|^LT(\d{2})(\d{5})(\d{11})$|20|0|4|||2011-06-20|1 +LU|Luxembourg|0019 4006 4475 0000|0019400644750000|3!n13!c|^(\d{3})([A-Za-z0-9]{13})$|16|LU280019400644750000|LU2!n3!n13!c|^LU(\d{2})(\d{3})([A-Za-z0-9]{13})$|20|0|2|||2011-06-20|1 +MK|Macedonia|300 0000000424 25|250120000058984|3!n10!c2!n|^(\d{3})([A-Za-z0-9]{10})(\d{2})$|15|MK07250120000058984|MK2!n3!n10!c2!n|^MK(\d{2})(\d{3})([A-Za-z0-9]{10})(\d{2})$|19|0|2|||2012-05-29|0 +MT|Malta|12345MTLCAST001S|MALT011000012345MTLCAST001S|4!a5!n18!c|^([A-Z]{4})(\d{5})([A-Za-z0-9]{18})$|27|MT84MALT011000012345MTLCAST001S|MT2!n4!a5!n18!c|^MT(\d{2})([A-Z]{4})(\d{5})([A-Za-z0-9]{18})$|31|0|3|4|8|2011-06-20|1 +MR|Mauritania|00020 00101 00001234567 53|00020001010000123456753|5!n5!n11!n2!n|^(\d{5})(\d{5})(\d{11})(\d{2})$|23|MR1300020001010000123456753|MR135!n5!n11!n2!n|^MR13(\d{5})(\d{5})(\d{11})(\d{2})$|27|0|4|5|9|2011-06-20|0 +MU|Mauritius|BOMM 0101 1010 3030 0200 000M UR|BOMM0101101030300200000MUR|4!a2!n2!n12!n3!n3!a|^([A-Z]{4})(\d{2})(\d{2})(\d{12})(\d{3})([A-Z]{3})$|26|MU17BOMM0101101030300200000MUR|MU2!n4!a2!n2!n12!n3!n3!a|^MU(\d{2})([A-Z]{4})(\d{2})(\d{2})(\d{12})(\d{3})([A-Z]{3})$|30|0|5|6|7|2011-06-20|0 +MD|Moldova|00225100013104168|AG000225100013104168|2!c18!c|^([A-Za-z0-9]{2})([A-Za-z0-9]{18})$|20|MD24AG000225100013104168|MD2!n20!c|^MD(\d{2})([A-Za-z0-9]{20})$|24|0|1|||2012-09-09|0 +MC|Monaco|0011111000h|11222 00001 01234567890 30|5!n5!n11!c2!n|^(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|23|MC5811222000010123456789030|MC2!n5!n5!n11!c2!n|^MC(\d{2})(\d{5})(\d{5})([A-Za-z0-9]{11})(\d{2})$|27|0|4|5|9|2011-06-20|1 +ME|Montenegro|505 0000123456789 51|505000012345678951|3!n13!n2!n|^(\d{3})(\d{13})(\d{2})$|18|ME25505000012345678951|ME2!n3!n13!n2!n|^ME(\d{2})(\d{3})(\d{13})(\d{2})$|22|0|2|||2011-06-20|0 +NL|The Netherlands|041 71 64 300|ABNA0417164300|4!a10!n|^([A-Z]{4})(\d{10})$|14|NL91ABNA0417164300|NL2!n4!a10!n|^NL(\d{2})([A-Z]{4})(\d{10})$|18|0|3|4|3|2013-06-20|1 +NO|Norway|8601 11 17947|86011117947|4!n6!n1!n|^(\d{4})(\d{6})(\d{1})$|11|NO9386011117947|NO2!n4!n6!n1!n|^NO(\d{2})(\d{4})(\d{6})(\d{1})$|15|0|3|||2011-06-20|1 +PK|Pakistan|00260101036360|SCBL0000001123456702|4!a16!c|^([A-Z]{4})([A-Za-z0-9]{16})$|20|PK36SCBL0000001123456702|PK2!n4!a16!c|^PK(\d{2})([A-Z]{4})([A-Za-z0-9]{16})$|24|0|3|||2012-05-29|0 +PL|Poland|61 1090 1014 0000 0712 1981 2874|109010140000071219812874|8!n16!n|^(\d{8})(\d{16})$|24|PL61109010140000071219812874|PL2!n8!n16n|^PL(\d{2})(\d{8})(\d{1,16})$|28|0|7|||2011-06-20|1 +PS|Palestine|400123456702|PALS000000000400123456702|4!a21!c|^([A-Z]{4})([A-Za-z0-9]{21})$|25|PS92PALS000000000400123456702|PS2!n4!a21!c|^PS(\d{2})([A-Z]{4})([A-Za-z0-9]{21})$|29|0|3|||2013-09-05|0 +PT|Portugal|0002.0123.12345678901.54|000201231234567890154|4!n4!n11!n2!n|^(\d{4})(\d{4})(\d{11})(\d{2})$|21|PT50000201231234567890154|PT2!n4!n4!n11!n2!n|^PT(\d{2})(\d{4})(\d{4})(\d{11})(\d{2})$|25|0|3|4|7|2013-09-05|1 +QA|Qatar|QA58DOHB00001234567890ABCDEFG|DOHB00001234567890ABCDEFG|4!a4!n17!c|^([A-Z]{4})(\d{4})([A-Za-z0-9]{17})$|29|QA58DOHB00001234567890ABCDEFG|QA2!n4!a4!n17!c|^QA(\d{2})([A-Z]{4})(\d{4})([A-Za-z0-9]{17})$|29|0|3|4|7|2014-06-05|0 +RO|Romania|AAAA 1B31 0075 9384 0000|AAAA1B31007593840000|4!a16!c|^([A-Z]{4})([A-Za-z0-9]{16})$|20|RO49AAAA1B31007593840000|RO2!n4!a16!c|^RO(\d{2})([A-Z]{4})([A-Za-z0-9]{16})$|24|0|3|||2011-06-20|1 +SM|San Marino|U032 2509 8000 0000 0270 100|U0322509800000000270100|1!a5!n5!n12!c|^([A-Z]{1})(\d{5})(\d{5})([A-Za-z0-9]{12})$|23|SM86U0322509800000000270100|SM2!n1!a5!n5!n12!c|^SM(\d{2})([A-Z]{1})(\d{5})(\d{5})([A-Za-z0-9]{12})$|27|0|5|6|10|2011-06-20|1 +SA|Saudi Arabia|608010167519|80000000608010167519|2!n18!c|^(\d{2})([A-Za-z0-9]{18})$|20|SA0380000000608010167519|SA2!n2!n18!c|^SA(\d{2})(\d{2})([A-Za-z0-9]{18})$|24|0|1|||2012-05-29|0 +RS|Serbia|260-0056010016113-79|260005601001611379|3!n13!n2!n|^(\d{3})(\d{13})(\d{2})$|18|RS35260005601001611379|RS2!n3!n13!n2!n|^RS(\d{2})(\d{3})(\d{13})(\d{2})$|22|0|2|||2011-06-20|0 +SK|Slovak Republic|19-8742637541/1200|12000000198742637541|4!n6!n10!n|^(\d{4})(\d{6})(\d{10})$|20|SK3112000000198742637541|SK2!n4!n6!n10!n|^SK(\d{2})(\d{4})(\d{6})(\d{10})$|24|0|3|4|9|2011-06-20|1 +SI|Slovenia|2633 0001 2039 086|263300012039086|5!n8!n2!n|^(\d{5})(\d{8})(\d{2})$|15|SI56191000000123438|SI2!n5!n8!n2!n|^SI(\d{2})(\d{5})(\d{8})(\d{2})$|19|0|1|2|4|2012-09-09|1 +ES|Spain|2100 0418 45 0200051332|21000418450200051332|4!n4!n1!n1!n10!n|^(\d{4})(\d{4})(\d{1})(\d{1})(\d{10})$|20|ES9121000418450200051332|ES2!n4!n4!n1!n1!n10!n|^ES(\d{2})(\d{4})(\d{4})(\d{1})(\d{1})(\d{10})$|24|0|3|4|7|2013-09-05|1 +SE|Sweden|1234 12 3456 1|5000 0000 0583 9825 7466|3!n16!n1!n|^(\d{3})(\d{16})(\d{1})$|20|SE4550000000058398257466|SE2!n3!n16!n1!n|^SE(\d{2})(\d{3})(\d{16})(\d{1})$|24|0|2|||2011-06-20|1 +CH|Switzerland|762 1162-3852.957|00762011623852957|5!n12!c|^(\d{5})([A-Za-z0-9]{12})$|17|CH9300762011623852957|CH2!n5!n12!c|^CH(\d{2})(\d{5})([A-Za-z0-9]{12})$|21|0|4|||2011-06-20|1 +TN|Tunisia|10 006 0351835984788 31|10006035183598478831|2!n3!n13!n2!n|^(\d{2})(\d{3})(\d{13})(\d{2})$|20|TN5910006035183598478831|TN592!n3!n13!n2!n|^TN59(\d{2})(\d{3})(\d{13})(\d{2})$|24|0|1|2|4|2011-06-20|0 +TR|Turkey|0061 01299 1234567890123456789|0006100519786457841326|5!n1!c16!c|^(\d{5})([A-Za-z0-9]{1})([A-Za-z0-9]{16})$|22|TR330006100519786457841326|TR2!n5!n1!c16!c|^TR(\d{2})(\d{5})([A-Za-z0-9]{1})([A-Za-z0-9]{16})$|26|0|4|||2011-06-20|0 +AE|United Arab Emirates|1234567890123456|0331234567890123456|3!n16!n|^(\d{3})(\d{16})$|19|AE070331234567890123456|AE2!n3!n16!n|^AE(\d{2})(\d{3})(\d{16})$|23|0|2|||2011-06-20|0 +GB|United Kingdom|60-16-13 31926819|NWBK60161331926819|4!a6!n8!n|^([A-Z]{4})(\d{6})(\d{8})$|18|GB29NWBK60161331926819|GB2!n4!a6!n8!n|^GB(\d{2})([A-Z]{4})(\d{6})(\d{8})$|22|0|3|4|9|2011-06-20|1 +VG|British Virgin Islands|00000 12 345 678 901|VPVG0000012345678901|4!a16!n|^([A-Z]{4})(\d{16})$|20|VG96VPVG0000012345678901|VG2!n4!a16!n|^VG(\d{2})([A-Z]{4})(\d{16})$|24|0|3|||2012-05-29|0 From 685b8d722da219fff1e4f913acf2c3fac6d21dd8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 17 Feb 2015 16:46:37 +0100 Subject: [PATCH 127/137] Fix: Bad hook name --- htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php | 2 +- htdocs/langs/en_US/admin.lang | 2 +- htdocs/langs/fr_FR/admin.lang | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php index 29bd483b39b..ddd10e56457 100644 --- a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php +++ b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php @@ -200,7 +200,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders $hookmanager->initHooks(array('pdfgeneration')); $parameters=array('file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs); global $action; - $reshook=$hookmanager->executeHooks('afterPDFCreation',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks + $reshook=$hookmanager->executeHooks('beforePDFCreation',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks $nblignes = count($object->lines); diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 6f9449f209d..1d2085dcbf7 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -624,7 +624,7 @@ Permission181=Read supplier orders Permission182=Create/modify supplier orders Permission183=Validate supplier orders Permission184=Approve supplier orders -Permission185=Order supplier orders +Permission185=Order or cancel supplier orders Permission186=Receive supplier orders Permission187=Close supplier orders Permission188=Cancel supplier orders diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 355878e9901..4475fe60771 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -631,7 +631,7 @@ Permission181=Consulter les commandes fournisseurs Permission182=Créer/modifier les commandes fournisseurs Permission183=Valider les commandes fournisseurs Permission184=Approuver les commandes fournisseurs -Permission185=Passer les commandes fournisseurs +Permission185=Passer les commandes fournisseurs et les annuler Permission186=Accuser réception des commandes fournisseurs Permission187=Clôturer les commandes fournisseurs Permission188=Annuler les commandes fournisseurs From f652cf4e97b0aec7c5a9c7b6cd33dcec75783aa4 Mon Sep 17 00:00:00 2001 From: frederic34 Date: Tue, 17 Feb 2015 17:02:38 +0100 Subject: [PATCH 128/137] Add translation for IBAN Valid or not --- htdocs/compta/bank/bankid_fr.php | 10 +++++++++- htdocs/langs/en_US/banks.lang | 2 ++ htdocs/societe/rib.php | 4 ++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/htdocs/compta/bank/bankid_fr.php b/htdocs/compta/bank/bankid_fr.php index 03f0babe75d..1b3d5b89d0d 100644 --- a/htdocs/compta/bank/bankid_fr.php +++ b/htdocs/compta/bank/bankid_fr.php @@ -245,7 +245,15 @@ if (($_GET["id"] || $_GET["ref"]) && $action != 'edit') if ($account->getCountryCode() == 'IN') $bickey="SWIFT"; print '

'; - print ''; + print ''; print ''; print ''; diff --git a/htdocs/langs/en_US/banks.lang b/htdocs/langs/en_US/banks.lang index 10a5f5b3c14..7358f25e6f4 100644 --- a/htdocs/langs/en_US/banks.lang +++ b/htdocs/langs/en_US/banks.lang @@ -33,6 +33,8 @@ AllTime=From start Reconciliation=Reconciliation RIB=Bank Account Number IBAN=IBAN number +IbanValid=Valid IBAN +IbanNotValid=Not Valid IBAN BIC=BIC/SWIFT number StandingOrders=Standing orders StandingOrder=Standing order diff --git a/htdocs/societe/rib.php b/htdocs/societe/rib.php index a615577a8c4..ad3eea735fb 100644 --- a/htdocs/societe/rib.php +++ b/htdocs/societe/rib.php @@ -296,9 +296,9 @@ if ($socid && $action != 'edit' && $action != "create") print ''; From ad67fe50a3c7ae642c4d8f17161fe659aafc3b33 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 17 Feb 2015 17:21:41 +0100 Subject: [PATCH 129/137] Correct management when delivery date is universal time format. --- .../supplier_order/pdf/pdf_muscadet.modules.php | 4 +++- htdocs/fourn/class/fournisseur.commande.class.php | 6 +++--- htdocs/fourn/commande/card.php | 10 +++++++--- htdocs/install/mysql/migration/3.6.0-3.7.0.sql | 2 ++ .../install/mysql/tables/llx_commande_fournisseur.sql | 4 ++-- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php index ddd10e56457..e628013cb3e 100644 --- a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php +++ b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php @@ -1011,7 +1011,9 @@ class pdf_muscadet extends ModelePDFSuppliersOrders } $pdf->SetTextColor(0,0,60); - if (! empty($object->date_livraison)) $pdf->MultiCell(190, 3, $outputlangs->transnoentities("DateDeliveryPlanned")." : " . dol_print_date($object->date_livraison,"day",false,$outputlangs,true), '', 'R'); + $usehourmin='day'; + if ( empty($conf->global->SUPPLIER_ORDER_USE_HOUR_FOR_DELIVERY_DATE)) $usehourmin='dayhour'; + if (! empty($object->date_livraison)) $pdf->MultiCell(190, 3, $outputlangs->transnoentities("DateDeliveryPlanned")." : " . dol_print_date($object->date_livraison,$usehourmin,false,$outputlangs,true), '', 'R'); $posy+=5; $pdf->SetTextColor(0,0,60); diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index d95816a1511..6ba464b0a18 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -1609,9 +1609,9 @@ class CommandeFournisseur extends CommonOrder /** * Set the planned delivery date * - * @param User $user Objet utilisateur qui modifie - * @param timestamp $date_livraison Date de livraison - * @return int <0 si ko, >0 si ok + * @param User $user Objet user making change + * @param timestamp $date_livraison Planned delivery date + * @return int <0 if KO, >0 if OK */ function set_date_livraison($user, $date_livraison) { diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php index 022b46f6a9b..ef78a9981c1 100644 --- a/htdocs/fourn/commande/card.php +++ b/htdocs/fourn/commande/card.php @@ -144,7 +144,7 @@ if ($action == 'setbankaccount' && $user->rights->fournisseur->commande->creer) // date de livraison if ($action == 'setdate_livraison' && $user->rights->fournisseur->commande->creer) { - $datelivraison=dol_mktime(0, 0, 0, GETPOST('liv_month','int'), GETPOST('liv_day','int'),GETPOST('liv_year','int')); + $datelivraison=dol_mktime(GETPOST('liv_hour','int'), GETPOST('liv_min','int'), GETPOST('liv_sec','int'), GETPOST('liv_month','int'), GETPOST('liv_day','int'),GETPOST('liv_year','int')); $result=$object->set_date_livraison($user,$datelivraison); if ($result < 0) @@ -1588,13 +1588,17 @@ elseif (! empty($object->id)) print ''; print ''; print ''; - $form->select_date($object->date_livraison?$object->date_livraison:-1,'liv_','','','',"setdate_livraison"); + $usehourmin=0; + if (! empty($conf->global->SUPPLIER_ORDER_USE_HOUR_FOR_DELIVERY_DATE)) $usehourmin=1; + $form->select_date($object->date_livraison?$object->date_livraison:-1,'liv_',$usehourmin,$usehourmin,'',"setdate_livraison"); print ''; print ''; } else { - print $object->date_livraison ? dol_print_date($object->date_livraison,'daytext') : ' '; + $usehourmin='day'; + if (! empty($conf->global->SUPPLIER_ORDER_USE_HOUR_FOR_DELIVERY_DATE)) $usehourmin='dayhour'; + print $object->date_livraison ? dol_print_date($object->date_livraison, $usehourmin) : ' '; } print ''; diff --git a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql index 22a65167e6f..0a9213a3d73 100755 --- a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql +++ b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql @@ -210,6 +210,8 @@ ALTER TABLE llx_product_price ADD INDEX idx_product_price_fk_product (fk_produc DELETE from llx_product_price where fk_product NOT IN (SELECT rowid from llx_product); ALTER TABLE llx_product_price ADD CONSTRAINT fk_product_price_product FOREIGN KEY (fk_product) REFERENCES llx_product (rowid); +ALTER TABLE llx_commande_fournisseur MODIFY COLUMN date_livraison datetime; + ALTER TABLE llx_commande_fournisseur ADD COLUMN fk_account integer AFTER date_livraison; ALTER TABLE llx_facture_fourn ADD COLUMN fk_account integer AFTER fk_projet; diff --git a/htdocs/install/mysql/tables/llx_commande_fournisseur.sql b/htdocs/install/mysql/tables/llx_commande_fournisseur.sql index ff87110c72a..f9f440d0db4 100644 --- a/htdocs/install/mysql/tables/llx_commande_fournisseur.sql +++ b/htdocs/install/mysql/tables/llx_commande_fournisseur.sql @@ -55,11 +55,11 @@ create table llx_commande_fournisseur note_public text, model_pdf varchar(255), - date_livraison date default NULL, + date_livraison datetime default NULL, fk_account integer, -- bank account fk_cond_reglement integer, -- condition de reglement fk_mode_reglement integer, -- mode de reglement - fk_input_method integer default 0, + fk_input_method integer default 0, import_key varchar(14), extraparams varchar(255) -- for stock other parameters with json format From 1e1543403b7277da9bb4ee7d89d6cac366da6678 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 17 Feb 2015 19:49:17 +0100 Subject: [PATCH 130/137] New: Add option SUPPLIER_ORDER_AUTOADD_USER_CONTACT to automatically set user approving as contact following supplier order. --- htdocs/commande/card.php | 83 +++++++++++-------- htdocs/core/class/commonobject.class.php | 4 +- .../class/fournisseur.commande.class.php | 15 +++- htdocs/fourn/commande/card.php | 14 ++-- 4 files changed, 72 insertions(+), 44 deletions(-) diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index 918244528cc..bda67f809fa 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -137,8 +137,10 @@ if (empty($reshook)) } // Reopen a closed order - else if ($action == 'reopen' && $user->rights->commande->creer) { - if ($object->statut == 3) { + else if ($action == 'reopen' && $user->rights->commande->creer) + { + if ($object->statut == 3) + { $result = $object->set_reopen($user); if ($result > 0) { @@ -153,21 +155,26 @@ if (empty($reshook)) } // Suppression de la commande - else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->commande->supprimer) { + else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->commande->supprimer) + { $result = $object->delete($user); - if ($result > 0) { + if ($result > 0) + { header('Location: index.php'); exit; } - else { + else + { setEventMessage($object->error, 'errors'); } } // Remove a product line - else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->commande->creer) { + else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->commande->creer) + { $result = $object->deleteline($lineid); - if ($result > 0) { + if ($result > 0) + { // Define output language $outputlangs = $langs; $newlang = ''; @@ -194,12 +201,14 @@ if (empty($reshook)) } // Categorisation dans projet - else if ($action == 'classin' && $user->rights->commande->creer) { + else if ($action == 'classin' && $user->rights->commande->creer) + { $object->setProject(GETPOST('projectid')); } // Add order - else if ($action == 'add' && $user->rights->commande->creer) { + else if ($action == 'add' && $user->rights->commande->creer) + { $datecommande = dol_mktime(12, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear')); $datelivraison = dol_mktime(12, 0, 0, GETPOST('liv_month'), GETPOST('liv_day'), GETPOST('liv_year')); @@ -239,7 +248,8 @@ if (empty($reshook)) $object->contactid = GETPOST('contactid'); // If creation from another object of another module (Example: origin=propal, originid=1) - if (! empty($origin) && ! empty($originid)) { + if (! empty($origin) && ! empty($originid)) + { // Parse element/subelement (ex: project_task) $element = $subelement = $origin; if (preg_match('/^([^_]+)_([^_]+)/i', $origin, $regs)) { @@ -301,37 +311,37 @@ if (empty($reshook)) for($i = 0; $i < $num; $i ++) { - $label = (! empty($lines [$i]->label) ? $lines [$i]->label : ''); - $desc = (! empty($lines [$i]->desc) ? $lines [$i]->desc : $lines [$i]->libelle); - $product_type = (! empty($lines [$i]->product_type) ? $lines [$i]->product_type : 0); + $label = (! empty($lines[$i]->label) ? $lines[$i]->label : ''); + $desc = (! empty($lines[$i]->desc) ? $lines[$i]->desc : $lines[$i]->libelle); + $product_type = (! empty($lines[$i]->product_type) ? $lines[$i]->product_type : 0); // Dates // TODO mutualiser - $date_start = $lines [$i]->date_debut_prevue; - if ($lines [$i]->date_debut_reel) - $date_start = $lines [$i]->date_debut_reel; - if ($lines [$i]->date_start) - $date_start = $lines [$i]->date_start; - $date_end = $lines [$i]->date_fin_prevue; - if ($lines [$i]->date_fin_reel) - $date_end = $lines [$i]->date_fin_reel; - if ($lines [$i]->date_end) - $date_end = $lines [$i]->date_end; + $date_start = $lines[$i]->date_debut_prevue; + if ($lines[$i]->date_debut_reel) + $date_start = $lines[$i]->date_debut_reel; + if ($lines[$i]->date_start) + $date_start = $lines[$i]->date_start; + $date_end = $lines[$i]->date_fin_prevue; + if ($lines[$i]->date_fin_reel) + $date_end = $lines[$i]->date_fin_reel; + if ($lines[$i]->date_end) + $date_end = $lines[$i]->date_end; // Reset fk_parent_line for no child products and special product - if (($lines [$i]->product_type != 9 && empty($lines [$i]->fk_parent_line)) || $lines [$i]->product_type == 9) { + if (($lines[$i]->product_type != 9 && empty($lines[$i]->fk_parent_line)) || $lines[$i]->product_type == 9) { $fk_parent_line = 0; } // Extrafields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines [$i], 'fetch_optionals')) // For avoid conflicts if + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i], 'fetch_optionals')) // For avoid conflicts if // trigger used { - $lines [$i]->fetch_optionals($lines [$i]->rowid); - $array_option = $lines [$i]->array_options; + $lines[$i]->fetch_optionals($lines[$i]->rowid); + $array_option = $lines[$i]->array_options; } - $result = $object->addline($desc, $lines [$i]->subprice, $lines [$i]->qty, $lines [$i]->tva_tx, $lines [$i]->localtax1_tx, $lines [$i]->localtax2_tx, $lines [$i]->fk_product, $lines [$i]->remise_percent, $lines [$i]->info_bits, $lines [$i]->fk_remise_except, 'HT', 0, $date_start, $date_end, $product_type, $lines [$i]->rang, $lines [$i]->special_code, $fk_parent_line, $lines [$i]->fk_fournprice, $lines [$i]->pa_ht, $label, $array_option); + $result = $object->addline($desc, $lines[$i]->subprice, $lines[$i]->qty, $lines[$i]->tva_tx, $lines[$i]->localtax1_tx, $lines[$i]->localtax2_tx, $lines[$i]->fk_product, $lines[$i]->remise_percent, $lines[$i]->info_bits, $lines[$i]->fk_remise_except, 'HT', 0, $date_start, $date_end, $product_type, $lines[$i]->rang, $lines[$i]->special_code, $fk_parent_line, $lines[$i]->fk_fournprice, $lines[$i]->pa_ht, $label, $array_option); if ($result < 0) { $error ++; @@ -339,7 +349,7 @@ if (empty($reshook)) } // Defined the new fk_parent_line - if ($result > 0 && $lines [$i]->product_type == 9) { + if ($result > 0 && $lines[$i]->product_type == 9) { $fk_parent_line = $result; } } @@ -385,8 +395,10 @@ if (empty($reshook)) } // Insert default contacts if defined - if ($object_id > 0) { - if (GETPOST('contactid')) { + if ($object_id > 0) + { + if (GETPOST('contactid')) + { $result = $object->add_contact(GETPOST('contactid'), 'CUSTOMER', 'external'); if ($result < 0) { setEventMessage($langs->trans("ErrorFailedToAddContact"), 'errors'); @@ -399,7 +411,8 @@ if (empty($reshook)) } // End of object creation, we show it - if ($object_id > 0 && ! $error) { + if ($object_id > 0 && ! $error) + { $db->commit(); header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object_id); exit(); @@ -1594,7 +1607,8 @@ if ($action == 'create' && $user->rights->commande->creer) /* * Confirmation de la validation */ - if ($action == 'validate') { + if ($action == 'validate') + { // on verifie si l'objet est en numerotation provisoire $ref = substr($object->ref, 1, 4); if ($ref == 'PROV') { @@ -1604,7 +1618,8 @@ if ($action == 'create' && $user->rights->commande->creer) } $text = $langs->trans('ConfirmValidateOrder', $numref); - if (! empty($conf->notification->enabled)) { + if (! empty($conf->notification->enabled)) + { require_once DOL_DOCUMENT_ROOT . '/core/class/notify.class.php'; $notify = new Notify($db); $text .= '
'; diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index aed2aa3b224..b886a382b1e 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -175,8 +175,8 @@ abstract class CommonObject /** * Add a link between element $this->element and a contact * - * @param int $fk_socpeople Id of contact to link - * @param int $type_contact Type of contact (code or id). For example: SALESREPFOLL + * @param int $fk_socpeople Id of thirdparty contact (if source = 'external') or id of user (if souce = 'internal') to link + * @param int $type_contact Type of contact (code or id). Must be if or code found into table llx_c_type_contact. For example: SALESREPFOLL * @param int $source external=Contact extern (llx_socpeople), internal=Contact intern (llx_user) * @param int $notrigger Disable all triggers * @return int <0 if KO, >0 if OK diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index 64131be840b..2914ca95620 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -613,7 +613,7 @@ class CommandeFournisseur extends CommonOrder } /** - * Accept an order + * Approve a supplier order * * @param User $user Object user * @param int $idwarehouse Id of warhouse for stock change @@ -659,6 +659,15 @@ class CommandeFournisseur extends CommonOrder { $this->log($user, 2, time()); // Statut 2 + if (! empty($conf->global->SUPPLIER_ORDER_AUTOADD_USER_CONTACT)) + { + $result=$this->add_contact($user->id, 'SALESREPFOLL', 'internal', 1); + if ($result < 0) + { + $error++; + } + } + // If stock is incremented on validate order, we must increment it if (! $error && ! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER)) { @@ -967,8 +976,8 @@ class CommandeFournisseur extends CommonOrder dol_syslog(get_class($this)."::create", LOG_DEBUG); if ($this->db->query($sql)) { - // On logue creation pour historique - $this->log($user, 0, time()); + // Add entry into log + $this->log($user, 0, $now); if (! $error) { diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php index ed276d7b328..f449c7f1098 100644 --- a/htdocs/fourn/commande/card.php +++ b/htdocs/fourn/commande/card.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2013 Laurent Destailleur + * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005 Eric Seigne * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010-2014 Juanjo Menent @@ -1601,13 +1601,13 @@ elseif (! empty($object->id)) } print ''; - + // Delai livraison jours print '
'; print ''; print ''; print ''; - + // Project if (! empty($conf->projet->enabled)) { @@ -2232,8 +2232,12 @@ elseif (! empty($object->id)) if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->fournisseur->commande->creer)) || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->fournisseur->supplier_order_advance->validate))) { - print ''.$langs->trans('Validate').''; + $tmpbuttonlabel=$langs->trans('Validate'); + if ($user->rights->fournisseur->commande->approuver) $tmpbuttonlabel = $langs->trans("ValidateAndApprove"); + + print ''; + print $tmpbuttonlabel; + print ''; } } From 4bbbff8d69cdab251c1e1770d0ee59c76c1aa76d Mon Sep 17 00:00:00 2001 From: frederic34 Date: Tue, 17 Feb 2015 17:37:32 +0100 Subject: [PATCH 131/137] Add BIC/SWIFT Validation --- htdocs/compta/bank/bankid_fr.php | 10 +++++++++- htdocs/core/lib/bank.lib.php | 23 ++++++++++++++++++----- htdocs/langs/en_US/banks.lang | 6 ++++-- htdocs/societe/rib.php | 10 +++++++++- 4 files changed, 40 insertions(+), 9 deletions(-) diff --git a/htdocs/compta/bank/bankid_fr.php b/htdocs/compta/bank/bankid_fr.php index 1b3d5b89d0d..f20d70ef14f 100644 --- a/htdocs/compta/bank/bankid_fr.php +++ b/htdocs/compta/bank/bankid_fr.php @@ -256,7 +256,15 @@ if (($_GET["id"] || $_GET["ref"]) && $action != 'edit') print ''; print ''; - print ''; + print ''; print ''; print ''; - print ''; + print ''; print '
'.$langs->trans("IBAN").''.$account->iban.'
'.$account->iban . ' '; + if (! empty($account->iban)) { + if (! checkIbanForAccount($account)) { + print img_picto($langs->trans("NotValid"),'warning'); + } else { + print img_picto($langs->trans("IsValid"),'info'); + } + } + print '
'.$langs->trans("BIC").''.$account->bic.'
'.$langs->trans($ibankey).''.$account->iban.'
'.$account->iban.' '; + if (! empty($account->iban)) { + if (! checkIbanForAccount($account)) { + print img_picto($langs->trans("IbanNotValid"),'warning'); + } else { + print img_picto($langs->trans("IbanValid"),'info'); + } + } + print '
'.$langs->trans($bickey).''.$account->bic.'
'.$account->iban . ' '; if (! empty($account->iban)) { if (! checkIbanForAccount($account)) { - print img_picto($langs->trans("NotValid"),'warning'); + print img_picto($langs->trans("IbanNotValid"),'warning'); } else { - print img_picto($langs->trans("IsValid"),'info'); + print img_picto($langs->trans("IbanValid"),'info'); } } print '
'.$langs->trans('NbDaysToDelivery').' '.img_picto($langs->trans('DescNbDaysToDelivery'), 'info', 'style="cursor:help"').''.$object->getMaxDeliveryTimeDay($langs).'
'.$langs->trans($bickey).''.$account->bic.'
'.$account->bic.' '; + if (! empty($account->bic)) { + if (! checkSwiftForAccount($account)) { + print img_picto($langs->trans("SwiftNotValid"),'warning'); + } else { + print img_picto($langs->trans("SwiftValid"),'info'); + } + } + print '
'.$langs->trans("BankAccountDomiciliation").''; print nl2br($account->domiciliation); diff --git a/htdocs/core/lib/bank.lib.php b/htdocs/core/lib/bank.lib.php index 36626ffcc94..db6b9d5b8aa 100644 --- a/htdocs/core/lib/bank.lib.php +++ b/htdocs/core/lib/bank.lib.php @@ -121,7 +121,24 @@ function bank_admin_prepare_head($object) complete_head_from_modules($conf, $langs, $object, $head, $h, 'bank_admin', 'remove'); return $head; - } +} + +/** + * Check SWIFT informations for a bank account + * + * @param Account $account A bank account + * @return int True if informations are valid, false otherwise + */ +function checkSwiftForAccount($account) +{ + $swift = $account->bic; + if (eregi("^([a-zA-Z]){4}([a-zA-Z]){2}([0-9a-zA-Z]){2}([0-9a-zA-Z]{3})?$", $swift)) { + return true; + } else { + return false; + } + +} /** * Check IBAN number informations for a bank account @@ -134,13 +151,9 @@ function checkIbanForAccount($account) require_once DOL_DOCUMENT_ROOT.'/includes/php-iban/oophp-iban.php'; $iban = new Iban($account->iban); $check = $iban->Verify(); - //print '
'.print_r($iban, true).'
'; if ($check) { - //print '
OK
'; return true; } else { - //$suggest = $iban->MistranscriptionSuggestions($account->iban); - //print '
'.print_r($suggest, true).'
'; return false; } diff --git a/htdocs/langs/en_US/banks.lang b/htdocs/langs/en_US/banks.lang index 7358f25e6f4..dfa0934ce70 100644 --- a/htdocs/langs/en_US/banks.lang +++ b/htdocs/langs/en_US/banks.lang @@ -33,9 +33,11 @@ AllTime=From start Reconciliation=Reconciliation RIB=Bank Account Number IBAN=IBAN number -IbanValid=Valid IBAN -IbanNotValid=Not Valid IBAN +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC/SWIFT number +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=Standing orders StandingOrder=Standing order Withdrawals=Withdrawals diff --git a/htdocs/societe/rib.php b/htdocs/societe/rib.php index ad3eea735fb..2a21f6cdc87 100644 --- a/htdocs/societe/rib.php +++ b/htdocs/societe/rib.php @@ -304,7 +304,15 @@ if ($socid && $action != 'edit' && $action != "create") print '
'.$langs->trans("BIC").''.$account->bic.'
'.$account->bic.' '; + if (! empty($account->bic)) { + if (! checkSwiftForAccount($account)) { + print img_picto($langs->trans("SwiftNotValid"),'warning'); + } else { + print img_picto($langs->trans("SwiftValid"),'info'); + } + } + print '
'.$langs->trans("BankAccountDomiciliation").''; print $account->domiciliation; From cbe49df090d5e34dcdef9254b36bb6cb38cca9c7 Mon Sep 17 00:00:00 2001 From: frederic34 Date: Wed, 18 Feb 2015 16:07:59 +0100 Subject: [PATCH 132/137] Add copyright --- COPYRIGHT | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/COPYRIGHT b/COPYRIGHT index 1631f85d321..cf31432caf0 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -21,6 +21,7 @@ GeoIP 1.4 LGPL-2.1+ Yes NuSoap 0.9.5 LGPL 2.1+ Yes Library to develop SOAP Web services (not into rpm and deb package) odtPHP 1.0.1 GPL-2+ b Yes Library to build/edit ODT files PHPExcel 1.7.8 LGPL-2.1+ Yes Read/Write XLS files, read ODS files +php-iban 1.4.6 LGPL-3+ Yes Parse and validate IBAN (and IIBAN) bank account information in PHP PHPPrintIPP 1.3 GPL-2+ Yes Library to send print IPP requests TCPDF 6.0.093 LGPL-3+ Yes PDF generation @@ -54,7 +55,10 @@ Copyright --------- Copyright (C) 2015 +- Laurent Destailleur - Marcos García +- Alexandre Spangaro +- Frederic France Copyright (C) 2014 - Laurent Destailleur @@ -67,6 +71,7 @@ Copyright (C) 2014 - Maxime Kohlhaas - Juanjo Menent - Alexandre Spangaro +- Frederic France Copyright (C) 2013 - Christophe Battarel From fe50a585fc75ea801e8a3b9ac09f73c93eca0c07 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 18 Feb 2015 18:47:01 +0100 Subject: [PATCH 133/137] Fix: removed deprecated menu --- htdocs/install/mysql/migration/3.7.0-3.8.0.sql | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql index 831185a9203..a697096874a 100755 --- a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql +++ b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql @@ -19,6 +19,10 @@ -- -- VMYSQL4.1 DELETE FROM llx_usergroup_user WHERE fk_usergroup NOT IN (SELECT rowid from llx_usergroup); +-- Remove menu entries of removed or renamed modules +DELETE FROM llx_menu where module = 'printipp'; + + ALTER TABLE llx_bank ADD INDEX idx_bank_num_releve(num_releve); From cc1d506614ca9e0267f3d6335cd71aa2b65c8719 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 18 Feb 2015 21:01:17 +0100 Subject: [PATCH 134/137] Miscelaneous debug on barcode features. --- htdocs/admin/barcode.php | 5 +- htdocs/barcode/codeinit.php | 7 ++- htdocs/commande/contact.php | 2 +- htdocs/core/menus/standard/eldy.lib.php | 4 +- htdocs/core/modules/DolibarrModules.class.php | 7 ++- htdocs/cron/card.php | 2 +- htdocs/cron/info.php | 2 +- htdocs/install/upgrade2.php | 62 +++++++++++++------ htdocs/langs/en_US/admin.lang | 2 +- htdocs/langs/en_US/cron.lang | 1 + htdocs/langs/en_US/errors.lang | 2 +- 11 files changed, 61 insertions(+), 35 deletions(-) diff --git a/htdocs/admin/barcode.php b/htdocs/admin/barcode.php index 11341f632a2..725d53dd1c3 100644 --- a/htdocs/admin/barcode.php +++ b/htdocs/admin/barcode.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2011 Laurent Destailleur + * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2013 Juanjo Menent * @@ -430,6 +430,5 @@ print ''; print "
"; -$db->close(); - llxFooter(); +$db->close(); diff --git a/htdocs/barcode/codeinit.php b/htdocs/barcode/codeinit.php index 19fb5c193bb..a2e24685017 100644 --- a/htdocs/barcode/codeinit.php +++ b/htdocs/barcode/codeinit.php @@ -27,6 +27,7 @@ require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; $langs->load("admin"); $langs->load("members"); $langs->load("errors"); +$langs->load("other"); // Choice of print year or current year. $now = dol_now(); @@ -229,7 +230,7 @@ if ($conf->societe->enabled) } else dol_print_error($db); - print $langs->trans("CurrentlyNWithoutBarCode", $nbno, $nbtotal, $langs->transnoentitiesnoconv("Thirdparties")).'
'."\n"; + print $langs->trans("CurrentlyNWithoutBarCode", $nbno, $nbtotal, $langs->transnoentitiesnoconv("ThirdParties")).'
'."\n"; print '
product->enabled || $conf->product->service) $nbno=$nbtotal=0; print_fiche_titre($langs->trans("BarcodeInitForProductsOrServices"),'','').'
'."\n"; - $sql ="SELECT count(rowid) as nb, fk_product_type"; + $sql ="SELECT count(rowid) as nb, fk_product_type, datec"; $sql.=" FROM ".MAIN_DB_PREFIX."product"; $sql.=" WHERE barcode IS NULL OR barcode = ''"; - $sql.=" GROUP BY fk_product_type"; + $sql.=" GROUP BY fk_product_type, datec"; $sql.=" ORDER BY datec"; $resql=$db->query($sql); if ($resql) diff --git a/htdocs/commande/contact.php b/htdocs/commande/contact.php index c36f19c166b..6a322e8681e 100644 --- a/htdocs/commande/contact.php +++ b/htdocs/commande/contact.php @@ -221,5 +221,5 @@ if ($id > 0 || ! empty($ref)) } -$db->close(); llxFooter(); +$db->close(); diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index 1ae0d46343b..c88c8375a41 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -217,8 +217,8 @@ function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0) // Tools - $tmpentry=array('enabled'=>(! empty($conf->mailing->enabled) || ! empty($conf->export->enabled) || ! empty($conf->import->enabled) || ! empty($conf->opensurvey->enabled)), - 'perms'=>(! empty($user->rights->mailing->lire) || ! empty($user->rights->export->lire) || ! empty($user->rights->import->run) || ! empty($user->rights->opensurvey->read)), + $tmpentry=array('enabled'=>(! empty($conf->barcode->enabled) || ! empty($conf->mailing->enabled) || ! empty($conf->export->enabled) || ! empty($conf->import->enabled) || ! empty($conf->opensurvey->enabled)), + 'perms'=>(! empty($conf->barcode->enabled) || ! empty($user->rights->mailing->lire) || ! empty($user->rights->export->lire) || ! empty($user->rights->import->run) || ! empty($user->rights->opensurvey->read)), 'module'=>'mailing|export|import|opensurvey'); $showmode=dol_eldy_showmenu($type_user, $tmpentry, $listofmodulesforexternal); if ($showmode) diff --git a/htdocs/core/modules/DolibarrModules.class.php b/htdocs/core/modules/DolibarrModules.class.php index 91b6e57a9b5..045bb1ddbcf 100644 --- a/htdocs/core/modules/DolibarrModules.class.php +++ b/htdocs/core/modules/DolibarrModules.class.php @@ -193,7 +193,9 @@ abstract class DolibarrModules * Inserts all informations into database * * @param string[] $array_sql SQL requests to be executed when enabling module - * @param string $options String with options when disabling module ('newboxdefonly|noboxes') + * @param string $options String with options when disabling module: + * 'noboxes' = Do not insert boxes + * 'newboxdefonly' = For boxes, insert def of boxes only and not boxes activation * * @return int 1 if OK, 0 if KO */ @@ -279,7 +281,8 @@ abstract class DolibarrModules * Disable function. Deletes the module constant and boxes from the database. * * @param string[] $array_sql SQL requests to be executed when module is disabled - * @param string $options Options when disabling module ('newboxdefonly|noboxes') + * @param string $options Options when disabling module: + * 'newboxdefonly|noboxes' = We don't remove boxes. * * @return int 1 if OK, 0 if KO */ diff --git a/htdocs/cron/card.php b/htdocs/cron/card.php index a826264c94e..f3c7d0363bb 100644 --- a/htdocs/cron/card.php +++ b/htdocs/cron/card.php @@ -227,7 +227,7 @@ llxHeader('',$langs->trans("CronAdd")); if ($action=='edit' || empty($action) || $action=='delete' || $action=='execute') { $head=cron_prepare_head($object); - print dol_get_fiche_head($head, 'card', $langs->trans("CronTask"), 0, 'bill'); + print dol_get_fiche_head($head, 'card', $langs->trans("CronTask"), 0, 'cron'); } elseif ($action=='create') { diff --git a/htdocs/cron/info.php b/htdocs/cron/info.php index 53489d69f5a..ceec1d34adb 100644 --- a/htdocs/cron/info.php +++ b/htdocs/cron/info.php @@ -46,7 +46,7 @@ $object->info($id); $head = cron_prepare_head($object); -dol_fiche_head($head, 'info', $langs->trans("CronTask"), 0, 'bill'); +dol_fiche_head($head, 'info', $langs->trans("CronTask"), 0, 'cron'); print ''; - print '\n"; + $payment_type = $langs->trans("PaymentType".$objp->paiement_type)!=("PaymentType".$objp->paiement_type)?$langs->trans("PaymentType".$objp->paiement_type):$objp->paiement_libelle; + + print '\n"; print '
'; dol_print_object_info($object); diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php index 86ab911c71b..a7226c1621d 100644 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -367,19 +367,21 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action'))) // Reload modules (this must be always and only into last targeted version) $listofmodule=array( 'MAIN_MODULE_AGENDA', - 'MAIN_MODULE_SOCIETE', - 'MAIN_MODULE_PRODUIT', - 'MAIN_MODULE_SERVICE', + 'MAIN_MODULE_BARCODE', + 'MAIN_MODULE_CRON', 'MAIN_MODULE_COMMANDE', - 'MAIN_MODULE_FACTURE', - 'MAIN_MODULE_FOURNISSEUR', - 'MAIN_MODULE_USER', 'MAIN_MODULE_DEPLACEMENT', 'MAIN_MODULE_DON', 'MAIN_MODULE_ECM', - 'MAIN_MODULE_PAYBOX', - 'MAIN_MODULE_OPENSURVEY' - ); + 'MAIN_MODULE_FACTURE', + 'MAIN_MODULE_FOURNISSEUR', + 'MAIN_MODULE_OPENSURVEY', + 'MAIN_MODULE_PAYBOX', + 'MAIN_MODULE_PRODUIT', + 'MAIN_MODULE_SOCIETE', + 'MAIN_MODULE_SERVICE', + 'MAIN_MODULE_USER' + ); migrate_reload_modules($db,$langs,$conf,$listofmodule); // Reload menus (this must be always and only into last targeted version) @@ -3773,6 +3775,26 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array()) $mod->init('newboxdefonly'); } } + if ($moduletoreload == 'MAIN_MODULE_BARCODE') + { + dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate module Barcode"); + $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modBarcode.class.php'; + if ($res) { + $mod=new modBarcode($db); + $mod->remove('noboxes'); + $mod->init('newboxdefonly'); + } + } + if ($moduletoreload == 'MAIN_MODULE_CRON') + { + dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate module Cron"); + $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modCron.class.php'; + if ($res) { + $mod=new modCron($db); + $mod->remove('noboxes'); + $mod->init('newboxdefonly'); + } + } if ($moduletoreload == 'MAIN_MODULE_SOCIETE') { dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate module Societe"); @@ -3833,17 +3855,6 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array()) $mod->init('newboxdefonly'); } } - - if ($moduletoreload == 'MAIN_MODULE_USER') // Permission has changed into 3.0 - { - dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate module User"); - $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modUser.class.php'; - if ($res) { - $mod=new modUser($db); - //$mod->remove('noboxes'); // We need to remove because id of module has changed - $mod->init('newboxdefonly'); - } - } if ($moduletoreload == 'MAIN_MODULE_DEPLACEMENT') // Permission has changed into 3.0 { dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate module Deplacement"); @@ -3894,6 +3905,17 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array()) $mod->init('newboxdefonly'); } } + if ($moduletoreload == 'MAIN_MODULE_USER') // Permission has changed into 3.0 + { + dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate module User"); + $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modUser.class.php'; + if ($res) { + $mod=new modUser($db); + //$mod->remove('noboxes'); // We need to remove because id of module has changed + $mod->init('newboxdefonly'); + } + } + } } diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 1d2085dcbf7..009c7dd774c 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1374,7 +1374,7 @@ BarcodeDescUPC=Barcode of type UPC BarcodeDescISBN=Barcode of type ISBN BarcodeDescC39=Barcode of type C39 BarcodeDescC128=Barcode of type C128 -GenbarcodeLocation=Bar code generation command line tool (used by internal engine for some bar code types) +GenbarcodeLocation=Bar code generation command line tool (used by internal engine for some bar code types). Must be compatible with "genbarcode".
For example: /usr/local/bin/genbarcode BarcodeInternalEngine=Internal engine BarCodeNumberManager=Manager to auto define barcode numbers ##### Prelevements ##### diff --git a/htdocs/langs/en_US/cron.lang b/htdocs/langs/en_US/cron.lang index 5432c5b5b52..31e701f1e2d 100644 --- a/htdocs/langs/en_US/cron.lang +++ b/htdocs/langs/en_US/cron.lang @@ -84,3 +84,4 @@ CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. +TaskDisabled=Task disabled diff --git a/htdocs/langs/en_US/errors.lang b/htdocs/langs/en_US/errors.lang index 0187c567eb6..a2d73817bf1 100644 --- a/htdocs/langs/en_US/errors.lang +++ b/htdocs/langs/en_US/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be differen ErrorBadThirdPartyName=Bad value for third party name ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad syntax for customer code -ErrorBadBarCodeSyntax=Bad syntax for bar code +ErrorBadBarCodeSyntax=Bad syntax for bar code. May be you set a bad barcode type or you defined a barcode mask for numbering that does not match value scanned. ErrorCustomerCodeRequired=Customer code required ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Customer code already used From c2f5b24a9d09d76ad2867cc84600bf39441e305a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 18 Feb 2015 22:40:13 +0100 Subject: [PATCH 135/137] Better text --- htdocs/langs/en_US/admin.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 8ba499a7ae1..dcef2941d94 100755 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1512,7 +1512,7 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=Default account to use to receive cash payments CashDeskBankAccountForCheque= Default account to use to receive payments by cheque CashDeskBankAccountForCB= Default account to use to receive payments by credit cards -CashDeskDoNotDecreaseStock=Disable stock decrease when a sell is done from Point of Sale +CashDeskDoNotDecreaseStock=Disable stock decrease when a sell is done from Point of Sale (if "no", stock decrease is done for each sell done from POS, whatever is option set into module Stock). CashDeskIdWareHouse=Force and restrict warehouse to use for stock decrease StockDecreaseForPointOfSaleDisabled=Stock decrease from Point Of Sale disabled CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. From fc415fc3c918b83c8cdb256506ace18a1dd6cc12 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 18 Feb 2015 22:44:42 +0100 Subject: [PATCH 136/137] Fix: [ bug #1826 ] Supplier payment types are not translated in fourn/facture/paiement.php --- ChangeLog | 1 + htdocs/fourn/facture/paiement.php | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 16073f9658c..51dd2ff268a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -23,6 +23,7 @@ English Dolibarr ChangeLog - Fix: [ bug #1827 ] Tax reports gives incorrect amounts when using external modules that create lines with special codes - Fix: [ bug #1822 ] SQL error in clientfourn.php report with PostgreSQL - Fix: [ bug #1832 ] SQL error when adding a product with no price defined to an object +- Fix: [ bug #1826 ] Supplier payment types are not translated in fourn/facture/paiement.php ***** ChangeLog for 3.6.2 compared to 3.6.1 ***** - Fix: fix ErrorBadValueForParamNotAString error message in price customer multiprice. diff --git a/htdocs/fourn/facture/paiement.php b/htdocs/fourn/facture/paiement.php index b6a4c5a7925..a8576cff01d 100644 --- a/htdocs/fourn/facture/paiement.php +++ b/htdocs/fourn/facture/paiement.php @@ -5,6 +5,7 @@ * Copyright (C) 2004 Christophe Combelles * Copyright (C) 2005 Marc Barilley / Ocebo * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -447,7 +448,7 @@ if (empty($action)) $sql = 'SELECT p.rowid as pid, p.datep as dp, p.amount as pamount, p.num_paiement,'; $sql.= ' s.rowid as socid, s.nom,'; - $sql.= ' c.libelle as paiement_type,'; + $sql.= ' c.code as paiement_type, c.libelle as paiement_libelle,'; $sql.= ' ba.rowid as bid, ba.label,'; if (!$user->rights->societe->client->voir) $sql .= ' sc.fk_soc, sc.fk_user,'; $sql.= ' SUM(f.amount)'; @@ -486,7 +487,7 @@ if (empty($action)) { $sql .= " AND s.nom LIKE '%".$db->escape($search_company)."%'"; } - $sql.= " GROUP BY p.rowid, p.datep, p.amount, p.num_paiement, s.rowid, s.nom, c.libelle, ba.rowid, ba.label"; + $sql.= " GROUP BY p.rowid, p.datep, p.amount, p.num_paiement, s.rowid, s.nom, c.code, c.libelle, ba.rowid, ba.label"; if (!$user->rights->societe->client->voir) $sql .= ", sc.fk_soc, sc.fk_user"; $sql.= $db->order($sortfield,$sortorder); $sql.= $db->plimit($limit+1, $offset); @@ -558,7 +559,9 @@ if (empty($action)) else print ' '; print '
'.dol_trunc($objp->paiement_type.' '.$objp->num_paiement,32)."'.$payment_type.' '.dol_trunc($objp->num_paiement,32)."'; if ($objp->bid) print ''.img_object($langs->trans("ShowAccount"),'account').' '.dol_trunc($objp->label,24).''; From bd9c168e3cace14d28bb6662a5b6a24d68a22709 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 18 Feb 2015 23:42:39 +0100 Subject: [PATCH 137/137] Doxygen --- htdocs/core/modules/expensereport/doc/pdf_standard.modules.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php index 8b84ff505ec..2ce272af9ef 100755 --- a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php @@ -739,7 +739,7 @@ class pdf_ extends ModeleExpenseReport /** * Show footer of page. Need this->emetteur object * - * @param PDF &$pdf PDF + * @param PDF $pdf PDF * @param Object $object Object to show * @param Translate $outputlangs Object lang for output * @param int $hidefreetext 1=Hide free text