diff --git a/ChangeLog b/ChangeLog
index 75c284c0283cecf0de7866aacdb4d73ebf927e2b..5d678589550ff87ca2f6380a6b1684bd2c395dce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,14 +5,15 @@ English Dolibarr ChangeLog
 
 ***** ChangeLog for 3.8 compared to 3.7.* *****
 For users:
-- New:
+- New: Use new combobox.
 
 For translators:
 - Update language files.
 - New: When a translation is not available we always jump to en_US and only en_US.
 
 For developers:
-- New: Function yn can show a visual checkbox
+- New: Function yn can show a visual checkbox.
+- New: Introduced select2 jquery plugin.
 
 
 ***** ChangeLog for 3.7 compared to 3.6.* *****
@@ -333,6 +334,9 @@ removed. You must now use the 6 parameters way. See file modMyModule.class.php f
 - Remove add_photo_web() that is ot 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.
+
 ***** ChangeLog for 3.5.6 compared to 3.5.5 *****
 Fix: Avoid missing class error for fetch_thirdparty method #1973
 Fix: Can't update phone_pro from web service
diff --git a/htdocs/core/class/hookmanager.class.php b/htdocs/core/class/hookmanager.class.php
index 298c36636bdfeb7391b3f7bcd6caefbaee454682..d1fc6e4662d0c02d4397ca2173e42511fbdcf767 100644
--- a/htdocs/core/class/hookmanager.class.php
+++ b/htdocs/core/class/hookmanager.class.php
@@ -131,6 +131,7 @@ class HookManager
         // Define type of hook ('output', 'returnvalue' or 'addreplace'). 'addreplace' should be type for all hooks. 'output' and 'returnvalue' are deprecated.
         $hooktype='output';
         if (preg_match('/^pdf_/',$method)) $hooktype='returnvalue';	// pdf_xxx except pdf_writelinedesc are returnvalue hooks. When there is 2 hooks of this type, only last one win.
+        if ($method =='insertExtraFields') $hooktype='returnvalue';
         if (in_array(
         	$method,
         	array(
diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php
index f775d02ab5aceb09c4ee3644710d3f7e63e34235..fff53e9d25c82474bbaebb324de00b22a2194e8d 100755
--- a/htdocs/core/class/html.form.class.php
+++ b/htdocs/core/class/html.form.class.php
@@ -893,7 +893,7 @@ class Form
             }
 
             // Construct $out and $outarray
-            $out.= '<select id="'.$htmlname.'" class="flat" name="'.$htmlname.'">'."\n";
+            $out.= '<select id="'.$htmlname.'" class="flat minwidth100" name="'.$htmlname.'">'."\n";
 
             $textifempty='';
             // Do not use textempty = ' ' or '&nbsp;' here, or search on key will search on ' key'.
diff --git a/htdocs/core/class/html.formother.class.php b/htdocs/core/class/html.formother.class.php
index c7f953dbbfcb0661cbe1917b3e71b8b68c4ad11b..d6cf08594bbfe98e643d2a112391722784399cac 100644
--- a/htdocs/core/class/html.formother.class.php
+++ b/htdocs/core/class/html.formother.class.php
@@ -1034,6 +1034,7 @@ class FormOther
         if ($nbboxactivated)
         {
         	$langs->load("boxes");
+			$langs->load("projects");
 
         	$emptybox=new ModeleBoxes($db);
 
diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php
index 4c3ee24522a015bfd69ee73931e0fbef0f38d53d..194fee33bfccd2fc7b18e9df60b6183171d40f7e 100644
--- a/htdocs/core/lib/functions.lib.php
+++ b/htdocs/core/lib/functions.lib.php
@@ -1789,6 +1789,8 @@ function dol_trunc($string,$size=40,$trunc='right',$stringencoding='UTF-8',$nodo
 {
 	global $conf;
 
+	if (empty($stringencoding)) $stringencoding='UTF-8';
+
 	if ($size==0 || ! empty($conf->global->MAIN_DISABLE_TRUNC)) return $string;
 	// reduce for small screen
     if ($conf->dol_optimize_smallscreen==1 && $display==1) $size = round($size/3);
diff --git a/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php b/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php
index 626c28309819d57aff3f088436672af4ffef4d3c..bd6ec1b60e9d6dfee001b4a76fff7e622ca54d11 100644
--- a/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php
+++ b/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php
@@ -270,7 +270,32 @@ class pdf_soleil extends ModelePDFFicheinter
 						$txt='<strong>'.dol_htmlentitiesbr($txt,1,$outputlangs->charset_output).'</strong>';
 						$desc=dol_htmlentitiesbr($objectligne->desc,1);
 
+						$pdf->startTransaction();
 						$pdf->writeHTMLCell(0, 0, $curX, $curY + 1, dol_concatdesc($txt,$desc), 0, 1, 0);
+						$pageposafter=$pdf->getPage();
+						if ($pageposafter > $pageposbefore)	// There is a pagebreak
+						{
+							$pdf->rollbackTransaction(true);
+							$pageposafter=$pageposbefore;
+							//print $pageposafter.'-'.$pageposbefore;exit;
+							$pdf->setPageOrientation('', 1, $heightforfooter);	// The only function to edit the bottom margin of current page to set it.
+							$pdf->writeHTMLCell(0, 0, $curX, $curY, $txt.'<br>'.$desc, LR, 1, 0);
+							$pageposafter=$pdf->getPage();
+							$posyafter=$pdf->GetY();
+							//var_dump($posyafter); var_dump(($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))); exit;
+							if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot)))	// There is no space left for total+free text
+							{
+								if ($i == ($nblines-1))	// No more lines, and no space left to show total, so we create a new page
+								{
+									$pdf->AddPage('','',true);
+									$pdf->setPage($pageposafter+1);
+								}
+							}
+						}
+						else	// No pagebreak
+						{
+							$pdf->commitTransaction();
+						}
 
 						$nexY = $pdf->GetY();
 						$pageposafter=$pdf->getPage();
diff --git a/htdocs/expedition/card.php b/htdocs/expedition/card.php
index d90d4a4c80c25f3c790f9482c3cb6169b93be13e..64400c87849cfb1f6cd82684d0a69785f5ee3937 100644
--- a/htdocs/expedition/card.php
+++ b/htdocs/expedition/card.php
@@ -90,18 +90,20 @@ $hookmanager->initHooks(array('expeditioncard','globalcard'));
  */
 
 $warehousecanbeselectedlater=1;
-if (! empty($conf->productbatch->enabled))
+if (($action == 'create') || ($action == 'add'))
 {
-	if (! (GETPOST('entrepot_id','int') > 0))
+	if (! empty($conf->productbatch->enabled))
 	{
-		$langs->load("errors");
-		setEventMessage($langs->trans("WarhouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn"),'errors');
-		header("Location: ".DOL_URL_ROOT.'/expedition/shipment.php?id='.$id);
-		exit;
+		if (! (GETPOST('entrepot_id','int') > 0))
+		{
+			$langs->load("errors");
+			setEventMessage($langs->trans("WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn"),'errors');
+			header("Location: ".DOL_URL_ROOT.'/expedition/shipment.php?id='.$id);
+			exit;
+		}
 	}
 }
 
-
 $parameters=array();
 $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action);    // Note that $action and $object may have been modified by some hooks
 if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php
index b96e7f01c9529f5321e0c0868871998f6f90838c..7593dcf99031a50231bce8fb050b692c0f7f6cab 100644
--- a/htdocs/fourn/class/fournisseur.commande.class.php
+++ b/htdocs/fourn/class/fournisseur.commande.class.php
@@ -828,7 +828,7 @@ class CommandeFournisseur extends CommonOrder
         $result = 0;
         if ($user->rights->fournisseur->commande->commander)
         {
-            $sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur SET fk_statut = 3, fk_input_method=".$methode.",date_commande=".$this->db->idate("$date");
+            $sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur SET fk_statut = 3, fk_input_method=".$methode.", date_commande='".$this->db->idate($date)."'";
             $sql .= " WHERE rowid = ".$this->id;
 
             dol_syslog(get_class($this)."::commande", LOG_DEBUG);
diff --git a/htdocs/install/mysql/data/llx_c_tva.sql b/htdocs/install/mysql/data/llx_c_tva.sql
index 375b577d128c9f38b2f55a2fc2d431912f741980..f0d3d94de3b09013da4fdb4710d7ed7c965e1dea 100644
--- a/htdocs/install/mysql/data/llx_c_tva.sql
+++ b/htdocs/install/mysql/data/llx_c_tva.sql
@@ -66,7 +66,10 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 2
 -- CANADA (id country=14)
 insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (141, 14,   '7','0','VAT standard rate',1);
 insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (142, 14,   '0','0','VAT Rate 0',1);
-insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,note,active) values (143, 14,'5','0','9.975','1','TPS and TVQ rate',1);
+insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,note,active) values (143, 14,'5','0','9.975','1','GST/TPS and PST/TVQ rate for Province',1);
+--insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,note,active) values (143, 14,'5','0','9.975','1','GST/TPS and PST/TVQ rate for Quebec',1);
+--insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,note,active) values (144, 14,'5','0','7','1','GST/TPS and PST/TVQ rate for British Columbia',1);
+--insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,note,active) values (149, 14,'5','0',null,null,'GST/TPS and PST/TVQ rate for Yukon',1);
 
 
 -- CAMEROUN (id country=24)
diff --git a/htdocs/langs/ar_SA/printipp.lang b/htdocs/langs/ar_SA/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/ar_SA/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/ar_SA/productbatch.lang b/htdocs/langs/ar_SA/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/ar_SA/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/bg_BG/printipp.lang b/htdocs/langs/bg_BG/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/bg_BG/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/bg_BG/productbatch.lang b/htdocs/langs/bg_BG/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/bg_BG/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/bs_BA/printipp.lang b/htdocs/langs/bs_BA/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/bs_BA/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/bs_BA/productbatch.lang b/htdocs/langs/bs_BA/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/bs_BA/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/ca_ES/productbatch.lang b/htdocs/langs/ca_ES/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/ca_ES/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/cs_CZ/productbatch.lang b/htdocs/langs/cs_CZ/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/cs_CZ/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/da_DK/printipp.lang b/htdocs/langs/da_DK/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/da_DK/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/da_DK/productbatch.lang b/htdocs/langs/da_DK/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/da_DK/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/de_DE/printipp.lang b/htdocs/langs/de_DE/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..c4ce34ef962212f7afd5a2331730904da36ceb68
--- /dev/null
+++ b/htdocs/langs/de_DE/printipp.lang
@@ -0,0 +1,14 @@
+# Dolibarr language file - Source file is en_US - printipp
+PrintIPPSetup=Einstellungen des DirektDruck-Moduls
+PrintIPPDesc=Dieses Modul fügt einen "Drucken"-Button zu, um Dokumente direkt zu einen Drucker zu senden. Dies erfordert ein Linux-System mit installiertem CUPS.
+PRINTIPP_ENABLED="Direktdruck"-Symbol in Dokumentlisten anzeigen
+PRINTIPP_HOST=Druckserver
+PRINTIPP_PORT=Port
+PRINTIPP_USER=Login
+PRINTIPP_PASSWORD=Passwort
+NoPrinterFound=Keine Drucker gefunden (CUPS-Konfiguration prüfen)
+FileWasSentToPrinter=Datei %s zum Drucker gesandt
+NoDefaultPrinterDefined=Kein Standarddrucker defininert
+DefaultPrinter=Standarddrucker
+Printer=Drucker
+CupsServer=CUPS-Server
diff --git a/htdocs/langs/de_DE/productbatch.lang b/htdocs/langs/de_DE/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..a78b3a8302ce8aeaa8635e5a794dead7dc8186b3
--- /dev/null
+++ b/htdocs/langs/de_DE/productbatch.lang
@@ -0,0 +1,20 @@
+# ProductBATCH language file - en_US - ProductBATCH
+ManageLotSerial=Charge/Seriennr. verwalten
+ProductStatusOnBatch=Verwaltet
+ProductStatusNotOnBatch=Nicht Verwaltet
+ProductStatusOnBatchShort=Verwaltet
+ProductStatusNotOnBatchShort=Nicht verwaltet
+Batch=Charge/Seriennr
+atleast1batchfield=Verzehren-bis-, verkaufen-bis-Datum oder Chargennr
+batch_number=Charge/Seriennr
+l_eatby=Verzehren-bis-Datum
+l_sellby=Verkaufen-bis-Datum
+DetailBatchNumber=Chargen-/Seriennummern-Details
+DetailBatchFormat=Charge/Seriennr: %s - E: %s - S: %s (Menge: %d)
+printBatch=Charge: %s
+printEatby=Verzehren bis: %s
+printSellby=Verkaufen bis: %s
+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.
diff --git a/htdocs/langs/el_GR/printipp.lang b/htdocs/langs/el_GR/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..04a8bfda5b9be8e93f1199b12001f7035dc4e559
--- /dev/null
+++ b/htdocs/langs/el_GR/printipp.lang
@@ -0,0 +1,14 @@
+# Dolibarr language file - Source file is en_US - printipp
+PrintIPPSetup=Ρύθμιση του module Άμεση Εκτύπωση
+PrintIPPDesc=Το module αυτό προσθέτει ένα κουμπί Εκτύπωσης για να στείλετε έγγραφα απευθείας σε έναν εκτυπωτή. Απαιτεί ένα σύστημα Linux με εγκατεστημένο CUPS.
+PRINTIPP_ENABLED=Εμφάνιση εικονιδίου "Απευθείας εκτύπωση" στις λίστες εγγράφων
+PRINTIPP_HOST=Print server
+PRINTIPP_PORT=Port
+PRINTIPP_USER=Σύνδεση
+PRINTIPP_PASSWORD=Κωδικός
+NoPrinterFound=Δεν βρέθηκαν εκτυπωτές (ελέγξτε τη ρύθμιση του CUPS)
+FileWasSentToPrinter=Το αρχείο %s στάλθηκε στον εκτυπωτή
+NoDefaultPrinterDefined=Δεν έχει οριστεί προεπιλεγμένος εκτυπωτής
+DefaultPrinter=Προεπιλογμένος εκτυπωτής
+Printer=Εκτυπωτής
+CupsServer=CUPS Server
diff --git a/htdocs/langs/el_GR/productbatch.lang b/htdocs/langs/el_GR/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/el_GR/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/en_CA/admin.lang b/htdocs/langs/en_CA/admin.lang
new file mode 100644
index 0000000000000000000000000000000000000000..cee56c0f791e01d01f8a52f0008a975cbc28a780
--- /dev/null
+++ b/htdocs/langs/en_CA/admin.lang
@@ -0,0 +1,5 @@
+# Dolibarr language file - Source file is en_US - admin
+VATManagement=GST Management
+LocalTax1IsUsedDesc=Use a second tax (PST)
+LocalTax1IsNotUsedDesc=Do not use second tax (PST)
+LocalTax1Management=PST Management
diff --git a/htdocs/langs/en_CA/companies.lang b/htdocs/langs/en_CA/companies.lang
new file mode 100644
index 0000000000000000000000000000000000000000..985f125d7de4badf9518e48d71fb548c72b91241
--- /dev/null
+++ b/htdocs/langs/en_CA/companies.lang
@@ -0,0 +1,5 @@
+# Dolibarr language file - Source file is en_US - companies
+VATIsUsed=GST is used
+VATIsNotUsed=GST is not use
+LocalTax1IsUsedES=PST is used
+LocalTax1IsNotUsedES=GST is not used
diff --git a/htdocs/langs/en_CA/main.lang b/htdocs/langs/en_CA/main.lang
new file mode 100644
index 0000000000000000000000000000000000000000..fca2906cd123a0e082a101a057e44ba57249c6e3
--- /dev/null
+++ b/htdocs/langs/en_CA/main.lang
@@ -0,0 +1,28 @@
+# Dolibarr language file - Source file is en_US - main
+DIRECTION=ltr
+FONTFORPDF=helvetica
+FONTSIZEFORPDF=10
+SeparatorDecimal=,
+SeparatorThousand=None
+FormatDateShort=%d.%m.%Y
+FormatDateShortInput=%d.%m.%Y
+FormatDateShortJava=dd.MM.yyyy
+FormatDateShortJavaInput=dd.MM.yyyy
+FormatDateShortJQuery=dd.mm.yy
+FormatDateShortJQueryInput=dd.mm.yy
+FormatHourShort=%H:%M
+FormatHourShortDuration=%H:%M
+FormatDateTextShort=%d %b %Y
+FormatDateText=%d %B %Y
+FormatDateHourShort=%d.%m.%Y %H:%M
+FormatDateHourSecShort=%d/%m/%Y %H:%M:%S
+FormatDateHourTextShort=%d %b %Y %H:%M
+FormatDateHourText=%d %B %Y %H:%M
+ErrorNoVATRateDefinedForSellerCountry=Error, no vat rate defined for country '%s'.
+AmountVAT=Amount GST
+AmountLT1=Amount PST
+TotalVAT=Total GST
+TotalLT1=Total PST
+IncludedVAT=Including GST
+VAT=GST
+VATRate=GST rate
diff --git a/htdocs/langs/en_US/languages.lang b/htdocs/langs/en_US/languages.lang
index 1116e29c21c6bcaefa746f57900b5fbd770f1cae..d20aab00146c591c4ec9bf5678a42b92c44e619b 100644
--- a/htdocs/langs/en_US/languages.lang
+++ b/htdocs/langs/en_US/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/et_EE/printipp.lang b/htdocs/langs/et_EE/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/et_EE/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/et_EE/productbatch.lang b/htdocs/langs/et_EE/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/et_EE/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/eu_ES/printipp.lang b/htdocs/langs/eu_ES/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..f9c36810b91e175e2ba5d3a3d6868dcb59fe6489
--- /dev/null
+++ b/htdocs/langs/eu_ES/printipp.lang
@@ -0,0 +1,14 @@
+# Dolibarr language file - Source file is en_US - printipp
+PrintIPPSetup=Direct Print modulua konfiguratu
+PrintIPPDesc=Modulu honek "Inprimatu" botoia gehitzen du dokumentuak zuzenean inprimagailu batera bidaltzeko. CUPS instalatuta duen Linux sistema behar du.
+PRINTIPP_ENABLED=Dokumentuen zerrendetan "Direct Print" ikonoa erakutsi
+PRINTIPP_HOST=Inprimatzeko zerbitzaria
+PRINTIPP_PORT=Ataka
+PRINTIPP_USER=Hasi saioa honela
+PRINTIPP_PASSWORD=Pasahitza
+NoPrinterFound=Ez da inprimagailurik aurkitu (CUPS konfigurazioa egiaztatu)
+FileWasSentToPrinter=%s fitxategia inprimagailura bidali da
+NoDefaultPrinterDefined=Ez da lehenetsitako inprimagailurik ezarri
+DefaultPrinter=Lehenetsitako inprimagailua
+Printer=Inprimagailua
+CupsServer=CUPS zerbitzaria
diff --git a/htdocs/langs/eu_ES/productbatch.lang b/htdocs/langs/eu_ES/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/eu_ES/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/fa_IR/printipp.lang b/htdocs/langs/fa_IR/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/fa_IR/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/fa_IR/productbatch.lang b/htdocs/langs/fa_IR/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/fa_IR/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/fi_FI/printipp.lang b/htdocs/langs/fi_FI/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/fi_FI/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/fi_FI/productbatch.lang b/htdocs/langs/fi_FI/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/fi_FI/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/he_IL/printipp.lang b/htdocs/langs/he_IL/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/he_IL/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/he_IL/productbatch.lang b/htdocs/langs/he_IL/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/he_IL/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/hr_HR/printipp.lang b/htdocs/langs/hr_HR/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/hr_HR/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/hr_HR/productbatch.lang b/htdocs/langs/hr_HR/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/hr_HR/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/hu_HU/printipp.lang b/htdocs/langs/hu_HU/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/hu_HU/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/hu_HU/productbatch.lang b/htdocs/langs/hu_HU/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/hu_HU/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/id_ID/printipp.lang b/htdocs/langs/id_ID/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/id_ID/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/id_ID/productbatch.lang b/htdocs/langs/id_ID/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/id_ID/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/is_IS/printipp.lang b/htdocs/langs/is_IS/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/is_IS/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/is_IS/productbatch.lang b/htdocs/langs/is_IS/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/is_IS/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/it_IT/printipp.lang b/htdocs/langs/it_IT/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..7c597de10e121a69e49ef398b2e1c864bd0528f8
--- /dev/null
+++ b/htdocs/langs/it_IT/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=Server di stampa
+PRINTIPP_PORT=Porta
+PRINTIPP_USER=Login
+PRINTIPP_PASSWORD=Password
+NoPrinterFound=Nessuna stampante trovata (controlla la tua installazione di CUPS)
+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/it_IT/productbatch.lang b/htdocs/langs/it_IT/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..391714617325d3300ba00e1c23171a1b1de9c482
--- /dev/null
+++ b/htdocs/langs/it_IT/productbatch.lang
@@ -0,0 +1,20 @@
+# ProductBATCH language file - en_US - ProductBATCH
+ManageLotSerial=Manage batch/serial
+ProductStatusOnBatch=Gestito
+ProductStatusNotOnBatch=Non gestito
+ProductStatusOnBatchShort=Gestito
+ProductStatusNotOnBatchShort=Non gestito
+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=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.
diff --git a/htdocs/langs/ja_JP/printipp.lang b/htdocs/langs/ja_JP/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/ja_JP/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/ja_JP/productbatch.lang b/htdocs/langs/ja_JP/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/ja_JP/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/ko_KR/printipp.lang b/htdocs/langs/ko_KR/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/ko_KR/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/ko_KR/productbatch.lang b/htdocs/langs/ko_KR/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/ko_KR/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/lt_LT/printipp.lang b/htdocs/langs/lt_LT/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/lt_LT/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/lt_LT/productbatch.lang b/htdocs/langs/lt_LT/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/lt_LT/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/lv_LV/productbatch.lang b/htdocs/langs/lv_LV/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/lv_LV/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/mk_MK/printipp.lang b/htdocs/langs/mk_MK/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/mk_MK/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/mk_MK/productbatch.lang b/htdocs/langs/mk_MK/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/mk_MK/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/nb_NO/printipp.lang b/htdocs/langs/nb_NO/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/nb_NO/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/nb_NO/productbatch.lang b/htdocs/langs/nb_NO/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/nb_NO/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/nl_NL/printipp.lang b/htdocs/langs/nl_NL/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/nl_NL/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/nl_NL/productbatch.lang b/htdocs/langs/nl_NL/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/nl_NL/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/pl_PL/printipp.lang b/htdocs/langs/pl_PL/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/pl_PL/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/pl_PL/productbatch.lang b/htdocs/langs/pl_PL/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/pl_PL/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/pt_PT/printipp.lang b/htdocs/langs/pt_PT/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/pt_PT/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/pt_PT/productbatch.lang b/htdocs/langs/pt_PT/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/pt_PT/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/ro_RO/printipp.lang b/htdocs/langs/ro_RO/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..a1734576be5ed9692c17acc7111e2ac665762c69
--- /dev/null
+++ b/htdocs/langs/ro_RO/printipp.lang
@@ -0,0 +1,14 @@
+# Dolibarr language file - Source file is en_US - printipp
+PrintIPPSetup=Configurarea modulului Imprimare directă
+PrintIPPDesc=Acest modul adauga un buton de imprimare pentru a trimite documentele direct la o imprimantă. Este nevoie de un sistem Linux cu CUPS instalat.
+PRINTIPP_ENABLED=Afișare pictogramă "Print Direct" în listele de documente
+PRINTIPP_HOST=Server print
+PRINTIPP_PORT=Port
+PRINTIPP_USER=Login
+PRINTIPP_PASSWORD=Parolă
+NoPrinterFound=Nu există imprimante (verificați setarea CUPS)
+FileWasSentToPrinter=Fișierul %s a fost trimis la imprimantă
+NoDefaultPrinterDefined=Nicio imprimantă implicită definită
+DefaultPrinter=Imprimantă implicită
+Printer=Imprimanta
+CupsServer=Server CUPS
diff --git a/htdocs/langs/ro_RO/productbatch.lang b/htdocs/langs/ro_RO/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..fe1147cc7b1a9facc916b0fbdb7d7eae5a76a0f0
--- /dev/null
+++ b/htdocs/langs/ro_RO/productbatch.lang
@@ -0,0 +1,20 @@
+# ProductBATCH language file - en_US - ProductBATCH
+ManageLotSerial=Gestionează  lot/serie
+ProductStatusOnBatch=Gestionat
+ProductStatusNotOnBatch=Negestionat
+ProductStatusOnBatchShort=Gestionat
+ProductStatusNotOnBatchShort=Negestionat
+Batch=Lot / Serie
+atleast1batchfield=Data expirare sau data de vânzare sau numărul de lot
+batch_number=Lot / Număr de serie
+l_eatby=Data expirare
+l_sellby=Data vânzare
+DetailBatchNumber=Detalii Lot / Serie
+DetailBatchFormat=Lot / Serie:%s - E:%s - S:%s (Cant.: %d)
+printBatch=Lot: %s
+printEatby=Expiră : %s
+printSellby=Vanzare: %s
+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.
diff --git a/htdocs/langs/ru_RU/printipp.lang b/htdocs/langs/ru_RU/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/ru_RU/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/ru_RU/productbatch.lang b/htdocs/langs/ru_RU/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/ru_RU/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/sk_SK/productbatch.lang b/htdocs/langs/sk_SK/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/sk_SK/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/sl_SI/printipp.lang b/htdocs/langs/sl_SI/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/sl_SI/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/sl_SI/productbatch.lang b/htdocs/langs/sl_SI/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/sl_SI/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/sq_AL/printipp.lang b/htdocs/langs/sq_AL/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/sq_AL/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/sq_AL/productbatch.lang b/htdocs/langs/sq_AL/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/sq_AL/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/sv_SE/printipp.lang b/htdocs/langs/sv_SE/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/sv_SE/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/sv_SE/productbatch.lang b/htdocs/langs/sv_SE/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/sv_SE/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/th_TH/printipp.lang b/htdocs/langs/th_TH/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/th_TH/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/th_TH/productbatch.lang b/htdocs/langs/th_TH/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/th_TH/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/tr_TR/productbatch.lang b/htdocs/langs/tr_TR/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..61b366364b3a639031c8944024c498eab4d6f629
--- /dev/null
+++ b/htdocs/langs/tr_TR/productbatch.lang
@@ -0,0 +1,20 @@
+# ProductBATCH language file - en_US - ProductBATCH
+ManageLotSerial=Parti/seri yönetimi
+ProductStatusOnBatch=Yapıldı
+ProductStatusNotOnBatch=Yapılmadı
+ProductStatusOnBatchShort=Yapıldı
+ProductStatusNotOnBatchShort=Yapılmadı
+Batch=Parti/Seri
+atleast1batchfield=Son yenme tarihi ya da Son satış tarihi ya da Parti numarası
+batch_number=Parti/Seri numarası
+l_eatby=Son yenme tarihi
+l_sellby=Son satış tarihi
+DetailBatchNumber=Parti/Seri ayrıntıları
+DetailBatchFormat=Parti/Seri: %s - Y: %s - S: %s (Mik : %d)
+printBatch=Parti: %s
+printEatby=Son Yenme: %s
+printSellby=Son satış: %s
+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.
diff --git a/htdocs/langs/uk_UA/printipp.lang b/htdocs/langs/uk_UA/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/uk_UA/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/uk_UA/productbatch.lang b/htdocs/langs/uk_UA/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/uk_UA/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/vi_VN/printipp.lang b/htdocs/langs/vi_VN/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/vi_VN/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/vi_VN/productbatch.lang b/htdocs/langs/vi_VN/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/vi_VN/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/zh_CN/printipp.lang b/htdocs/langs/zh_CN/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/zh_CN/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/zh_CN/productbatch.lang b/htdocs/langs/zh_CN/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/zh_CN/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/langs/zh_TW/printipp.lang b/htdocs/langs/zh_TW/printipp.lang
new file mode 100644
index 0000000000000000000000000000000000000000..835e6827f12ee4e466c21f2ee540526389fa7e03
--- /dev/null
+++ b/htdocs/langs/zh_TW/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/zh_TW/productbatch.lang b/htdocs/langs/zh_TW/productbatch.lang
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e49749ab995c90337c88dc582efebd46c623c
--- /dev/null
+++ b/htdocs/langs/zh_TW/productbatch.lang
@@ -0,0 +1,20 @@
+# 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.
diff --git a/htdocs/margin/agentMargins.php b/htdocs/margin/agentMargins.php
index 5b56ac4568b04bb9d736f00c2334b22192cca05d..2304268070cc0c322407363f291699fdf0487e7e 100644
--- a/htdocs/margin/agentMargins.php
+++ b/htdocs/margin/agentMargins.php
@@ -119,6 +119,7 @@ $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
 $sql.= ", ".MAIN_DB_PREFIX."user as u";
 $sql.= " WHERE f.fk_soc = s.rowid";
 $sql.= " AND sc.fk_soc = f.fk_soc";
+$sql.= " AND (d.product_type = 0 OR d.product_type = 1)";
 if (! empty($conf->global->AGENT_CONTACT_TYPE))
 	$sql.= " AND ((e.fk_socpeople IS NULL AND sc.fk_user = u.rowid) OR (e.fk_socpeople IS NOT NULL AND e.fk_socpeople = u.rowid))";
 else
diff --git a/htdocs/margin/customerMargins.php b/htdocs/margin/customerMargins.php
index 245b29dfd24732703ae3c40c7f1051a269c6274b..3cd39d4101fcf30127dc6e6ef876ba6e4442a10f 100644
--- a/htdocs/margin/customerMargins.php
+++ b/htdocs/margin/customerMargins.php
@@ -173,6 +173,7 @@ $sql.= " WHERE f.fk_soc = s.rowid";
 $sql.= " AND f.fk_statut > 0";
 $sql.= " AND s.entity = ".$conf->entity;
 $sql.= " AND d.fk_facture = f.rowid";
+$sql.= " AND (d.product_type = 0 OR d.product_type = 1)";
 if ($client)
   $sql.= " AND f.fk_soc = ".$socid;
 if (!empty($startdate))
diff --git a/htdocs/projet/class/task.class.php b/htdocs/projet/class/task.class.php
index 407738797573c9313af6959e7ed7f472b7f71635..0f9645fe237415527109b3f30e0266c8e4d53624 100644
--- a/htdocs/projet/class/task.class.php
+++ b/htdocs/projet/class/task.class.php
@@ -1084,7 +1084,8 @@ class Task extends CommonObject
 
 		$error=0;
 
-		$now=dol_now();
+		//Use 00:00 of today if time is use on task.
+		$now=dol_mktime(0,0,0,dol_print_date(dol_now(),'%m'),dol_print_date(dol_now(),'%d'),dol_print_date(dol_now(),'%Y'));
 
 		$datec = $now;
 
diff --git a/htdocs/theme/dolibarr_preferred_partner_int.png b/htdocs/theme/dolibarr_preferred_partner_int.png
new file mode 100755
index 0000000000000000000000000000000000000000..c72d6153ddccee77e666b2ca86a4dea35967f885
Binary files /dev/null and b/htdocs/theme/dolibarr_preferred_partner_int.png differ
diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php
index 05893a1896c2b326ced2586e849e796f75e66ed0..847f2766d6bccb5e9157221eba020a534b6ac76b 100644
--- a/htdocs/theme/eldy/style.css.php
+++ b/htdocs/theme/eldy/style.css.php
@@ -100,12 +100,12 @@ $colorbacktitle2=($colred-15).','.($colgreen-15).','.($colblue-15);
 $colorbacktabcard1=($colred+15).','.($colgreen+16).','.($colblue+17);  // card
 $colorbacktabcard2=($colred-15).','.($colgreen-15).','.($colblue-15);
 $colorbacktabactive=($colred-15).','.($colgreen-15).','.($colblue-15);
-$colorbacklineimpair1='255,255,255';    // line pair
-$colorbacklineimpair2='255,255,255';    // line pair
-$colorbacklineimpairhover=(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9));
-$colorbacklinepair1=(244+round($isred/3)).','.(244+round($isgreen/3)).','.(244+round($isblue/3));    // line impair
-$colorbacklinepair2=(250+round($isred/3)).','.(250+round($isgreen/3)).','.(250+round($isblue/3));    // line impair
-$colorbacklinepairhover=(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9));    // line impair
+$colorbacklineimpair1='255,255,255';    // line impair
+$colorbacklineimpair2='255,255,255';    // line impair
+$colorbacklineimpairhover=(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9));	// line impair
+$colorbacklinepair1=(244+round($isred/3)).','.(244+round($isgreen/3)).','.(244+round($isblue/3));    // line pair
+$colorbacklinepair2=(250+round($isred/3)).','.(250+round($isgreen/3)).','.(250+round($isblue/3));    // line pair
+$colorbacklinepairhover=(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9));    // line pair
 $colorbackbody='#f9f9f9';
 $colortext='40,40,40';
 $fontsize='12';
@@ -439,6 +439,8 @@ th .button {
 /* ============================================================================== */
 
 .hideobject { display: none; }
+.minwidth100 { min-width: 100px; }
+.minwidth200 { min-width: 200px; }
 <?php if (! empty($dol_optimize_smallscreen)) { ?>
 .hideonsmartphone { display: none; }
 .noenlargeonsmartphone { width : 50px !important; display: inline !important; }
@@ -1858,7 +1860,7 @@ table.liste td {
 }
 */
 
-.impair:hover {
+.impair:hover, td.nohover {
 <?php if ($colorbacklineimpairhover) { if ($usecss3) { ?>
 	background: rgb(<?php echo $colorbacklineimpairhover; ?>);
 <?php } else { ?>
@@ -1884,7 +1886,7 @@ table.liste td {
 	min-height: 18px; /* seems to not be used */
 }
 
-td.nohover, .pair:hover {
+.pair:hover {
 <?php if ($colorbacklinepairhover) { if ($usecss3) { ?>
 	background: rgb(<?php echo $colorbacklinepairhover; ?>);
 <?php } else { ?>
@@ -2954,6 +2956,13 @@ a span.select2-chosen
 {
 	font-weight: normal !important;
 }
+.select2-container .select2-choice {
+	background-image: none;
+}
+.select2-results .select2-no-results, .select2-results .select2-searching, .select2-results .select2-ajax-error, .select2-results .select2-selection-limit
+{
+	background: #FFFFFF;
+}
 
 
 /* ============================================================================== */
diff --git a/htdocs/webservices/demo_wsclient_actioncomm.php-NORUN b/htdocs/webservices/demo_wsclient_actioncomm.php-NORUN
index 32df64218d3301965b6e599833465d472838a252..1e14c07a5bf98a3d4bef691027e9a7cda30e6ccc 100755
--- a/htdocs/webservices/demo_wsclient_actioncomm.php-NORUN
+++ b/htdocs/webservices/demo_wsclient_actioncomm.php-NORUN
@@ -53,8 +53,8 @@ if ($soapclient)
 $authentication=array(
     'dolibarrkey'=>$conf->global->WEBSERVICES_KEY,
     'sourceapplication'=>'DEMO',
-    'login'=>'admin_dolibarDev',
-    'password'=>'homedread',
+    'login'=>'admin',
+    'password'=>'changeme',
     'entity'=>'1');