Browse Source

Merge branch '13.0' of git@github.com:Dolibarr/dolibarr.git into develop

Conflicts:
	htdocs/accountancy/bookkeeping/listbysubaccount.php
	htdocs/langs/en_US/main.lang
	htdocs/langs/fr_FR/accountancy.lang
Laurent Destailleur 4 năm trước cách đây
mục cha
commit
f411b29b28
100 tập tin đã thay đổi với 827 bổ sung409 xóa
  1. 100 84
      htdocs/accountancy/admin/card.php
  2. 4 2
      htdocs/accountancy/bookkeeping/balance.php
  3. 1 1
      htdocs/accountancy/bookkeeping/list.php
  4. 51 16
      htdocs/accountancy/bookkeeping/listbyaccount.php
  5. 58 21
      htdocs/accountancy/bookkeeping/listbysubaccount.php
  6. 12 6
      htdocs/accountancy/class/bookkeeping.class.php
  7. 1 2
      htdocs/compta/sociales/card.php
  8. 2 1
      htdocs/core/boxes/box_graph_invoices_permonth.php
  9. 2 1
      htdocs/core/boxes/box_graph_invoices_supplier_permonth.php
  10. 2 1
      htdocs/core/boxes/box_graph_orders_permonth.php
  11. 2 1
      htdocs/core/boxes/box_graph_orders_supplier_permonth.php
  12. 2 1
      htdocs/core/boxes/box_graph_propales_permonth.php
  13. 12 5
      htdocs/langs/am_ET/accountancy.lang
  14. 16 9
      htdocs/langs/am_ET/admin.lang
  15. 2 2
      htdocs/langs/am_ET/banks.lang
  16. 1 1
      htdocs/langs/am_ET/blockedlog.lang
  17. 5 0
      htdocs/langs/am_ET/boxes.lang
  18. 6 4
      htdocs/langs/am_ET/cashdesk.lang
  19. 12 5
      htdocs/langs/am_ET/categories.lang
  20. 1 1
      htdocs/langs/am_ET/companies.lang
  21. 8 5
      htdocs/langs/am_ET/compta.lang
  22. 10 3
      htdocs/langs/am_ET/cron.lang
  23. 20 3
      htdocs/langs/am_ET/errors.lang
  24. 1 0
      htdocs/langs/am_ET/exports.lang
  25. 14 11
      htdocs/langs/am_ET/mails.lang
  26. 11 1
      htdocs/langs/am_ET/main.lang
  27. 4 3
      htdocs/langs/am_ET/modulebuilder.lang
  28. 5 3
      htdocs/langs/am_ET/other.lang
  29. 5 2
      htdocs/langs/am_ET/products.lang
  30. 1 0
      htdocs/langs/am_ET/recruitment.lang
  31. 2 0
      htdocs/langs/am_ET/sendings.lang
  32. 1 0
      htdocs/langs/am_ET/stocks.lang
  33. 3 6
      htdocs/langs/am_ET/ticket.lang
  34. 2 2
      htdocs/langs/am_ET/website.lang
  35. 4 1
      htdocs/langs/am_ET/withdrawals.lang
  36. 12 5
      htdocs/langs/ar_SA/accountancy.lang
  37. 16 9
      htdocs/langs/ar_SA/admin.lang
  38. 2 2
      htdocs/langs/ar_SA/banks.lang
  39. 1 1
      htdocs/langs/ar_SA/blockedlog.lang
  40. 5 0
      htdocs/langs/ar_SA/boxes.lang
  41. 6 4
      htdocs/langs/ar_SA/cashdesk.lang
  42. 12 5
      htdocs/langs/ar_SA/categories.lang
  43. 1 1
      htdocs/langs/ar_SA/companies.lang
  44. 8 5
      htdocs/langs/ar_SA/compta.lang
  45. 22 14
      htdocs/langs/ar_SA/cron.lang
  46. 20 3
      htdocs/langs/ar_SA/errors.lang
  47. 3 0
      htdocs/langs/ar_SA/exports.lang
  48. 14 11
      htdocs/langs/ar_SA/mails.lang
  49. 11 1
      htdocs/langs/ar_SA/main.lang
  50. 4 3
      htdocs/langs/ar_SA/modulebuilder.lang
  51. 5 3
      htdocs/langs/ar_SA/other.lang
  52. 6 3
      htdocs/langs/ar_SA/products.lang
  53. 1 0
      htdocs/langs/ar_SA/recruitment.lang
  54. 2 0
      htdocs/langs/ar_SA/sendings.lang
  55. 1 0
      htdocs/langs/ar_SA/stocks.lang
  56. 3 6
      htdocs/langs/ar_SA/ticket.lang
  57. 2 2
      htdocs/langs/ar_SA/website.lang
  58. 4 1
      htdocs/langs/ar_SA/withdrawals.lang
  59. 12 5
      htdocs/langs/az_AZ/accountancy.lang
  60. 16 9
      htdocs/langs/az_AZ/admin.lang
  61. 2 2
      htdocs/langs/az_AZ/banks.lang
  62. 1 1
      htdocs/langs/az_AZ/blockedlog.lang
  63. 5 0
      htdocs/langs/az_AZ/boxes.lang
  64. 6 4
      htdocs/langs/az_AZ/cashdesk.lang
  65. 12 5
      htdocs/langs/az_AZ/categories.lang
  66. 1 1
      htdocs/langs/az_AZ/companies.lang
  67. 8 5
      htdocs/langs/az_AZ/compta.lang
  68. 10 3
      htdocs/langs/az_AZ/cron.lang
  69. 20 3
      htdocs/langs/az_AZ/errors.lang
  70. 1 0
      htdocs/langs/az_AZ/exports.lang
  71. 14 11
      htdocs/langs/az_AZ/mails.lang
  72. 11 1
      htdocs/langs/az_AZ/main.lang
  73. 4 3
      htdocs/langs/az_AZ/modulebuilder.lang
  74. 5 3
      htdocs/langs/az_AZ/other.lang
  75. 6 3
      htdocs/langs/az_AZ/products.lang
  76. 1 0
      htdocs/langs/az_AZ/recruitment.lang
  77. 2 0
      htdocs/langs/az_AZ/sendings.lang
  78. 1 0
      htdocs/langs/az_AZ/stocks.lang
  79. 3 6
      htdocs/langs/az_AZ/ticket.lang
  80. 2 2
      htdocs/langs/az_AZ/website.lang
  81. 4 1
      htdocs/langs/az_AZ/withdrawals.lang
  82. 12 5
      htdocs/langs/bg_BG/accountancy.lang
  83. 16 9
      htdocs/langs/bg_BG/admin.lang
  84. 2 2
      htdocs/langs/bg_BG/banks.lang
  85. 1 1
      htdocs/langs/bg_BG/blockedlog.lang
  86. 5 0
      htdocs/langs/bg_BG/boxes.lang
  87. 6 4
      htdocs/langs/bg_BG/cashdesk.lang
  88. 12 5
      htdocs/langs/bg_BG/categories.lang
  89. 1 1
      htdocs/langs/bg_BG/companies.lang
  90. 8 5
      htdocs/langs/bg_BG/compta.lang
  91. 10 3
      htdocs/langs/bg_BG/cron.lang
  92. 20 3
      htdocs/langs/bg_BG/errors.lang
  93. 1 0
      htdocs/langs/bg_BG/exports.lang
  94. 14 11
      htdocs/langs/bg_BG/mails.lang
  95. 11 1
      htdocs/langs/bg_BG/main.lang
  96. 4 3
      htdocs/langs/bg_BG/modulebuilder.lang
  97. 4 2
      htdocs/langs/bg_BG/other.lang
  98. 6 3
      htdocs/langs/bg_BG/products.lang
  99. 1 0
      htdocs/langs/bg_BG/recruitment.lang
  100. 2 0
      htdocs/langs/bg_BG/sendings.lang

+ 100 - 84
htdocs/accountancy/admin/card.php

@@ -32,7 +32,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php';
 $error = 0;
 
 // Load translation files required by the page
-$langs->loadLangs(array("bills", "accountancy"));
+$langs->loadLangs(array("bills", "accountancy", "compta"));
 
 $mesg = '';
 $action = GETPOST('action', 'aZ09');
@@ -41,7 +41,9 @@ $id = GETPOST('id', 'int');
 $ref = GETPOST('ref', 'alpha');
 $rowid = GETPOST('rowid', 'int');
 $cancel = GETPOST('cancel', 'alpha');
-$accountingaccount = GETPOST('accountingaccount', 'alpha');
+
+$account_number = GETPOST('account_number', 'string');
+$label = GETPOST('label', 'alpha');
 
 // Security check
 if ($user->socid > 0) accessforbidden();
@@ -65,104 +67,118 @@ if (GETPOST('cancel', 'alpha'))
 if ($action == 'add' && $user->rights->accounting->chartofaccount)
 {
 	if (!$cancel) {
-		$sql = 'SELECT pcg_version FROM '.MAIN_DB_PREFIX.'accounting_system WHERE rowid='.$conf->global->CHARTOFACCOUNTS;
+		if (!$account_number)
+		{
+			setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("AccountNumber")), null, 'errors');
+			$action = 'create';
+		} elseif (!$label)
+		{
+			setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Label")), null, 'errors');
+			$action = 'create';
+		} else {
+			$sql = 'SELECT pcg_version FROM ' . MAIN_DB_PREFIX . 'accounting_system WHERE rowid=' . $conf->global->CHARTOFACCOUNTS;
 
-		dol_syslog('accountancy/admin/card.php:: $sql='.$sql);
-		$result = $db->query($sql);
-		$obj = $db->fetch_object($result);
+			dol_syslog('accountancy/admin/card.php:: $sql=' . $sql);
+			$result = $db->query($sql);
+			$obj = $db->fetch_object($result);
 
-		// Clean code
+			// Clean code
 
-		// To manage zero or not at the end of the accounting account
-		if ($conf->global->ACCOUNTING_MANAGE_ZERO == 1)
-		{
-			$account_number = GETPOST('account_number', 'string');
-		} else {
-			$account_number = clean_account(GETPOST('account_number', 'string'));
-		}
+			// To manage zero or not at the end of the accounting account
+			if ($conf->global->ACCOUNTING_MANAGE_ZERO == 1) {
+				$account_number = $account_number;
+			} else {
+				$account_number = clean_account($account_number);
+			}
 
-		if (GETPOST('account_parent', 'int') <= 0)
-		{
-			$account_parent = 0;
-		} else {
-			$account_parent = GETPOST('account_parent', 'int');
-		}
+			if (GETPOST('account_parent', 'int') <= 0) {
+				$account_parent = 0;
+			} else {
+				$account_parent = GETPOST('account_parent', 'int');
+			}
 
-		$object->fk_pcg_version = $obj->pcg_version;
-		$object->pcg_type = GETPOST('pcg_type', 'alpha');
-		$object->account_number = $account_number;
-		$object->account_parent = $account_parent;
-		$object->account_category = GETPOST('account_category', 'alpha');
-		$object->label = GETPOST('label', 'alpha');
-		$object->labelshort = GETPOST('labelshort', 'alpha');
-		$object->active = 1;
-
-		$res = $object->create($user);
-		if ($res == - 3) {
-			$error = 1;
-			$action = "create";
-			setEventMessages($object->error, $object->errors, 'errors');
-		} elseif ($res == - 4) {
-			$error = 2;
-			$action = "create";
-			setEventMessages($object->error, $object->errors, 'errors');
-		} elseif ($res < 0)
-		{
-			$error++;
-			setEventMessages($object->error, $object->errors, 'errors');
-			$action = "create";
-		}
-		if (!$error)
-		{
-			setEventMessages("RecordCreatedSuccessfully", null, 'mesgs');
-			$urltogo = $backtopage ? $backtopage : dol_buildpath('/accountancy/admin/account.php', 1);
-			header("Location: ".$urltogo);
-			exit;
+			$object->fk_pcg_version = $obj->pcg_version;
+			$object->pcg_type = GETPOST('pcg_type', 'alpha');
+			$object->account_number = $account_number;
+			$object->account_parent = $account_parent;
+			$object->account_category = GETPOST('account_category', 'alpha');
+			$object->label = $label;
+			$object->labelshort = GETPOST('labelshort', 'alpha');
+			$object->active = 1;
+
+			$res = $object->create($user);
+			if ($res == -3) {
+				$error = 1;
+				$action = "create";
+				setEventMessages($object->error, $object->errors, 'errors');
+			} elseif ($res == -4) {
+				$error = 2;
+				$action = "create";
+				setEventMessages($object->error, $object->errors, 'errors');
+			} elseif ($res < 0) {
+				$error++;
+				setEventMessages($object->error, $object->errors, 'errors');
+				$action = "create";
+			}
+			if (!$error) {
+				setEventMessages("RecordCreatedSuccessfully", null, 'mesgs');
+				$urltogo = $backtopage ? $backtopage : dol_buildpath('/accountancy/admin/account.php', 1);
+				header("Location: " . $urltogo);
+				exit;
+			}
 		}
 	}
 } elseif ($action == 'edit' && $user->rights->accounting->chartofaccount) {
 	if (!$cancel) {
-		$result = $object->fetch($id);
+		if (!$account_number)
+		{
+			setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("AccountNumber")), null, 'errors');
+			$action = 'update';
+		} elseif (!$label)
+		{
+			setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Label")), null, 'errors');
+			$action = 'update';
+		} else {
+			$result = $object->fetch($id);
 
-		$sql = 'SELECT pcg_version FROM '.MAIN_DB_PREFIX.'accounting_system WHERE rowid='.$conf->global->CHARTOFACCOUNTS;
+			$sql = 'SELECT pcg_version FROM ' . MAIN_DB_PREFIX . 'accounting_system WHERE rowid=' . $conf->global->CHARTOFACCOUNTS;
 
-		dol_syslog('accountancy/admin/card.php:: $sql='.$sql);
-		$result2 = $db->query($sql);
-		$obj = $db->fetch_object($result2);
+			dol_syslog('accountancy/admin/card.php:: $sql=' . $sql);
+			$result2 = $db->query($sql);
+			$obj = $db->fetch_object($result2);
 
-		// Clean code
+			// Clean code
 
-		// To manage zero or not at the end of the accounting account
-		if ($conf->global->ACCOUNTING_MANAGE_ZERO == 1)
-		{
-			$account_number = GETPOST('account_number', 'string');
-		} else {
-			$account_number = clean_account(GETPOST('account_number', 'string'));
-		}
+			// To manage zero or not at the end of the accounting account
+			if ($conf->global->ACCOUNTING_MANAGE_ZERO == 1) {
+				$account_number = $account_number;
+			} else {
+				$account_number = clean_account($account_number);
+			}
 
-		if (GETPOST('account_parent', 'int') <= 0)
-		{
-			$account_parent = 0;
-		} else {
-			$account_parent = GETPOST('account_parent', 'int');
-		}
+			if (GETPOST('account_parent', 'int') <= 0) {
+				$account_parent = 0;
+			} else {
+				$account_parent = GETPOST('account_parent', 'int');
+			}
 
-		$object->fk_pcg_version = $obj->pcg_version;
-		$object->pcg_type = GETPOST('pcg_type', 'alpha');
-		$object->account_number = $account_number;
-		$object->account_parent = $account_parent;
-		$object->account_category = GETPOST('account_category', 'alpha');
-		$object->label = GETPOST('label', 'alpha');
-		$object->labelshort = GETPOST('labelshort', 'alpha');
+			$object->fk_pcg_version = $obj->pcg_version;
+			$object->pcg_type = GETPOST('pcg_type', 'alpha');
+			$object->account_number = $account_number;
+			$object->account_parent = $account_parent;
+			$object->account_category = GETPOST('account_category', 'alpha');
+			$object->label = $label;
+			$object->labelshort = GETPOST('labelshort', 'alpha');
 
-		$result = $object->update($user);
+			$result = $object->update($user);
 
-		if ($result > 0) {
-			$urltogo = $backtopage ? $backtopage : ($_SERVER["PHP_SELF"]."?id=".$id);
-			header("Location: ".$urltogo);
-			exit();
-		} else {
-			$mesg = $object->error;
+			if ($result > 0) {
+				$urltogo = $backtopage ? $backtopage : ($_SERVER["PHP_SELF"] . "?id=" . $id);
+				header("Location: " . $urltogo);
+				exit();
+			} else {
+				$mesg = $object->error;
+			}
 		}
 	} else {
 		$urltogo = $backtopage ? $backtopage : ($_SERVER["PHP_SELF"]."?id=".$id);
@@ -222,7 +238,7 @@ if ($action == 'create') {
 
 	// Account number
 	print '<tr><td class="titlefieldcreate"><span class="fieldrequired">'.$langs->trans("AccountNumber").'</span></td>';
-	print '<td><input name="account_number" size="30" value="'.$accountingaccount.'"></td></tr>';
+	print '<td><input name="account_number" size="30" value="'.$account_number.'"></td></tr>';
 
 	// Label
 	print '<tr><td><span class="fieldrequired">'.$langs->trans("Label").'</span></td>';

+ 4 - 2
htdocs/accountancy/bookkeeping/balance.php

@@ -37,7 +37,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php';
 require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
 
 // Load translation files required by the page
-$langs->loadLangs(array("accountancy"));
+$langs->loadLangs(array("accountancy", "compta"));
 
 $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
 $sortorder = GETPOST("sortorder", 'alpha');
@@ -323,7 +323,9 @@ if ($action != 'export_csv')
 		$root_account_number = $tmparrayforrootaccount['account_number'];
 
 		if (empty($accountingaccountstatic->label) && $accountingaccountstatic->id > 0) {
-			$link = '<a href="'.DOL_URL_ROOT.'/accountancy/admin/card.php?action=update&token='.newToken().'&id='.$accountingaccountstatic->id.'">'.img_edit().'</a>';
+			$link = '<a class="editfielda reposition" href="' . DOL_URL_ROOT . '/accountancy/admin/card.php?action=update&token=' . newToken() . '&id=' . $accountingaccountstatic->id . '">' . img_edit() . '</a>';
+		} elseif (empty($tmparrayforrootaccount['label'])) {
+			$link = '<a href="' . DOL_URL_ROOT . '/accountancy/admin/card.php?action=create&token=' . newToken() . '&accountingaccount=' . length_accountg($line->numero_compte) . '">' . img_edit_add() . '</a>';
 		}
 
 		if (!empty($show_subgroup))

+ 1 - 1
htdocs/accountancy/bookkeeping/list.php

@@ -36,7 +36,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
 require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
 
 // Load translation files required by the page
-$langs->loadLangs(array("accountancy"));
+$langs->loadLangs(array("accountancy", "compta"));
 
 $socid = GETPOST('socid', 'int');
 

+ 51 - 16
htdocs/accountancy/bookkeeping/listbyaccount.php

@@ -48,6 +48,14 @@ $search_date_endday =  GETPOST('search_date_endday', 'int');
 $search_date_start = dol_mktime(0, 0, 0, $search_date_startmonth, $search_date_startday, $search_date_startyear);
 $search_date_end = dol_mktime(0, 0, 0, $search_date_endmonth, $search_date_endday, $search_date_endyear);
 $search_doc_date = dol_mktime(0, 0, 0, GETPOST('doc_datemonth', 'int'), GETPOST('doc_dateday', 'int'), GETPOST('doc_dateyear', 'int'));
+$search_date_export_startyear =  GETPOST('search_date_export_startyear', 'int');
+$search_date_export_startmonth =  GETPOST('search_date_export_startmonth', 'int');
+$search_date_export_startday =  GETPOST('search_date_export_startday', 'int');
+$search_date_export_endyear =  GETPOST('search_date_export_endyear', 'int');
+$search_date_export_endmonth =  GETPOST('search_date_export_endmonth', 'int');
+$search_date_export_endday =  GETPOST('search_date_export_endday', 'int');
+$search_date_export_start = dol_mktime(0, 0, 0, $search_date_export_startmonth, $search_date_export_startday, $search_date_export_startyear);
+$search_date_export_end = dol_mktime(0, 0, 0, $search_date_export_endmonth, $search_date_export_endday, $search_date_export_endyear);
 
 $search_accountancy_code = GETPOST("search_accountancy_code");
 $search_accountancy_code_start = GETPOST('search_accountancy_code_start', 'alpha');
@@ -128,6 +136,7 @@ $arrayfields = array(
 	't.debit'=>array('label'=>$langs->trans("Debit"), 'checked'=>1),
 	't.credit'=>array('label'=>$langs->trans("Credit"), 'checked'=>1),
 	't.lettering_code'=>array('label'=>$langs->trans("LetteringCode"), 'checked'=>1),
+	't.date_export'=>array('label'=>$langs->trans("DateExport"), 'checked'=>1),
 );
 
 if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING)) unset($arrayfields['t.lettering_code']);
@@ -181,6 +190,14 @@ if (empty($reshook))
 		$search_date_endyear = '';
 		$search_date_endmonth = '';
 		$search_date_endday = '';
+		$search_date_export_start = '';
+		$search_date_export_end = '';
+		$search_date_export_startyear = '';
+		$search_date_export_startmonth = '';
+		$search_date_export_startday = '';
+		$search_date_export_endyear = '';
+		$search_date_export_endmonth = '';
+		$search_date_export_endday = '';
 		$search_debit = '';
 		$search_credit = '';
 		$search_lettering_code = '';
@@ -253,6 +270,14 @@ if (empty($reshook))
 		$filter['t.reconciled_option'] = $search_not_reconciled;
 		$param .= '&search_not_reconciled='.urlencode($search_not_reconciled);
 	}
+	if (!empty($search_date_export_start)) {
+		$filter['t.date_export>='] = $search_date_export_start;
+		$param .= '&search_date_export_startmonth='.$search_date_export_startmonth.'&search_date_export_startday='.$search_date_export_startday.'&search_date_export_startyear='.$search_date_export_startyear;
+	}
+	if (!empty($search_date_export_end)) {
+		$filter['t.date_export<='] = $search_date_export_end;
+		$param .= '&search_date_export_endmonth='.$search_date_export_endmonth.'&search_date_export_endday='.$search_date_export_endday.'&search_date_export_endyear='.$search_date_export_endyear;
+	}
 }
 
 if ($action == 'delbookkeeping' && $user->rights->accounting->mouvements->supprimer) {
@@ -494,6 +519,17 @@ if (!empty($arrayfields['t.lettering_code']['checked']))
 	print '<br><span class="nowrap"><input type="checkbox" name="search_reconciled_option" value="notreconciled"'.($search_not_reconciled == 'notreconciled' ? ' checked' : '').'>'.$langs->trans("NotReconciled").'</span>';
 	print '</td>';
 }
+// Date export
+if (!empty($arrayfields['t.date_export']['checked'])) {
+	print '<td class="liste_titre center">';
+	print '<div class="nowrap">';
+	print $form->selectDate($search_date_export_start, 'search_date_export_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From"));
+	print '</div>';
+	print '<div class="nowrap">';
+	print $form->selectDate($search_date_export_end, 'search_date_export_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to"));
+	print '</div>';
+	print '</td>';
+}
 
 // Fields from hook
 $parameters = array('arrayfields'=>$arrayfields);
@@ -516,6 +552,7 @@ if (!empty($arrayfields['t.label_operation']['checked']))		print_liste_field_tit
 if (!empty($arrayfields['t.debit']['checked']))					print_liste_field_titre($arrayfields['t.debit']['label'], $_SERVER['PHP_SELF'], "t.debit", "", $param, '', $sortfield, $sortorder, 'right ');
 if (!empty($arrayfields['t.credit']['checked']))				print_liste_field_titre($arrayfields['t.credit']['label'], $_SERVER['PHP_SELF'], "t.credit", "", $param, '', $sortfield, $sortorder, 'right ');
 if (!empty($arrayfields['t.lettering_code']['checked']))		print_liste_field_titre($arrayfields['t.lettering_code']['label'], $_SERVER['PHP_SELF'], "t.lettering_code", "", $param, '', $sortfield, $sortorder, 'center ');
+if (!empty($arrayfields['t.date_export']['checked']))			print_liste_field_titre($arrayfields['t.date_export']['label'], $_SERVER['PHP_SELF'], "t.date_export", "", $param, '', $sortfield, $sortorder, 'center ');
 // Hook fields
 $parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder);
 $reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook
@@ -546,13 +583,12 @@ while ($i < min($num, $limit))
 
 	// Is it a break ?
 	if ($accountg != $displayed_account_number || !isset($displayed_account_number)) {
-        if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING) || empty($arrayfields['t.lettering_code']['checked'])) {
-            $colnumber = 3;
-            $colnumberend = 7;
-        } else {
-            $colnumber = 4;
-            $colnumberend = 7;
-        }
+		$colnumber = 5;
+		$colnumberend = 7;
+
+		if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING) || empty($arrayfields['t.lettering_code']['checked'])) $colnumber--;
+		if (empty($arrayfields['t.date_export']['checked'])) $colnumber--;
+
         $colspan = $totalarray['nbfield'] - $colnumber;
         $colspanend = $totalarray['nbfield'] - $colnumberend;
 		// Show a subtotal by accounting account
@@ -585,7 +621,7 @@ while ($i < min($num, $limit))
 
 		// Show the break account
 		print "<tr>";
-		print '<td colspan="'.($totalarray['nbfield'] ? $totalarray['nbfield'] : 9).'" style="font-weight:bold; border-bottom: 1pt solid black;">';
+		print '<td colspan="'.($totalarray['nbfield'] ? $totalarray['nbfield'] : 10).'" style="font-weight:bold; border-bottom: 1pt solid black;">';
 		if ($line->numero_compte != "" && $line->numero_compte != '-1') print length_accountg($line->numero_compte).' : '.$object->get_compte_desc($line->numero_compte);
 		else print '<span class="error">'.$langs->trans("Unknown").'</span>';
 		print '</td>';
@@ -735,6 +771,13 @@ while ($i < min($num, $limit))
 		if (!$i) $totalarray['nbfield']++;
 	}
 
+	// Exported operation date
+	if (!empty($arrayfields['t.date_export']['checked']))
+	{
+		print '<td class="center">'.dol_print_date($line->date_export, 'dayhour').'</td>';
+		if (!$i) $totalarray['nbfield']++;
+	}
+
 	// Fields from hook
 	$parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj);
 	$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook
@@ -763,14 +806,6 @@ while ($i < min($num, $limit))
 }
 
 if ($num > 0) {
-	// Show sub-total of last shown account
-	if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING) || empty($arrayfields['t.lettering_code']['checked'])) {
-	    $colnumber = 3;
-	    $colnumberend = 7;
-	} else {
-	    $colnumber = 4;
-	    $colnumberend = 7;
-	}
 	$colspan = $totalarray['nbfield'] - $colnumber;
 	$colspanend = $totalarray['nbfield'] - $colnumberend;
 	print '<tr class="liste_total">';

+ 58 - 21
htdocs/accountancy/bookkeeping/listbysubaccount.php

@@ -48,6 +48,14 @@ $search_date_endday = GETPOST('search_date_endday', 'int');
 $search_date_start = dol_mktime(0, 0, 0, $search_date_startmonth, $search_date_startday, $search_date_startyear);
 $search_date_end = dol_mktime(0, 0, 0, $search_date_endmonth, $search_date_endday, $search_date_endyear);
 $search_doc_date = dol_mktime(0, 0, 0, GETPOST('doc_datemonth', 'int'), GETPOST('doc_dateday', 'int'), GETPOST('doc_dateyear', 'int'));
+$search_date_export_startyear =  GETPOST('search_date_export_startyear', 'int');
+$search_date_export_startmonth =  GETPOST('search_date_export_startmonth', 'int');
+$search_date_export_startday =  GETPOST('search_date_export_startday', 'int');
+$search_date_export_endyear =  GETPOST('search_date_export_endyear', 'int');
+$search_date_export_endmonth =  GETPOST('search_date_export_endmonth', 'int');
+$search_date_export_endday =  GETPOST('search_date_export_endday', 'int');
+$search_date_export_start = dol_mktime(0, 0, 0, $search_date_export_startmonth, $search_date_export_startday, $search_date_export_startyear);
+$search_date_export_end = dol_mktime(0, 0, 0, $search_date_export_endmonth, $search_date_export_endday, $search_date_export_endyear);
 
 $search_accountancy_code = GETPOST("search_accountancy_code");
 $search_accountancy_code_start = GETPOST('search_accountancy_code_start', 'alpha');
@@ -135,6 +143,7 @@ $arrayfields = array(
 	't.debit'=>array('label'=>$langs->trans("Debit"), 'checked'=>1),
 	't.credit'=>array('label'=>$langs->trans("Credit"), 'checked'=>1),
 	't.lettering_code'=>array('label'=>$langs->trans("LetteringCode"), 'checked'=>1),
+	't.date_export'=>array('label'=>$langs->trans("DateExport"), 'checked'=>1),
 );
 
 if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING)) {
@@ -193,6 +202,14 @@ if (empty($reshook)) {
 		$search_date_endyear = '';
 		$search_date_endmonth = '';
 		$search_date_endday = '';
+		$search_date_export_start = '';
+		$search_date_export_end = '';
+		$search_date_export_startyear = '';
+		$search_date_export_startmonth = '';
+		$search_date_export_startday = '';
+		$search_date_export_endyear = '';
+		$search_date_export_endmonth = '';
+		$search_date_export_endday = '';
 		$search_debit = '';
 		$search_credit = '';
 		$search_lettering_code = '';
@@ -265,6 +282,14 @@ if (empty($reshook)) {
 		$filter['t.reconciled_option'] = $search_not_reconciled;
 		$param .= '&search_not_reconciled='.urlencode($search_not_reconciled);
 	}
+	if (!empty($search_date_export_start)) {
+		$filter['t.date_export>='] = $search_date_export_start;
+		$param .= '&search_date_export_startmonth='.$search_date_export_startmonth.'&search_date_export_startday='.$search_date_export_startday.'&search_date_export_startyear='.$search_date_export_startyear;
+	}
+	if (!empty($search_date_export_end)) {
+		$filter['t.date_export<='] = $search_date_export_end;
+		$param .= '&search_date_export_endmonth='.$search_date_export_endmonth.'&search_date_export_endday='.$search_date_export_endday.'&search_date_export_endyear='.$search_date_export_endyear;
+	}
 }
 
 if ($action == 'delbookkeeping' && $user->rights->accounting->mouvements->supprimer) {
@@ -301,7 +326,7 @@ if ($action == 'delbookkeepingyearconfirm' && $user->rights->accounting->mouveme
 		}
 
 		// Make a redirect to avoid to launch the delete later after a back button
-		header("Location: listbysubaccount.php".($param ? '?'.$param : ''));
+		header("Location: ".$_SERVER["PHP_SELF"].($param ? '?'.$param : ''));
 		exit;
 	} else {
 		setEventMessages("NoRecordDeleted", null, 'warnings');
@@ -318,7 +343,7 @@ if ($action == 'delmouvconfirm' && $user->rights->accounting->mouvements->suppri
 			setEventMessages($langs->trans("RecordDeleted"), null, 'mesgs');
 		}
 
-		header("Location: listbysubaccount.php?noreset=1".($param ? '&'.$param : ''));
+		header("Location: ".$_SERVER["PHP_SELF"]."?noreset=1".($param ? '&'.$param : ''));
 		exit;
 	}
 }
@@ -419,7 +444,6 @@ if (empty($reshook)) {
 	$newcardbutton = dolGetButtonTitle($langs->trans('ViewFlatList'), '', 'fa fa-list paddingleft imgforviewmode', DOL_URL_ROOT.'/accountancy/bookkeeping/list.php?'.$param);
 	$newcardbutton .= dolGetButtonTitle($langs->trans('GroupByAccountAccounting'), '', 'fa fa-stream paddingleft imgforviewmode', DOL_URL_ROOT.'/accountancy/bookkeeping/listbyaccount.php', '', 1, array('morecss' => 'marginleftonly'));
 	$newcardbutton .= dolGetButtonTitle($langs->trans('GroupBySubAccountAccounting'), '', 'fa fa-align-left vmirror paddingleft imgforviewmode', DOL_URL_ROOT.'/accountancy/bookkeeping/listbysubaccount.php', '', 1, array('morecss' => 'marginleftonly btnTitleSelected'));
-
 	$newcardbutton .= dolGetButtonTitle($langs->trans('NewAccountingMvt'), '', 'fa fa-plus-circle paddingleft', DOL_URL_ROOT.'/accountancy/bookkeeping/card.php?action=create');
 }
 
@@ -522,6 +546,17 @@ if (!empty($arrayfields['t.lettering_code']['checked'])) {
 	print '<br><span class="nowrap"><input type="checkbox" name="search_reconciled_option" value="notreconciled"'.($search_not_reconciled == 'notreconciled' ? ' checked' : '').'>'.$langs->trans("NotReconciled").'</span>';
 	print '</td>';
 }
+// Date export
+if (!empty($arrayfields['t.date_export']['checked'])) {
+	print '<td class="liste_titre center">';
+	print '<div class="nowrap">';
+	print $form->selectDate($search_date_export_start, 'search_date_export_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From"));
+	print '</div>';
+	print '<div class="nowrap">';
+	print $form->selectDate($search_date_export_end, 'search_date_export_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to"));
+	print '</div>';
+	print '</td>';
+}
 
 // Fields from hook
 $parameters = array('arrayfields'=>$arrayfields);
@@ -560,6 +595,9 @@ if (!empty($arrayfields['t.credit']['checked'])) {
 if (!empty($arrayfields['t.lettering_code']['checked'])) {
 	print_liste_field_titre($arrayfields['t.lettering_code']['label'], $_SERVER['PHP_SELF'], "t.lettering_code", "", $param, '', $sortfield, $sortorder, 'center ');
 }
+if (!empty($arrayfields['t.date_export']['checked'])) {
+	print_liste_field_titre($arrayfields['t.date_export']['label'], $_SERVER['PHP_SELF'], "t.date_export", "", $param, '', $sortfield, $sortorder, 'center ');
+}
 // Hook fields
 $parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder);
 $reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook
@@ -589,15 +627,15 @@ while ($i < min($num, $limit)) {
 
 	// Is it a break ?
 	if ($accountg != $displayed_account_number || !isset($displayed_account_number)) {
-		if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING) || empty($arrayfields['t.lettering_code']['checked'])) {
-			$colnumber = 3;
-			$colnumberend = 7;
-		} else {
-			$colnumber = 4;
-			$colnumberend = 7;
-		}
-		$colspan = $totalarray['nbfield'] - $colnumber;
-		$colspanend = $totalarray['nbfield'] - $colnumberend;
+		$colnumber = 5;
+		$colnumberend = 7;
+
+		if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING) || empty($arrayfields['t.lettering_code']['checked'])) $colnumber--;
+		if (empty($arrayfields['t.date_export']['checked'])) $colnumber--;
+
+        $colspan = $totalarray['nbfield'] - $colnumber;
+        $colspanend = $totalarray['nbfield'] - $colnumberend;
+
 		// Show a subtotal by accounting account
 		if (isset($displayed_account_number)) {
 			print '<tr class="liste_total">';
@@ -627,7 +665,7 @@ while ($i < min($num, $limit)) {
 
 		// Show the break account
 		print "<tr>";
-		print '<td colspan="'.($totalarray['nbfield'] ? $totalarray['nbfield'] : 9).'" style="font-weight:bold; border-bottom: 1pt solid black;">';
+		print '<td colspan="'.($totalarray['nbfield'] ? $totalarray['nbfield'] : 10).'" style="font-weight:bold; border-bottom: 1pt solid black;">';
 		if ($line->subledger_account != "" && $line->subledger_account != '-1') {
 			print $object->get_compte_desc($line->numero_compte).' : '.length_accounta($line->subledger_account);
 		} else {
@@ -796,6 +834,13 @@ while ($i < min($num, $limit)) {
 		}
 	}
 
+	// Exported operation date
+	if (!empty($arrayfields['t.date_export']['checked']))
+	{
+		print '<td class="center">'.dol_print_date($line->date_export, 'dayhour').'</td>';
+		if (!$i) $totalarray['nbfield']++;
+	}
+
 	// Fields from hook
 	$parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj);
 	$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook
@@ -826,14 +871,6 @@ while ($i < min($num, $limit)) {
 }
 
 if ($num > 0) {
-	// Show sub-total of last shown account
-	if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING) || empty($arrayfields['t.lettering_code']['checked'])) {
-		$colnumber = 3;
-		$colnumberend = 7;
-	} else {
-		$colnumber = 4;
-		$colnumberend = 7;
-	}
 	$colspan = $totalarray['nbfield'] - $colnumber;
 	$colspanend = $totalarray['nbfield'] - $colnumberend;
 	print '<tr class="liste_total">';

+ 12 - 6
htdocs/accountancy/class/bookkeeping.class.php

@@ -795,7 +795,7 @@ class BookKeeping extends CommonObject
 		$sql .= " t.label_operation,";
 		$sql .= " t.debit,";
 		$sql .= " t.credit,";
-		$sql .= " t.montant,";
+		$sql .= " t.montant as amount,";
 		$sql .= " t.sens,";
 		$sql .= " t.multicurrency_amount,";
 		$sql .= " t.multicurrency_code,";
@@ -806,7 +806,8 @@ class BookKeeping extends CommonObject
 		$sql .= " t.code_journal,";
 		$sql .= " t.journal_label,";
 		$sql .= " t.piece_num,";
-		$sql .= " t.date_creation";
+		$sql .= " t.date_creation,";
+		$sql .= " t.date_export";
 		// Manage filter
 		$sqlwhere = array();
 		if (count($filter) > 0) {
@@ -823,6 +824,8 @@ class BookKeeping extends CommonObject
 					$sqlwhere[] = $key.' LIKE \''.$this->db->escape($value).'%\'';
 				} elseif ($key == 't.date_creation>=' || $key == 't.date_creation<=') {
 					$sqlwhere[] = $key.'\''.$this->db->idate($value).'\'';
+				} elseif ($key == 't.date_export>=' || $key == 't.date_export<=') {
+					$sqlwhere[] = $key.'\''.$this->db->idate($value).'\'';
 				} elseif ($key == 't.credit' || $key == 't.debit') {
 					$sqlwhere[] = natural_search($key, $value, 1, 1);
                 } elseif ($key == 't.reconciled_option') {
@@ -878,7 +881,8 @@ class BookKeeping extends CommonObject
 				$line->label_operation = $obj->label_operation;
 				$line->debit = $obj->debit;
 				$line->credit = $obj->credit;
-				$line->montant = $obj->montant;
+				$line->montant = $obj->amount; // deprecated
+				$line->amount = $obj->amount;
 				$line->sens = $obj->sens;
 				$line->multicurrency_amount = $obj->multicurrency_amount;
 				$line->multicurrency_code = $obj->multicurrency_code;
@@ -889,7 +893,8 @@ class BookKeeping extends CommonObject
 				$line->code_journal = $obj->code_journal;
 				$line->journal_label = $obj->journal_label;
 				$line->piece_num = $obj->piece_num;
-				$line->date_creation = $obj->date_creation;
+				$line->date_creation = $this->db->jdate($obj->date_creation);
+				$line->date_export = $this->db->jdate($obj->date_export);
 
 				$this->lines[] = $line;
 
@@ -941,7 +946,7 @@ class BookKeeping extends CommonObject
 		$sql .= " t.credit,";
 		$sql .= " t.lettering_code,";
 		$sql .= " t.date_lettering,";
-		$sql .= " t.montant,";
+		$sql .= " t.montant as amount,";
 		$sql .= " t.sens,";
 		$sql .= " t.fk_user_author,";
 		$sql .= " t.import_key,";
@@ -1019,7 +1024,8 @@ class BookKeeping extends CommonObject
 				$line->label_operation = $obj->label_operation;
 				$line->debit = $obj->debit;
 				$line->credit = $obj->credit;
-				$line->montant = $obj->montant;
+				$line->montant = $obj->amount;	// deprecated
+				$line->amount = $obj->amount;
 				$line->sens = $obj->sens;
 				$line->lettering_code = $obj->lettering_code;
 				$line->date_lettering = $obj->date_lettering;

+ 1 - 2
htdocs/compta/sociales/card.php

@@ -182,8 +182,7 @@ if ($action == 'update' && !$_POST["cancel"] && $user->rights->tax->charges->cre
 
 	if (!$dateech)
 	{
-		setEventMessages($langs->trans("ErrorFieldReqrequire_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php';
-uired", $langs->transnoentities("Date")), null, 'errors');
+		setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Date")), null, 'errors');
 		$action = 'edit';
 	} elseif (!$dateperiod)
 	{

+ 2 - 1
htdocs/core/boxes/box_graph_invoices_permonth.php

@@ -120,7 +120,8 @@ class box_graph_invoices_permonth extends ModeleBoxes
 			if (empty($shownb) && empty($showtot)) { $shownb = 1; $showtot = 1; }
 			$nowarray = dol_getdate(dol_now(), true);
 			if (empty($endyear)) $endyear = $nowarray['year'];
-			$startyear = $endyear - 1;
+			$startyear = $endyear - (empty($conf->global->MAIN_NB_OF_YEAR_IN_WIDGET_GRAPH) ? 1 : $conf->global->MAIN_NB_OF_YEAR_IN_WIDGET_GRAPH);
+
 			$mode = 'customer';
 			$WIDTH = (($shownb && $showtot) || !empty($conf->dol_optimize_smallscreen)) ? '256' : '320';
 			$HEIGHT = '192';

+ 2 - 1
htdocs/core/boxes/box_graph_invoices_supplier_permonth.php

@@ -118,7 +118,8 @@ class box_graph_invoices_supplier_permonth extends ModeleBoxes
 			$nowarray = dol_getdate(dol_now(), true);
 			if (empty($year)) $year = $nowarray['year'];
 			if (empty($endyear)) $endyear = $nowarray['year'];
-			$startyear = $endyear - 1;
+			$startyear = $endyear - (empty($conf->global->MAIN_NB_OF_YEAR_IN_WIDGET_GRAPH) ? 1 : $conf->global->MAIN_NB_OF_YEAR_IN_WIDGET_GRAPH);
+
 			$mode = 'supplier';
 			$WIDTH = (($shownb && $showtot) || !empty($conf->dol_optimize_smallscreen)) ? '256' : '320';
 			$HEIGHT = '192';

+ 2 - 1
htdocs/core/boxes/box_graph_orders_permonth.php

@@ -120,7 +120,8 @@ class box_graph_orders_permonth extends ModeleBoxes
 			if (empty($shownb) && empty($showtot)) { $shownb = 1; $showtot = 1; }
 			$nowarray = dol_getdate(dol_now(), true);
 			if (empty($endyear)) $endyear = $nowarray['year'];
-			$startyear = $endyear - 1;
+			$startyear = $endyear - (empty($conf->global->MAIN_NB_OF_YEAR_IN_WIDGET_GRAPH) ? 1 : $conf->global->MAIN_NB_OF_YEAR_IN_WIDGET_GRAPH);
+
 			$mode = 'customer';
 			$WIDTH = (($shownb && $showtot) || !empty($conf->dol_optimize_smallscreen)) ? '256' : '320';
 			$HEIGHT = '192';

+ 2 - 1
htdocs/core/boxes/box_graph_orders_supplier_permonth.php

@@ -119,7 +119,8 @@ class box_graph_orders_supplier_permonth extends ModeleBoxes
 			if (empty($shownb) && empty($showtot)) { $shownb = 1; $showtot = 1; }
 			$nowarray = dol_getdate(dol_now(), true);
 			if (empty($endyear)) $endyear = $nowarray['year'];
-			$startyear = $endyear - 1;
+			$startyear = $endyear - (empty($conf->global->MAIN_NB_OF_YEAR_IN_WIDGET_GRAPH) ? 1 : $conf->global->MAIN_NB_OF_YEAR_IN_WIDGET_GRAPH);
+
 			$mode = 'supplier';
 			$WIDTH = (($shownb && $showtot) || !empty($conf->dol_optimize_smallscreen)) ? '256' : '320';
 			$HEIGHT = '192';

+ 2 - 1
htdocs/core/boxes/box_graph_propales_permonth.php

@@ -120,7 +120,8 @@ class box_graph_propales_permonth extends ModeleBoxes
 			if (empty($shownb) && empty($showtot)) { $shownb = 1; $showtot = 1; }
 			$nowarray = dol_getdate(dol_now(), true);
 			if (empty($endyear)) $endyear = $nowarray['year'];
-			$startyear = $endyear - 1;
+			$startyear = $endyear - (empty($conf->global->MAIN_NB_OF_YEAR_IN_WIDGET_GRAPH) ? 1 : $conf->global->MAIN_NB_OF_YEAR_IN_WIDGET_GRAPH);
+
 			$WIDTH = (($shownb && $showtot) || !empty($conf->dol_optimize_smallscreen)) ? '256' : '320';
 			$HEIGHT = '192';
 

+ 12 - 5
htdocs/langs/am_ET/accountancy.lang

@@ -48,6 +48,7 @@ CountriesExceptMe=All countries except %s
 AccountantFiles=Export source documents
 ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s.
 VueByAccountAccounting=View by accounting account
+VueBySubAccountAccounting=View by accounting subaccount
 
 MainAccountForCustomersNotDefined=Main accounting account for customers not defined in setup
 MainAccountForSuppliersNotDefined=Main accounting account for vendors not defined in setup
@@ -144,7 +145,7 @@ NotVentilatedinAccount=Not bound to the accounting account
 XLineSuccessfullyBinded=%s products/services successfully bound to an accounting account
 XLineFailedToBeBinded=%s products/services were not bound to any accounting account
 
-ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to bind shown by page (maximum recommended: 50)
+ACCOUNTING_LIMIT_LIST_VENTILATION=Maximum number of lines on list and bind page (recommended: 50)
 ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the page "Binding to do" by the most recent elements
 ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the page "Binding done" by the most recent elements
 
@@ -198,7 +199,8 @@ Docdate=Date
 Docref=Reference
 LabelAccount=Label account
 LabelOperation=Label operation
-Sens=Sens
+Sens=Direction
+AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you received<br>For an accounting account of a supplier, use Debit to record a payment you make
 LetteringCode=Lettering code
 Lettering=Lettering
 Codejournal=Journal
@@ -206,7 +208,8 @@ JournalLabel=Journal label
 NumPiece=Piece number
 TransactionNumShort=Num. transaction
 AccountingCategory=Personalized groups
-GroupByAccountAccounting=Group by accounting account
+GroupByAccountAccounting=Group by general ledger account
+GroupBySubAccountAccounting=Group by subledger account
 AccountingAccountGroupsDesc=You can define here some groups of accounting account. They will be used for personalized accounting reports.
 ByAccounts=By accounts
 ByPredefinedAccountGroups=By predefined groups
@@ -248,7 +251,7 @@ PaymentsNotLinkedToProduct=Payment not linked to any product / service
 OpeningBalance=Opening balance
 ShowOpeningBalance=Show opening balance
 HideOpeningBalance=Hide opening balance
-ShowSubtotalByGroup=Show subtotal by group
+ShowSubtotalByGroup=Show subtotal by level
 
 Pcgtype=Group of account
 PcgtypeDesc=Group of account are used as predefined 'filter' and 'grouping' criteria for some accounting reports. For example, 'INCOME' or 'EXPENSE' are used as groups for accounting accounts of products to build the expense/income report.
@@ -271,11 +274,13 @@ DescVentilExpenseReport=Consult here the list of expense report lines bound (or
 DescVentilExpenseReportMore=If you setup accounting account on type of expense report lines, the application will be able to make all the binding between your expense report lines and the accounting account of your chart of accounts, just in one click with the button <strong>"%s"</strong>. If account was not set on fees dictionary or if you still have some lines not bound to any account, you will have to make a manual binding from the menu "<strong>%s</strong>".
 DescVentilDoneExpenseReport=Consult here the list of the lines of expenses reports and their fees accounting account
 
+Closure=Annual closure
 DescClosure=Consult here the number of movements by month who are not validated & fiscal years already open
 OverviewOfMovementsNotValidated=Step 1/ Overview of movements not validated. (Necessary to close a fiscal year)
+AllMovementsWereRecordedAsValidated=All movements were recorded as validated
+NotAllMovementsCouldBeRecordedAsValidated=Not all movements could be recorded as validated
 ValidateMovements=Validate movements
 DescValidateMovements=Any modification or deletion of writing, lettering and deletes will be prohibited. All entries for an exercise must be validated otherwise closing will not be possible
-SelectMonthAndValidate=Select month and validate movements
 
 ValidateHistory=Bind Automatically
 AutomaticBindingDone=Automatic binding done
@@ -293,6 +298,7 @@ Accounted=Accounted in ledger
 NotYetAccounted=Not yet accounted in ledger
 ShowTutorial=Show Tutorial
 NotReconciled=Not reconciled
+WarningRecordWithoutSubledgerAreExcluded=Warning, all operations without subledger account defined are filtered and excluded from this view
 
 ## Admin
 BindingOptions=Binding options
@@ -337,6 +343,7 @@ Modelcsv_LDCompta10=Export for LD Compta (v10 & higher)
 Modelcsv_openconcerto=Export for OpenConcerto (Test)
 Modelcsv_configurable=Export CSV Configurable
 Modelcsv_FEC=Export FEC
+Modelcsv_FEC2=Export FEC (With dates generation writing / document reversed)
 Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland
 Modelcsv_winfic=Export Winfic - eWinfic - WinSis Compta
 Modelcsv_Gestinumv3=Export for Gestinum (v3)

+ 16 - 9
htdocs/langs/am_ET/admin.lang

@@ -56,6 +56,8 @@ GUISetup=Display
 SetupArea=Setup
 UploadNewTemplate=Upload new template(s)
 FormToTestFileUploadForm=Form to test file upload (according to setup)
+ModuleMustBeEnabled=The module/application <b>%s</b> must be enabled
+ModuleIsEnabled=The module/application <b>%s</b> has been enabled
 IfModuleEnabled=Note: yes is effective only if module <b>%s</b> is enabled
 RemoveLock=Remove/rename file <b>%s</b> if it exists, to allow usage of the Update/Install tool.
 RestoreLock=Restore file <b>%s</b>, with read permission only, to disable any further use of the Update/Install tool.
@@ -85,7 +87,6 @@ ShowPreview=Show preview
 ShowHideDetails=Show-Hide details
 PreviewNotAvailable=Preview not available
 ThemeCurrentlyActive=Theme currently active
-CurrentTimeZone=TimeZone PHP (server)
 MySQLTimeZone=TimeZone MySql (database)
 TZHasNoEffect=Dates are stored and returned by database server as if they were kept as submitted string. The timezone has effect only when using the UNIX_TIMESTAMP function (that should not be used by Dolibarr, so database TZ should have no effect, even if changed after data was entered).
 Space=Space
@@ -153,8 +154,8 @@ SystemToolsAreaDesc=This area provides administration functions. Use the menu to
 Purge=Purge
 PurgeAreaDesc=This page allows you to delete all files generated or stored by Dolibarr (temporary files or all files in <b>%s</b> directory). Using this feature is not normally necessary. It is provided as a workaround for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files generated by the web server.
 PurgeDeleteLogFile=Delete log files, including <b>%s</b> defined for Syslog module (no risk of losing data)
-PurgeDeleteTemporaryFiles=Delete all temporary files (no risk of losing data). Note: Deletion is done only if the temp directory was created 24 hours ago.
-PurgeDeleteTemporaryFilesShort=Delete temporary files
+PurgeDeleteTemporaryFiles=Delete all log and temporary files (no risk of losing data). Note: Deletion of temporary files is done only if the temp directory was created more than 24 hours ago.
+PurgeDeleteTemporaryFilesShort=Delete log and temporary files
 PurgeDeleteAllFilesInDocumentsDir=Delete all files in directory: <b>%s</b>.<br>This will delete all generated documents related to elements (third parties, invoices etc...), files uploaded into the ECM module, database backup dumps and temporary files.
 PurgeRunNow=Purge now
 PurgeNothingToDelete=No directory or files to delete.
@@ -256,6 +257,7 @@ ReferencedPreferredPartners=Preferred Partners
 OtherResources=Other resources
 ExternalResources=External Resources
 SocialNetworks=Social Networks
+SocialNetworkId=Social Network ID
 ForDocumentationSeeWiki=For user or developer documentation (Doc, FAQs...),<br>take a look at the Dolibarr Wiki:<br><b><a href="%s" target="_blank">%s</a></b>
 ForAnswersSeeForum=For any other questions/help, you can use the Dolibarr forum:<br><b><a href="%s" target="_blank">%s</a></b>
 HelpCenterDesc1=Here are some resources for getting help and support with Dolibarr.
@@ -375,7 +377,7 @@ ExamplesWithCurrentSetup=Examples with current configuration
 ListOfDirectories=List of OpenDocument templates directories
 ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.<br><br>Put here full path of directories.<br>Add a carriage return between eah directory.<br>To add a directory of the GED module, add here <b>DOL_DATA_ROOT/ecm/yourdirectoryname</b>.<br><br>Files in those directories must end with <b>.odt</b> or <b>.ods</b>.
 NumberOfModelFilesFound=Number of ODT/ODS template files found in these directories
-ExampleOfDirectoriesForModelGen=Examples of syntax:<br>c:\\mydir<br>/home/mydir<br>DOL_DATA_ROOT/ecm/ecmdir
+ExampleOfDirectoriesForModelGen=Examples of syntax:<br>c:\\myapp\\mydocumentdir\\mysubdir<br>/home/myapp/mydocumentdir/mysubdir<br>DOL_DATA_ROOT/ecm/ecmdir
 FollowingSubstitutionKeysCanBeUsed=<br>To know how to create your odt document templates, before storing them in those directories, read wiki documentation:
 FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template
 FirstnameNamePosition=Position of Name/Lastname
@@ -406,7 +408,7 @@ UrlGenerationParameters=Parameters to secure URLs
 SecurityTokenIsUnique=Use a unique securekey parameter for each URL
 EnterRefToBuildUrl=Enter reference for object %s
 GetSecuredUrl=Get calculated URL
-ButtonHideUnauthorized=Hide buttons for non-admin users for unauthorized actions instead of showing greyed disabled buttons
+ButtonHideUnauthorized=Hide unauthorized action buttons also for internal users (just greyed otherwise)
 OldVATRates=Old VAT rate
 NewVATRates=New VAT rate
 PriceBaseTypeToChange=Modify on prices with base reference value defined on
@@ -1689,7 +1691,7 @@ NotTopTreeMenuPersonalized=Personalized menus not linked to a top menu entry
 NewMenu=New menu
 MenuHandler=Menu handler
 MenuModule=Source module
-HideUnauthorizedMenu= Hide unauthorized menus (gray)
+HideUnauthorizedMenu=Hide unauthorized menus also for internal users (just greyed otherwise)
 DetailId=Id menu
 DetailMenuHandler=Menu handler where to show new menu
 DetailMenuModule=Module name if menu entry come from a module
@@ -1983,11 +1985,12 @@ EMailHost=Host of email IMAP server
 MailboxSourceDirectory=Mailbox source directory
 MailboxTargetDirectory=Mailbox target directory
 EmailcollectorOperations=Operations to do by collector
+EmailcollectorOperationsDesc=Operations are executed from top to bottom order
 MaxEmailCollectPerCollect=Max number of emails collected per collect
 CollectNow=Collect now
 ConfirmCloneEmailCollector=Are you sure you want to clone the Email collector %s ?
-DateLastCollectResult=Date latest collect tried
-DateLastcollectResultOk=Date latest collect successfull
+DateLastCollectResult=Date of latest collect try
+DateLastcollectResultOk=Date of latest collect success
 LastResult=Latest result
 EmailCollectorConfirmCollectTitle=Email collect confirmation
 EmailCollectorConfirmCollect=Do you want to run the collection for this collector now ?
@@ -2005,7 +2008,7 @@ WithDolTrackingID=Message from a conversation initiated by a first email sent fr
 WithoutDolTrackingID=Message from a conversation initiated by a first email NOT sent from Dolibarr
 WithDolTrackingIDInMsgId=Message sent from Dolibarr
 WithoutDolTrackingIDInMsgId=Message NOT sent from Dolibarr
-CreateCandidature=Create candidature
+CreateCandidature=Create job application
 FormatZip=Zip
 MainMenuCode=Menu entry code (mainmenu)
 ECMAutoTree=Show automatic ECM tree
@@ -2083,3 +2086,7 @@ CountryIfSpecificToOneCountry=Country (if specific to a given country)
 YouMayFindSecurityAdviceHere=You may find security advisory here
 ModuleActivatedMayExposeInformation=This module may expose sensitive data. If you don't need it, disable it.
 ModuleActivatedDoNotUseInProduction=A module designed for the development has been enabled. Do not enable it on a production environment.
+CombinationsSeparator=Separator character for product combinations
+SeeLinkToOnlineDocumentation=See link to online documention on top menu for examples
+SHOW_SUBPRODUCT_REF_IN_PDF=If the feature "%s" of module <b>%s</b> is used, show details of subproducts of a kit on PDF.
+AskThisIDToYourBank=Contact your bank to get this ID

+ 2 - 2
htdocs/langs/am_ET/banks.lang

@@ -173,8 +173,8 @@ SEPAMandate=SEPA mandate
 YourSEPAMandate=Your SEPA mandate
 FindYourSEPAMandate=This is your SEPA mandate to authorize our company to make direct debit order to your bank. Return it signed (scan of the signed document) or send it by mail to
 AutoReportLastAccountStatement=Automatically fill the field 'number of bank statement' with last statement number when making reconciliation
-CashControl=POS cash fence
-NewCashFence=New cash fence
+CashControl=POS cash desk control
+NewCashFence=New cash desk closing
 BankColorizeMovement=Colorize movements
 BankColorizeMovementDesc=If this function is enable, you can choose specific background color for debit or credit movements
 BankColorizeMovementName1=Background color for debit movement

+ 1 - 1
htdocs/langs/am_ET/blockedlog.lang

@@ -35,7 +35,7 @@ logDON_DELETE=Donation logical deletion
 logMEMBER_SUBSCRIPTION_CREATE=Member subscription created
 logMEMBER_SUBSCRIPTION_MODIFY=Member subscription modified
 logMEMBER_SUBSCRIPTION_DELETE=Member subscription logical deletion
-logCASHCONTROL_VALIDATE=Cash fence recording
+logCASHCONTROL_VALIDATE=Cash desk closing recording
 BlockedLogBillDownload=Customer invoice download
 BlockedLogBillPreview=Customer invoice preview
 BlockedlogInfoDialog=Log Details

+ 5 - 0
htdocs/langs/am_ET/boxes.lang

@@ -46,9 +46,12 @@ BoxTitleLastModifiedDonations=Latest %s modified donations
 BoxTitleLastModifiedExpenses=Latest %s modified expense reports
 BoxTitleLatestModifiedBoms=Latest %s modified BOMs
 BoxTitleLatestModifiedMos=Latest %s modified Manufacturing Orders
+BoxTitleLastOutstandingBillReached=Customers with maximum outstanding exceeded
 BoxGlobalActivity=Global activity (invoices, proposals, orders)
 BoxGoodCustomers=Good customers
 BoxTitleGoodCustomers=%s Good customers
+BoxScheduledJobs=Scheduled jobs
+BoxTitleFunnelOfProspection=Lead funnel
 FailedToRefreshDataInfoNotUpToDate=Failed to refresh RSS flux. Latest successful refresh date: %s
 LastRefreshDate=Latest refresh date
 NoRecordedBookmarks=No bookmarks defined.
@@ -102,5 +105,7 @@ SuspenseAccountNotDefined=Suspense account isn't defined
 BoxLastCustomerShipments=Last customer shipments
 BoxTitleLastCustomerShipments=Latest %s customer shipments
 NoRecordedShipments=No recorded customer shipment
+BoxCustomersOutstandingBillReached=Customers with oustanding limit reached
 # Pages
 AccountancyHome=Accountancy
+ValidatedProjects=Validated projects

+ 6 - 4
htdocs/langs/am_ET/cashdesk.lang

@@ -49,8 +49,8 @@ Footer=Footer
 AmountAtEndOfPeriod=Amount at end of period (day, month or year)
 TheoricalAmount=Theorical amount
 RealAmount=Real amount
-CashFence=Cash fence
-CashFenceDone=Cash fence done for the period
+CashFence=Cash desk closing
+CashFenceDone=Cash desk closing done for the period
 NbOfInvoices=Nb of invoices
 Paymentnumpad=Type of Pad to enter payment
 Numberspad=Numbers Pad
@@ -99,8 +99,9 @@ CashDeskRefNumberingModules=Numbering module for POS sales
 CashDeskGenericMaskCodes6 = <br><b>{TN}</b> tag is used to add the terminal number
 TakeposGroupSameProduct=Group same products lines
 StartAParallelSale=Start a new parallel sale
-ControlCashOpening=Control cash box at opening POS
-CloseCashFence=Close cash fence
+SaleStartedAt=Sale started at %s
+ControlCashOpening=Control cash popup at opening POS
+CloseCashFence=Close cash desk control
 CashReport=Cash report
 MainPrinterToUse=Main printer to use
 OrderPrinterToUse=Order printer to use
@@ -122,3 +123,4 @@ GiftReceipt=Gift receipt
 ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled first
 AllowDelayedPayment=Allow delayed payment
 PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts
+WeighingScale=Weighing scale

+ 12 - 5
htdocs/langs/am_ET/categories.lang

@@ -19,6 +19,7 @@ ProjectsCategoriesArea=Projects tags/categories area
 UsersCategoriesArea=Users tags/categories area
 SubCats=Sub-categories
 CatList=List of tags/categories
+CatListAll=List of tags/categories (all types)
 NewCategory=New tag/category
 ModifCat=Modify tag/category
 CatCreated=Tag/category created
@@ -65,16 +66,22 @@ UsersCategoriesShort=Users tags/categories
 StockCategoriesShort=Warehouse tags/categories
 ThisCategoryHasNoItems=This category does not contain any items.
 CategId=Tag/category id
-CatSupList=List of vendor tags/categories
-CatCusList=List of customer/prospect tags/categories
+ParentCategory=Parent tag/category
+ParentCategoryLabel=Label of parent tag/category
+CatSupList=List of vendors tags/categories
+CatCusList=List of customers/prospects tags/categories
 CatProdList=List of products tags/categories
 CatMemberList=List of members tags/categories
-CatContactList=List of contact tags/categories
-CatSupLinks=Links between suppliers and tags/categories
+CatContactList=List of contacts tags/categories
+CatProjectsList=List of projects tags/categories
+CatUsersList=List of users tags/categories
+CatSupLinks=Links between vendors and tags/categories
 CatCusLinks=Links between customers/prospects and tags/categories
 CatContactsLinks=Links between contacts/addresses and tags/categories
 CatProdLinks=Links between products/services and tags/categories
-CatProJectLinks=Links between projects and tags/categories
+CatMembersLinks=Links between members and tags/categories
+CatProjectsLinks=Links between projects and tags/categories
+CatUsersLinks=Links between users and tags/categories
 DeleteFromCat=Remove from tags/category
 ExtraFieldsCategories=Complementary attributes
 CategoriesSetup=Tags/categories setup

+ 1 - 1
htdocs/langs/am_ET/companies.lang

@@ -358,7 +358,7 @@ VATIntraCheckableOnEUSite=Check the intra-Community VAT ID on the European Commi
 VATIntraManualCheck=You can also check manually on the European Commission website <a href="%s" target="_blank">%s</a>
 ErrorVATCheckMS_UNAVAILABLE=Check not possible. Check service is not provided by the member state (%s).
 NorProspectNorCustomer=Not prospect, nor customer
-JuridicalStatus=Legal Entity Type
+JuridicalStatus=Business entity type
 Workforce=Workforce
 Staff=Employees
 ProspectLevelShort=Potential

+ 8 - 5
htdocs/langs/am_ET/compta.lang

@@ -111,7 +111,7 @@ Refund=Refund
 SocialContributionsPayments=Social/fiscal taxes payments
 ShowVatPayment=Show VAT payment
 TotalToPay=Total to pay
-BalanceVisibilityDependsOnSortAndFilters=Balance is visible in this list only if table is sorted ascending on %s and filtered for 1 bank account
+BalanceVisibilityDependsOnSortAndFilters=Balance is visible in this list only if table is sorted on %s and filtered on 1 bank account (with no other filters)
 CustomerAccountancyCode=Customer accounting code
 SupplierAccountancyCode=Vendor accounting code
 CustomerAccountancyCodeShort=Cust. account. code
@@ -140,7 +140,7 @@ ConfirmDeleteSocialContribution=Are you sure you want to delete this social/fisc
 ExportDataset_tax_1=Social and fiscal taxes and payments
 CalcModeVATDebt=Mode <b>%sVAT on commitment accounting%s</b>.
 CalcModeVATEngagement=Mode <b>%sVAT on incomes-expenses%s</b>.
-CalcModeDebt=Analysis of known recorded invoices even if they are not yet accounted in ledger.
+CalcModeDebt=Analysis of known recorded documents even if they are not yet accounted in ledger.
 CalcModeEngagement=Analysis of known recorded payments, even if they are not yet accounted in Ledger.
 CalcModeBookkeeping=Analysis of data journalized in Bookkeeping Ledger table.
 CalcModeLT1= Mode <b>%sRE on customer invoices - suppliers invoices%s</b>
@@ -154,9 +154,9 @@ AnnualSummaryInputOutputMode=Balance of income and expenses, annual summary
 AnnualByCompanies=Balance of income and expenses, by predefined groups of account
 AnnualByCompaniesDueDebtMode=Balance of income and expenses, detail by predefined groups, mode <b>%sClaims-Debts%s</b> said <b>Commitment accounting</b>.
 AnnualByCompaniesInputOutputMode=Balance of income and expenses, detail by predefined groups, mode <b>%sIncomes-Expenses%s</b> said <b>cash accounting</b>.
-SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on actual payments made even if they are not yet accounted in Ledger.
-SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger.
-SeeReportInBookkeepingMode=See <b>%sBookeeping report%s</b> for a calculation on <b>Bookkeeping Ledger table</b>
+SeeReportInInputOutputMode=See <b>%sanalysis of payments%s</b> for a calculation based on <b>recorded payments</b> made even if they are not yet accounted in Ledger
+SeeReportInDueDebtMode=See <b>%sanalysis of recorded documents%s</b> for a calculation based on known <b>recorded documents</b> even if they are not yet accounted in Ledger
+SeeReportInBookkeepingMode=See <b>%sanalysis of bookeeping ledger table%s</b> for a report based on <b>Bookkeeping Ledger table</b>
 RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included
 RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.<br>- It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used.
 RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries. <br>- It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation.
@@ -169,12 +169,15 @@ RulesResultBookkeepingPersonalized=It show record in your Ledger with accounting
 SeePageForSetup=See menu <a href="%s">%s</a> for setup
 DepositsAreNotIncluded=- Down payment invoices are not included
 DepositsAreIncluded=- Down payment invoices are included
+LT1ReportByMonth=Tax 2 report by month
+LT2ReportByMonth=Tax 3 report by month
 LT1ReportByCustomers=Report tax 2 by third party
 LT2ReportByCustomers=Report tax 3 by third party
 LT1ReportByCustomersES=Report by third party RE
 LT2ReportByCustomersES=Report by third party IRPF
 VATReport=Sale tax report
 VATReportByPeriods=Sale tax report by period
+VATReportByMonth=Sale tax report by month
 VATReportByRates=Sale tax report by rates
 VATReportByThirdParties=Sale tax report by third parties
 VATReportByCustomers=Sale tax report by customer

+ 10 - 3
htdocs/langs/am_ET/cron.lang

@@ -7,13 +7,14 @@ Permission23103 = Delete Scheduled job
 Permission23104 = Execute Scheduled job
 # Admin
 CronSetup=Scheduled job management setup
-URLToLaunchCronJobs=URL to check and launch qualified cron jobs
-OrToLaunchASpecificJob=Or to check and launch a specific job
+URLToLaunchCronJobs=URL to check and launch qualified cron jobs from a browser
+OrToLaunchASpecificJob=Or to check and launch a specific job from a browser
 KeyForCronAccess=Security key for URL to launch cron jobs
 FileToLaunchCronJobs=Command line to check and launch qualified cron jobs
 CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes
 CronExplainHowToRunWin=On Microsoft(tm) Windows environment you can use Scheduled Task tools to run the command line each 5 minutes
 CronMethodDoesNotExists=Class %s does not contains any method %s
+CronMethodNotAllowed=Method %s of class %s is in blacklist of forbidden methods
 CronJobDefDesc=Cron job profiles are defined into the module descriptor file. When module is activated, they are loaded and available so you can administer the jobs from the admin tools menu %s.
 CronJobProfiles=List of predefined cron job profiles
 # Menu
@@ -46,6 +47,7 @@ CronNbRun=Number of launches
 CronMaxRun=Maximum number of launches
 CronEach=Every
 JobFinished=Job launched and finished
+Scheduled=Scheduled
 #Page card
 CronAdd= Add jobs
 CronEvery=Execute job each
@@ -56,7 +58,7 @@ CronNote=Comment
 CronFieldMandatory=Fields %s is mandatory
 CronErrEndDateStartDt=End date cannot be before start date
 StatusAtInstall=Status at module installation
-CronStatusActiveBtn=Enable
+CronStatusActiveBtn=Schedule
 CronStatusInactiveBtn=Disable
 CronTaskInactive=This job is disabled
 CronId=Id
@@ -82,3 +84,8 @@ MakeLocalDatabaseDumpShort=Local database backup
 MakeLocalDatabaseDump=Create a local database dump. Parameters are: compression ('gz' or 'bz' or 'none'), backup type ('mysql', 'pgsql', 'auto'), 1, 'auto' or filename to build, number of backup files to keep
 WarningCronDelayed=Attention, for performance purpose, whatever is next date of execution of enabled jobs, your jobs may be delayed to a maximum of %s hours, before being run.
 DATAPOLICYJob=Data cleaner and anonymizer
+JobXMustBeEnabled=Job %s must be enabled
+# Cron Boxes
+LastExecutedScheduledJob=Last executed scheduled job
+NextScheduledJobExecute=Next scheduled job to execute
+NumberScheduledJobError=Number of scheduled jobs in error

+ 20 - 3
htdocs/langs/am_ET/errors.lang

@@ -5,8 +5,10 @@ NoErrorCommitIsDone=No error, we commit
 # Errors
 ErrorButCommitIsDone=Errors found but we validate despite this
 ErrorBadEMail=Email %s is wrong
+ErrorBadMXDomain=Email %s seems wrong (domain has no valid MX record)
 ErrorBadUrl=Url %s is wrong
 ErrorBadValueForParamNotAString=Bad value for your parameter. It appends generally when translation is missing.
+ErrorRefAlreadyExists=Reference <b>%s</b> already exists.
 ErrorLoginAlreadyExists=Login %s already exists.
 ErrorGroupAlreadyExists=Group %s already exists.
 ErrorRecordNotFound=Record not found.
@@ -48,6 +50,7 @@ ErrorFieldsRequired=Some required fields were not filled.
 ErrorSubjectIsRequired=The email topic is required
 ErrorFailedToCreateDir=Failed to create a directory. Check that Web server user has permissions to write into Dolibarr documents directory. If parameter <b>safe_mode</b> is enabled on this PHP, check that Dolibarr php files owns to web server user (or group).
 ErrorNoMailDefinedForThisUser=No mail defined for this user
+ErrorSetupOfEmailsNotComplete=Setup of emails is not complete
 ErrorFeatureNeedJavascript=This feature need javascript to be activated to work. Change this in setup - display.
 ErrorTopMenuMustHaveAParentWithId0=A menu of type 'Top' can't have a parent menu. Put 0 in parent menu or choose a menu of type 'Left'.
 ErrorLeftMenuMustHaveAParentId=A menu of type 'Left' must have a parent id.
@@ -75,7 +78,7 @@ ErrorExportDuplicateProfil=This profile name already exists for this export set.
 ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete.
 ErrorLDAPMakeManualTest=A .ldif file has been generated in directory %s. Try to load it manually from command line to have more information on errors.
 ErrorCantSaveADoneUserWithZeroPercentage=Can't save an action with "status not started" if field "done by" is also filled.
-ErrorRefAlreadyExists=Ref used for creation already exists.
+ErrorRefAlreadyExists=Reference <b>%s</b> already exists.
 ErrorPleaseTypeBankTransactionReportName=Please enter the bank statement name where the entry has to be reported (Format YYYYMM or YYYYMMDD)
 ErrorRecordHasChildren=Failed to delete record since it has some child records.
 ErrorRecordHasAtLeastOneChildOfType=Object has at least one child of type %s
@@ -216,7 +219,7 @@ ErrorChooseBetweenFreeEntryOrPredefinedProduct=You must choose if article is a p
 ErrorDiscountLargerThanRemainToPaySplitItBefore=The discount you try to apply is larger than remain to pay. Split the discount in 2 smaller discounts before.
 ErrorFileNotFoundWithSharedLink=File was not found. May be the share key was modified or file was removed recently.
 ErrorProductBarCodeAlreadyExists=The product barcode %s already exists on another product reference.
-ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Note also that using virtual product to have auto increase/decrease of subproducts is not possible when at least one subproduct (or subproduct of subproducts) needs a serial/lot number.
+ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Note also that using kits to have auto increase/decrease of subproducts is not possible when at least one subproduct (or subproduct of subproducts) needs a serial/lot number.
 ErrorDescRequiredForFreeProductLines=Description is mandatory for lines with free product
 ErrorAPageWithThisNameOrAliasAlreadyExists=The page/container <strong>%s</strong> has the same name or alternative alias that the one your try to use
 ErrorDuringChartLoad=Error when loading chart of accounts. If few accounts were not loaded, you can still enter them manually.
@@ -243,6 +246,16 @@ ErrorReplaceStringEmpty=Error, the string to replace into is empty
 ErrorProductNeedBatchNumber=Error, product '<b>%s</b>' need a lot/serial number
 ErrorProductDoesNotNeedBatchNumber=Error, product '<b>%s</b>' does not accept a lot/serial number
 ErrorFailedToReadObject=Error, failed to read object of type <b>%s</b>
+ErrorParameterMustBeEnabledToAllwoThisFeature=Error, parameter <b>%s</b> must be enabled into <b>conf/conf.php<b> to allow use of Command Line Interface by the internal job scheduler
+ErrorLoginDateValidity=Error, this login is outside the validity date range
+ErrorValueLength=Length of field '<b>%s</b>' must be higher than '<b>%s</b>'
+ErrorReservedKeyword=The word '<b>%s</b>' is a reserved keyword
+ErrorNotAvailableWithThisDistribution=Not available with this distribution
+ErrorPublicInterfaceNotEnabled=Public interface was not enabled
+ErrorLanguageRequiredIfPageIsTranslationOfAnother=The language of new page must be defined if it is set as a translation of another page
+ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=The language of new page must not be the source language if it is set as a translation of another page
+ErrorAParameterIsRequiredForThisOperation=A parameter is mandatory for this operation
+
 # Warnings
 WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup.
 WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user.
@@ -267,6 +280,10 @@ WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security pur
 WarningAnEntryAlreadyExistForTransKey=An entry already exists for the translation key for this language
 WarningNumberOfRecipientIsRestrictedInMassAction=Warning, number of different recipient is limited to <b>%s</b> when using the mass actions on lists
 WarningDateOfLineMustBeInExpenseReportRange=Warning, the date of line is not in the range of the expense report
+WarningProjectDraft=Project is still in draft mode. Don't forget to validate it if you plan to use tasks.
 WarningProjectClosed=Project is closed. You must re-open it first.
 WarningSomeBankTransactionByChequeWereRemovedAfter=Some bank transaction were removed after that the receipt including them were generated. So nb of cheques and total of receipt may differ from number and total in list.
-WarningFailedToAddFileIntoDatabaseIndex=Warnin, failed to add file entry into ECM database index table
+WarningFailedToAddFileIntoDatabaseIndex=Warning, failed to add file entry into ECM database index table
+WarningTheHiddenOptionIsOn=Warning, the hidden option <b>%s</b> is on.
+WarningCreateSubAccounts=Warning, you can't create directly a sub account, you must create a third party or an user and assign them an accounting code to find them in this list
+WarningAvailableOnlyForHTTPSServers=Available only if using HTTPS secured connection.

+ 1 - 0
htdocs/langs/am_ET/exports.lang

@@ -133,3 +133,4 @@ KeysToUseForUpdates=Key (column) to use for <b>updating</b> existing data
 NbInsert=Number of inserted lines: %s
 NbUpdate=Number of updated lines: %s
 MultipleRecordFoundWithTheseFilters=Multiple records have been found with these filters: %s
+StocksWithBatch=Stocks and location (warehouse) of products with batch/serial number

+ 14 - 11
htdocs/langs/am_ET/mails.lang

@@ -92,6 +92,7 @@ MailingModuleDescEmailsFromUser=Emails input by user
 MailingModuleDescDolibarrUsers=Users with Emails
 MailingModuleDescThirdPartiesByCategories=Third parties (by categories)
 SendingFromWebInterfaceIsNotAllowed=Sending from web interface is not allowed.
+EmailCollectorFilterDesc=All filters must match to have an email being collected
 
 # Libelle des modules de liste de destinataires mailing
 LineInFile=Line %s in file
@@ -125,12 +126,13 @@ TagMailtoEmail=Recipient Email (including html "mailto:" link)
 NoEmailSentBadSenderOrRecipientEmail=No email sent. Bad sender or recipient email. Verify user profile.
 # Module Notifications
 Notifications=Notifications
-NoNotificationsWillBeSent=No email notifications are planned for this event and company
-ANotificationsWillBeSent=1 notification will be sent by email
-SomeNotificationsWillBeSent=%s notifications will be sent by email
-AddNewNotification=Activate a new email notification target/event
-ListOfActiveNotifications=List all active targets/events for email notification
-ListOfNotificationsDone=List all email notifications sent
+NotificationsAuto=Notifications Auto.
+NoNotificationsWillBeSent=No automatic email notifications are planned for this event type and company
+ANotificationsWillBeSent=1 automatic notification will be sent by email
+SomeNotificationsWillBeSent=%s automatic notifications will be sent by email
+AddNewNotification=Subscribe to a new automatic email notification (target/event)
+ListOfActiveNotifications=List all active subscriptions (targets/events) for automatic email notification
+ListOfNotificationsDone=List all automatic email notifications sent
 MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing.
 MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter <strong>'%s'</strong> to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature.
 MailSendSetupIs3=If you have any questions on how to setup your SMTP server, you can ask to %s.
@@ -140,7 +142,7 @@ UseFormatFileEmailToTarget=Imported file must have format <strong>email;name;fir
 UseFormatInputEmailToTarget=Enter a string with format <strong>email;name;firstname;other</strong>
 MailAdvTargetRecipients=Recipients (advanced selection)
 AdvTgtTitle=Fill input fields to preselect the third parties or contacts/addresses to target
-AdvTgtSearchTextHelp=Use %% as wildcards. For example to find all item like <b>jean, joe, jim</b>, you can input <b>j%%</b>, you can also use ; as separator for value, and use ! for except this value. For example  <b>jean;joe;jim%%;!jimo;!jima%</b> will target all jean, joe, start with jim but not jimo and not everything that starts with jima
+AdvTgtSearchTextHelp=Use %% as wildcards. For example to find all item like <b>jean, joe, jim</b>, you can input <b>j%%</b>, you can also use ; as separator for value, and use ! for except this value. For example  <b>jean;joe;jim%%;!jimo;!jima%%</b> will target all jean, joe, start with jim but not jimo and not everything that starts with jima
 AdvTgtSearchIntHelp=Use interval to select int or float value
 AdvTgtMinVal=Minimum value
 AdvTgtMaxVal=Maximum value
@@ -162,13 +164,14 @@ AdvTgtCreateFilter=Create filter
 AdvTgtOrCreateNewFilter=Name of new filter
 NoContactWithCategoryFound=No contact/address with a category found
 NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found
-OutGoingEmailSetup=Outgoing email setup
-InGoingEmailSetup=Incoming email setup
-OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s)
-DefaultOutgoingEmailSetup=Default outgoing email setup
+OutGoingEmailSetup=Outgoing emails
+InGoingEmailSetup=Incoming emails
+OutGoingEmailSetupForEmailing=Outgoing emails (for module %s)
+DefaultOutgoingEmailSetup=Same configuration than the global Outgoing email setup
 Information=Information
 ContactsWithThirdpartyFilter=Contacts with third-party filter
 Unanswered=Unanswered
 Answered=Answered
 IsNotAnAnswer=Is not answer (initial email)
 IsAnAnswer=Is an answer of an initial email
+RecordCreatedByEmailCollector=Record created by the Email Collector %s from email %s

+ 11 - 1
htdocs/langs/am_ET/main.lang

@@ -28,7 +28,9 @@ NoTemplateDefined=No template available for this email type
 AvailableVariables=Available substitution variables
 NoTranslation=No translation
 Translation=Translation
+CurrentTimeZone=TimeZone PHP (server)
 EmptySearchString=Enter non empty search criterias
+EnterADateCriteria=Enter a date criteria
 NoRecordFound=No record found
 NoRecordDeleted=No record deleted
 NotEnoughDataYet=Not enough data
@@ -85,6 +87,8 @@ FileWasNotUploaded=A file is selected for attachment but was not yet uploaded. C
 NbOfEntries=No. of entries
 GoToWikiHelpPage=Read online help (Internet access needed)
 GoToHelpPage=Read help
+DedicatedPageAvailable=There is a dedicated help page related to your current screen
+HomePage=Home Page
 RecordSaved=Record saved
 RecordDeleted=Record deleted
 RecordGenerated=Record generated
@@ -433,6 +437,7 @@ RemainToPay=Remain to pay
 Module=Module/Application
 Modules=Modules/Applications
 Option=Option
+Filters=Filters
 List=List
 FullList=Full list
 FullConversation=Full conversation
@@ -671,7 +676,7 @@ SendMail=Send email
 Email=Email
 NoEMail=No email
 AlreadyRead=Already read
-NotRead=Not read
+NotRead=Unread
 NoMobilePhone=No mobile phone
 Owner=Owner
 FollowingConstantsWillBeSubstituted=The following constants will be replaced with the corresponding value.
@@ -1107,3 +1112,8 @@ UpToDate=Up-to-date
 OutOfDate=Out-of-date
 EventReminder=Event Reminder
 UpdateForAllLines=Update for all lines
+OnHold=On hold
+AffectTag=Affect Tag
+ConfirmAffectTag=Bulk Tag Affect
+ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)?
+CategTypeNotFound=No tag type found for type of records

+ 4 - 3
htdocs/langs/am_ET/modulebuilder.lang

@@ -40,6 +40,7 @@ PageForCreateEditView=PHP page to create/edit/view a record
 PageForAgendaTab=PHP page for event tab
 PageForDocumentTab=PHP page for document tab
 PageForNoteTab=PHP page for note tab
+PageForContactTab=PHP page for contact tab
 PathToModulePackage=Path to zip of module/application package
 PathToModuleDocumentation=Path to file of module/application documentation (%s)
 SpaceOrSpecialCharAreNotAllowed=Spaces or special characters are not allowed.
@@ -77,7 +78,7 @@ IsAMeasure=Is a measure
 DirScanned=Directory scanned
 NoTrigger=No trigger
 NoWidget=No widget
-GoToApiExplorer=Go to API explorer
+GoToApiExplorer=API explorer
 ListOfMenusEntries=List of menu entries
 ListOfDictionariesEntries=List of dictionaries entries
 ListOfPermissionsDefined=List of defined permissions
@@ -105,7 +106,7 @@ TryToUseTheModuleBuilder=If you have knowledge of SQL and PHP, you may use the n
 SeeTopRightMenu=See <span class="fa fa-bug"></span> on the top right menu
 AddLanguageFile=Add language file
 YouCanUseTranslationKey=You can use here a key that is the translation key found into language file (see tab "Languages")
-DropTableIfEmpty=(Delete table if empty)
+DropTableIfEmpty=(Destroy table if empty)
 TableDoesNotExists=The table %s does not exists
 TableDropped=Table %s deleted
 InitStructureFromExistingTable=Build the structure array string of an existing table
@@ -126,7 +127,6 @@ UseSpecificEditorURL = Use a specific editor URL
 UseSpecificFamily = Use a specific family
 UseSpecificAuthor = Use a specific author
 UseSpecificVersion = Use a specific initial version
-ModuleMustBeEnabled=The module/application must be enabled first
 IncludeRefGeneration=The reference of object must be generated automatically
 IncludeRefGenerationHelp=Check this if you want to include code to manage the generation automatically of the reference
 IncludeDocGeneration=I want to generate some documents from the object
@@ -140,3 +140,4 @@ TypeOfFieldsHelp=Type of fields:<br>varchar(99), double(24,8), real, text, html,
 AsciiToHtmlConverter=Ascii to HTML converter
 AsciiToPdfConverter=Ascii to PDF converter
 TableNotEmptyDropCanceled=Table not empty. Drop has been canceled.
+ModuleBuilderNotAllowed=The module builder is available but not allowed to your user.

+ 5 - 3
htdocs/langs/am_ET/other.lang

@@ -5,8 +5,6 @@ Tools=Tools
 TMenuTools=Tools
 ToolsDesc=All tools not included in other menu entries are grouped here.<br>All the tools can be accessed via the left menu.
 Birthday=Birthday
-BirthdayDate=Birthday date
-DateToBirth=Birth date
 BirthdayAlertOn=birthday alert active
 BirthdayAlertOff=birthday alert inactive
 TransKey=Translation of the key TransKey
@@ -16,6 +14,8 @@ PreviousMonthOfInvoice=Previous month (number 1-12) of invoice date
 TextPreviousMonthOfInvoice=Previous month (text) of invoice date
 NextMonthOfInvoice=Following month (number 1-12) of invoice date
 TextNextMonthOfInvoice=Following month (text) of invoice date
+PreviousMonth=Previous month
+CurrentMonth=Current month
 ZipFileGeneratedInto=Zip file generated into <b>%s</b>.
 DocFileGeneratedInto=Doc file generated into <b>%s</b>.
 JumpToLogin=Disconnected. Go to login page...
@@ -99,6 +99,7 @@ PredefinedMailContentSendShipping=__(Hello)__\n\nPlease find shipping __REF__ at
 PredefinedMailContentSendFichInter=__(Hello)__\n\nPlease find intervention __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__
 PredefinedMailContentLink=You can click on the link below to make your payment if it is not already done.\n\n%s\n\n
 PredefinedMailContentGeneric=__(Hello)__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__
+PredefinedMailContentSendActionComm=Event reminder "__EVENT_LABEL__" on __EVENT_DATE__ at __EVENT_TIME__<br><br>This is an automatic message, please do not reply.
 DemoDesc=Dolibarr is a compact ERP/CRM supporting several business modules. A demo showcasing all modules makes no sense as this scenario never occurs (several hundred available). So, several demo profiles are available.
 ChooseYourDemoProfil=Choose the demo profile that best suits your needs...
 ChooseYourDemoProfilMore=...or build your own profile<br>(manual module selection)
@@ -137,7 +138,7 @@ Right=Right
 CalculatedWeight=Calculated weight
 CalculatedVolume=Calculated volume
 Weight=Weight
-WeightUnitton=tonne
+WeightUnitton=ton
 WeightUnitkg=kg
 WeightUnitg=g
 WeightUnitmg=mg
@@ -258,6 +259,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e
 ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s
 TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s
 OpeningHoursFormatDesc=Use a - to separate opening and closing hours.<br>Use a space to enter different ranges.<br>Example: 8-12 14-18
+PrefixSession=Prefix for session ID
 
 ##### Export #####
 ExportsArea=Exports area

+ 5 - 2
htdocs/langs/am_ET/products.lang

@@ -109,6 +109,7 @@ MultiPricesAbility=Multiple price segments per product/service (each customer is
 MultiPricesNumPrices=Number of prices
 DefaultPriceType=Base of prices per default (with versus without tax) when adding new sale prices
 AssociatedProductsAbility=Enable Kits (set of other products)
+VariantsAbility=Enable Variants (variations of products, for example color, size)
 AssociatedProducts=Kits
 AssociatedProductsNumber=Number of products composing this kit
 ParentProductsNumber=Number of parent packaging product
@@ -167,8 +168,10 @@ BuyingPrices=Buying prices
 CustomerPrices=Customer prices
 SuppliersPrices=Vendor prices
 SuppliersPricesOfProductsOrServices=Vendor prices (of products or services)
-CustomCode=Customs / Commodity / HS code
+CustomCode=Customs|Commodity|HS code
 CountryOrigin=Origin country
+RegionStateOrigin=Region origin
+StateOrigin=State|Province origin
 Nature=Nature of product (material/finished)
 NatureOfProductShort=Nature of product
 NatureOfProductDesc=Raw material or finished product
@@ -239,7 +242,7 @@ AlwaysUseFixedPrice=Use the fixed price
 PriceByQuantity=Different prices by quantity
 DisablePriceByQty=Disable prices by quantity
 PriceByQuantityRange=Quantity range
-MultipriceRules=Price segment rules
+MultipriceRules=Automatic prices for segment
 UseMultipriceRules=Use price segment rules (defined into product module setup) to auto calculate prices of all other segments according to first segment
 PercentVariationOver=%% variation over %s
 PercentDiscountOver=%% discount over %s

+ 1 - 0
htdocs/langs/am_ET/recruitment.lang

@@ -73,3 +73,4 @@ JobClosedTextCandidateFound=The job position is closed. The position has been fi
 JobClosedTextCanceled=The job position is closed.
 ExtrafieldsJobPosition=Complementary attributes (job positions)
 ExtrafieldsCandidatures=Complementary attributes (job applications)
+MakeOffer=Make an offer

+ 2 - 0
htdocs/langs/am_ET/sendings.lang

@@ -30,6 +30,7 @@ OtherSendingsForSameOrder=Other shipments for this order
 SendingsAndReceivingForSameOrder=Shipments and receipts for this order
 SendingsToValidate=Shipments to validate
 StatusSendingCanceled=Canceled
+StatusSendingCanceledShort=Canceled
 StatusSendingDraft=Draft
 StatusSendingValidated=Validated (products to ship or already shipped)
 StatusSendingProcessed=Processed
@@ -65,6 +66,7 @@ ValidateOrderFirstBeforeShipment=You must first validate the order before being
 # Sending methods
 # ModelDocument
 DocumentModelTyphon=More complete document model for delivery receipts (logo...)
+DocumentModelStorm=More complete document model for delivery receipts and extrafields compatibility (logo...)
 Error_EXPEDITION_ADDON_NUMBER_NotDefined=Constant EXPEDITION_ADDON_NUMBER not defined
 SumOfProductVolumes=Sum of product volumes
 SumOfProductWeights=Sum of product weights

+ 1 - 0
htdocs/langs/am_ET/stocks.lang

@@ -240,3 +240,4 @@ InventoryRealQtyHelp=Set value to 0 to reset qty<br>Keep field empty, or remove
 UpdateByScaning=Update by scaning
 UpdateByScaningProductBarcode=Update by scan (product barcode)
 UpdateByScaningLot=Update by scan (lot|serial barcode)
+DisableStockChangeOfSubProduct=Deactivate the stock change for all the subproducts of this Kit during this movement.

+ 3 - 6
htdocs/langs/am_ET/ticket.lang

@@ -31,10 +31,8 @@ TicketDictType=Ticket - Types
 TicketDictCategory=Ticket - Groupes
 TicketDictSeverity=Ticket - Severities
 TicketDictResolution=Ticket - Resolution
-TicketTypeShortBUGSOFT=Dysfonctionnement logiciel
-TicketTypeShortBUGHARD=Dysfonctionnement matériel
-TicketTypeShortCOM=Commercial question
 
+TicketTypeShortCOM=Commercial question
 TicketTypeShortHELP=Request for functionnal help
 TicketTypeShortISSUE=Issue, bug or problem
 TicketTypeShortREQUEST=Change or enhancement request
@@ -44,7 +42,7 @@ TicketTypeShortOTHER=Other
 TicketSeverityShortLOW=Low
 TicketSeverityShortNORMAL=Normal
 TicketSeverityShortHIGH=High
-TicketSeverityShortBLOCKING=Critical/Blocking
+TicketSeverityShortBLOCKING=Critical, Blocking
 
 ErrorBadEmailAddress=Field '%s' incorrect
 MenuTicketMyAssign=My tickets
@@ -60,7 +58,6 @@ OriginEmail=Email source
 Notify_TICKET_SENTBYMAIL=Send ticket message by email
 
 # Status
-NotRead=Not read
 Read=Read
 Assigned=Assigned
 InProgress=In progress
@@ -126,6 +123,7 @@ TicketsActivatePublicInterfaceHelp=Public interface allow any visitors to create
 TicketsAutoAssignTicket=Automatically assign the user who created the ticket
 TicketsAutoAssignTicketHelp=When creating a ticket, the user can be automatically assigned to the ticket.
 TicketNumberingModules=Tickets numbering module
+TicketsModelModule=Document templates for tickets
 TicketNotifyTiersAtCreation=Notify third party at creation
 TicketsDisableCustomerEmail=Always disable emails when a ticket is created from public interface
 TicketsPublicNotificationNewMessage=Send email(s) when a new message is added
@@ -233,7 +231,6 @@ TicketLogStatusChanged=Status changed: %s to %s
 TicketNotNotifyTiersAtCreate=Not notify company at create
 Unread=Unread
 TicketNotCreatedFromPublicInterface=Not available. Ticket was not created from public interface.
-PublicInterfaceNotEnabled=Public interface was not enabled
 ErrorTicketRefRequired=Ticket reference name is required
 
 #

+ 2 - 2
htdocs/langs/am_ET/website.lang

@@ -30,7 +30,6 @@ EditInLine=Edit inline
 AddWebsite=Add website
 Webpage=Web page/container
 AddPage=Add page/container
-HomePage=Home Page
 PageContainer=Page
 PreviewOfSiteNotYetAvailable=Preview of your website <strong>%s</strong> not yet available. You must first '<strong>Import a full website template</strong>' or just '<strong>Add a page/container</strong>'.
 RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this.
@@ -101,7 +100,7 @@ EmptyPage=Empty page
 ExternalURLMustStartWithHttp=External URL must start with http:// or https://
 ZipOfWebsitePackageToImport=Upload the Zip file of the website template package
 ZipOfWebsitePackageToLoad=or Choose an available embedded website template package
-ShowSubcontainers=Include dynamic content
+ShowSubcontainers=Show dynamic content
 InternalURLOfPage=Internal URL of page
 ThisPageIsTranslationOf=This page/container is a translation of
 ThisPageHasTranslationPages=This page/container has translation
@@ -137,3 +136,4 @@ RSSFeedDesc=You can get a RSS feed of latest articles with type 'blogpost' using
 PagesRegenerated=%s page(s)/container(s) regenerated
 RegenerateWebsiteContent=Regenerate web site cache files
 AllowedInFrames=Allowed in Frames
+DefineListOfAltLanguagesInWebsiteProperties=Define list of all available languages into web site properties.

+ 4 - 1
htdocs/langs/am_ET/withdrawals.lang

@@ -42,6 +42,7 @@ LastWithdrawalReceipt=Latest %s direct debit receipts
 MakeWithdrawRequest=Make a direct debit payment request
 MakeBankTransferOrder=Make a credit transfer request
 WithdrawRequestsDone=%s direct debit payment requests recorded
+BankTransferRequestsDone=%s credit transfer requests recorded
 ThirdPartyBankCode=Third-party bank code
 NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode <strong>%s</strong>.
 ClassCredited=Classify credited
@@ -131,7 +132,8 @@ SEPARCUR=SEPA CUR
 SEPAFRST=SEPA FRST
 ExecutionDate=Execution date
 CreateForSepa=Create direct debit file
-ICS=Creditor Identifier CI
+ICS=Creditor Identifier CI for direct debit
+ICSTransfer=Creditor Identifier CI for bank transfer
 END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction
 USTRD="Unstructured" SEPA XML tag
 ADDDAYS=Add days to Execution Date
@@ -146,3 +148,4 @@ InfoRejectSubject=Direct debit payment order refused
 InfoRejectMessage=Hello,<br><br>the direct debit payment order of invoice %s related to the company %s, with an amount of %s has been refused by the bank.<br><br>--<br>%s
 ModeWarning=Option for real mode was not set, we stop after this simulation
 ErrorCompanyHasDuplicateDefaultBAN=Company with id %s has more than one default bank account. No way to know wich one to use.
+ErrorICSmissing=Missing ICS in Bank account %s

+ 12 - 5
htdocs/langs/ar_SA/accountancy.lang

@@ -48,6 +48,7 @@ CountriesExceptMe=All countries except %s
 AccountantFiles=Export source documents
 ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s.
 VueByAccountAccounting=View by accounting account
+VueBySubAccountAccounting=View by accounting subaccount
 
 MainAccountForCustomersNotDefined=Main accounting account for customers not defined in setup
 MainAccountForSuppliersNotDefined=Main accounting account for vendors not defined in setup
@@ -144,7 +145,7 @@ NotVentilatedinAccount=Not bound to the accounting account
 XLineSuccessfullyBinded=%s products/services successfully bound to an accounting account
 XLineFailedToBeBinded=%s products/services were not bound to any accounting account
 
-ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to bind shown by page (maximum recommended: 50)
+ACCOUNTING_LIMIT_LIST_VENTILATION=Maximum number of lines on list and bind page (recommended: 50)
 ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the page "Binding to do" by the most recent elements
 ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the page "Binding done" by the most recent elements
 
@@ -198,7 +199,8 @@ Docdate=التاريخ
 Docref=مرجع
 LabelAccount=حساب التسمية
 LabelOperation=Label operation
-Sens=السيناتور
+Sens=Direction
+AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you received<br>For an accounting account of a supplier, use Debit to record a payment you make
 LetteringCode=Lettering code
 Lettering=Lettering
 Codejournal=دفتر اليومية
@@ -206,7 +208,8 @@ JournalLabel=Journal label
 NumPiece=Piece number
 TransactionNumShort=Num. transaction
 AccountingCategory=Personalized groups
-GroupByAccountAccounting=Group by accounting account
+GroupByAccountAccounting=Group by general ledger account
+GroupBySubAccountAccounting=Group by subledger account
 AccountingAccountGroupsDesc=You can define here some groups of accounting account. They will be used for personalized accounting reports.
 ByAccounts=By accounts
 ByPredefinedAccountGroups=By predefined groups
@@ -248,7 +251,7 @@ PaymentsNotLinkedToProduct=Payment not linked to any product / service
 OpeningBalance=Opening balance
 ShowOpeningBalance=Show opening balance
 HideOpeningBalance=Hide opening balance
-ShowSubtotalByGroup=Show subtotal by group
+ShowSubtotalByGroup=Show subtotal by level
 
 Pcgtype=Group of account
 PcgtypeDesc=Group of account are used as predefined 'filter' and 'grouping' criteria for some accounting reports. For example, 'INCOME' or 'EXPENSE' are used as groups for accounting accounts of products to build the expense/income report.
@@ -271,11 +274,13 @@ DescVentilExpenseReport=Consult here the list of expense report lines bound (or
 DescVentilExpenseReportMore=If you setup accounting account on type of expense report lines, the application will be able to make all the binding between your expense report lines and the accounting account of your chart of accounts, just in one click with the button <strong>"%s"</strong>. If account was not set on fees dictionary or if you still has some lines not bound to any account, you will have to make a manual binding from the menu "<strong>%s</strong>".
 DescVentilDoneExpenseReport=Consult here the list of the lines of expenses reports and their fees accounting account
 
+Closure=Annual closure
 DescClosure=Consult here the number of movements by month who are not validated & fiscal years already open
 OverviewOfMovementsNotValidated=Step 1/ Overview of movements not validated. (Necessary to close a fiscal year)
+AllMovementsWereRecordedAsValidated=All movements were recorded as validated
+NotAllMovementsCouldBeRecordedAsValidated=Not all movements could be recorded as validated
 ValidateMovements=Validate movements
 DescValidateMovements=Any modification or deletion of writing, lettering and deletes will be prohibited. All entries for an exercise must be validated otherwise closing will not be possible
-SelectMonthAndValidate=Select month and validate movements
 
 ValidateHistory=Bind Automatically
 AutomaticBindingDone=Automatic binding done
@@ -293,6 +298,7 @@ Accounted=Accounted in ledger
 NotYetAccounted=Not yet accounted in ledger
 ShowTutorial=Show Tutorial
 NotReconciled=لم يتم تسويتة
+WarningRecordWithoutSubledgerAreExcluded=Warning, all operations without subledger account defined are filtered and excluded from this view
 
 ## Admin
 BindingOptions=Binding options
@@ -337,6 +343,7 @@ Modelcsv_LDCompta10=Export for LD Compta (v10 & higher)
 Modelcsv_openconcerto=Export for OpenConcerto (Test)
 Modelcsv_configurable=Export Configurable
 Modelcsv_FEC=Export FEC
+Modelcsv_FEC2=Export FEC (With dates generation writing / document reversed)
 Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland
 Modelcsv_winfic=Export Winfic - eWinfic - WinSis Compta
 Modelcsv_Gestinumv3=Export for Gestinum (v3)

+ 16 - 9
htdocs/langs/ar_SA/admin.lang

@@ -56,6 +56,8 @@ GUISetup=العرض
 SetupArea=التثبيت
 UploadNewTemplate=Upload new template(s)
 FormToTestFileUploadForm=نموذج لاختبار تحميل ملف (وفقا لبرنامج الإعداد)
+ModuleMustBeEnabled=The module/application <b>%s</b> must be enabled
+ModuleIsEnabled=The module/application <b>%s</b> has been enabled
 IfModuleEnabled=ملاحظة : نعم فعالة فقط في حال كان النموذج <b>%s</b> مفعل
 RemoveLock=Remove/rename file <b>%s</b> if it exists, to allow usage of the Update/Install tool.
 RestoreLock=Restore file <b>%s</b>, with read permission only, to disable any further use of the Update/Install tool.
@@ -85,7 +87,6 @@ ShowPreview=آظهر المعاينة
 ShowHideDetails=Show-Hide details
 PreviewNotAvailable=المعاينة غير متاحة
 ThemeCurrentlyActive=الثيم النشط حالياً
-CurrentTimeZone=حسب توقيت خادم البي إتش بي
 MySQLTimeZone=والوقت مسقل (قاعدة بيانات)
 TZHasNoEffect=Dates are stored and returned by database server as if they were kept as submitted string. The timezone has effect only when using the UNIX_TIMESTAMP function (that should not be used by Dolibarr, so database TZ should have no effect, even if changed after data was entered).
 Space=فراغ
@@ -153,8 +154,8 @@ SystemToolsAreaDesc=This area provides administration functions. Use the menu to
 Purge=أحذف
 PurgeAreaDesc=This page allows you to delete all files generated or stored by Dolibarr (temporary files or all files in <b>%s</b> directory). Using this feature is not normally necessary. It is provided as a workaround for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files generated by the web server.
 PurgeDeleteLogFile=Delete log files, including <b>%s</b> defined for Syslog module (no risk of losing data)
-PurgeDeleteTemporaryFiles=Delete all temporary files (no risk of losing data). Note: Deletion is done only if the temp directory was created 24 hours ago.
-PurgeDeleteTemporaryFilesShort=Delete temporary files
+PurgeDeleteTemporaryFiles=Delete all log and temporary files (no risk of losing data). Note: Deletion of temporary files is done only if the temp directory was created more than 24 hours ago.
+PurgeDeleteTemporaryFilesShort=Delete log and temporary files
 PurgeDeleteAllFilesInDocumentsDir=Delete all files in directory: <b>%s</b>.<br>This will delete all generated documents related to elements (third parties, invoices etc...), files uploaded into the ECM module, database backup dumps and temporary files.
 PurgeRunNow=إحذف الآن
 PurgeNothingToDelete=No directory or files to delete.
@@ -256,6 +257,7 @@ ReferencedPreferredPartners=الشركاء المفضلين
 OtherResources=Other resources
 ExternalResources=External Resources
 SocialNetworks=Social Networks
+SocialNetworkId=Social Network ID
 ForDocumentationSeeWiki=للمستخدم أو وثائق المطور (الوثيقة، أسئلة وأجوبة ...)، <br> نلقي نظرة على Dolibarr يكي: <br> <b><a href="%s" target="_blank">%s</a></b>
 ForAnswersSeeForum=عن أي أسئلة أخرى / مساعدة، يمكنك استخدام المنتدى Dolibarr: <br> <b><a href="%s" target="_blank">%s</a></b>
 HelpCenterDesc1=Here are some resources for getting help and support with Dolibarr.
@@ -375,7 +377,7 @@ ExamplesWithCurrentSetup=Examples with current configuration
 ListOfDirectories=قائمة الدلائل المفتوحة قوالب
 ListOfDirectoriesForModelGenODT=قائمة الدلائل التي تحتوي على قوالب ملفات مع شكل المفتوحة. <br><br> ضع هنا المسار الكامل من الدلائل. <br> إضافة إرجاع بين الدليل ايه. <br> لإضافة دليل وحدة GED، أضيف هنا <b>DOL_DATA_ROOT / ECM / yourdirectoryname.</b> <br><br> الملفات في هذه الدلائل يجب أن ينتهي <b>.odt</b> أو <b>.ods.</b>
 NumberOfModelFilesFound=Number of ODT/ODS template files found in these directories
-ExampleOfDirectoriesForModelGen=أمثلة على بناء الجملة : <br> ج : mydir \\ <br> / الوطن / mydir <br> DOL_DATA_ROOT / إدارة المحتوى في المؤسسة / ecmdir
+ExampleOfDirectoriesForModelGen=Examples of syntax:<br>c:\\myapp\\mydocumentdir\\mysubdir<br>/home/myapp/mydocumentdir/mysubdir<br>DOL_DATA_ROOT/ecm/ecmdir
 FollowingSubstitutionKeysCanBeUsed=<br> لمعرفة كيفية إنشاء قوالب المستند ODT، قبل تخزينها في تلك الدلائل، وقراءة وثائق ويكي:
 FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template
 FirstnameNamePosition=موقف الإسم / اسم
@@ -406,7 +408,7 @@ UrlGenerationParameters=المعلمات لتأمين عناوين المواق
 SecurityTokenIsUnique=استخدام معلمة securekey فريدة لكل URL
 EnterRefToBuildUrl=أدخل مرجع لكائن %s
 GetSecuredUrl=الحصول على عنوان محسوب
-ButtonHideUnauthorized=Hide buttons for non-admin users for unauthorized actions instead of showing greyed disabled buttons
+ButtonHideUnauthorized=Hide unauthorized action buttons also for internal users (just greyed otherwise)
 OldVATRates=معدل ضريبة القيمة المضافة القديم
 NewVATRates=معدل ضريبة القيمة المضافة الجديد
 PriceBaseTypeToChange=تعديل على الأسعار مع القيمة المرجعية قاعدة المعرفة على
@@ -1689,7 +1691,7 @@ NotTopTreeMenuPersonalized=Personalized menus not linked to a top menu entry
 NewMenu=قائمة جديدة
 MenuHandler=قائمة مناول
 MenuModule=مصدر في وحدة
-HideUnauthorizedMenu= إخفاء القوائم غير المصرح به (الرمادي)
+HideUnauthorizedMenu=Hide unauthorized menus also for internal users (just greyed otherwise)
 DetailId=معرف القائمة
 DetailMenuHandler=قائمة المعالج حيث تظهر قائمة جديدة
 DetailMenuModule=اسم وحدة قائمة في حال الدخول من وحدة
@@ -1983,11 +1985,12 @@ EMailHost=Host of email IMAP server
 MailboxSourceDirectory=Mailbox source directory
 MailboxTargetDirectory=Mailbox target directory
 EmailcollectorOperations=Operations to do by collector
+EmailcollectorOperationsDesc=Operations are executed from top to bottom order
 MaxEmailCollectPerCollect=Max number of emails collected per collect
 CollectNow=Collect now
 ConfirmCloneEmailCollector=Are you sure you want to clone the Email collector %s ?
-DateLastCollectResult=Date latest collect tried
-DateLastcollectResultOk=Date latest collect successfull
+DateLastCollectResult=Date of latest collect try
+DateLastcollectResultOk=Date of latest collect success
 LastResult=Latest result
 EmailCollectorConfirmCollectTitle=Email collect confirmation
 EmailCollectorConfirmCollect=Do you want to run the collection for this collector now ?
@@ -2005,7 +2008,7 @@ WithDolTrackingID=Message from a conversation initiated by a first email sent fr
 WithoutDolTrackingID=Message from a conversation initiated by a first email NOT sent from Dolibarr
 WithDolTrackingIDInMsgId=Message sent from Dolibarr
 WithoutDolTrackingIDInMsgId=Message NOT sent from Dolibarr
-CreateCandidature=Create candidature
+CreateCandidature=Create job application
 FormatZip=الرمز البريدي
 MainMenuCode=Menu entry code (mainmenu)
 ECMAutoTree=Show automatic ECM tree
@@ -2083,3 +2086,7 @@ CountryIfSpecificToOneCountry=Country (if specific to a given country)
 YouMayFindSecurityAdviceHere=You may find security advisory here
 ModuleActivatedMayExposeInformation=This module may expose sensitive data. If you don't need it, disable it.
 ModuleActivatedDoNotUseInProduction=A module designed for the development has been enabled. Do not enable it on a production environment.
+CombinationsSeparator=Separator character for product combinations
+SeeLinkToOnlineDocumentation=See link to online documention on top menu for examples
+SHOW_SUBPRODUCT_REF_IN_PDF=If the feature "%s" of module <b>%s</b> is used, show details of subproducts of a kit on PDF.
+AskThisIDToYourBank=Contact your bank to get this ID

+ 2 - 2
htdocs/langs/ar_SA/banks.lang

@@ -173,8 +173,8 @@ SEPAMandate=SEPA mandate
 YourSEPAMandate=تفويض سيبا الخاص بك
 FindYourSEPAMandate=This is your SEPA mandate to authorize our company to make direct debit order to your bank. Return it signed (scan of the signed document) or send it by mail to
 AutoReportLastAccountStatement=Automatically fill the field 'number of bank statement' with last statement number when making reconciliation
-CashControl=POS cash fence
-NewCashFence=New cash fence
+CashControl=POS cash desk control
+NewCashFence=New cash desk closing
 BankColorizeMovement=Colorize movements
 BankColorizeMovementDesc=If this function is enable, you can choose specific background color for debit or credit movements
 BankColorizeMovementName1=Background color for debit movement

+ 1 - 1
htdocs/langs/ar_SA/blockedlog.lang

@@ -35,7 +35,7 @@ logDON_DELETE=Donation logical deletion
 logMEMBER_SUBSCRIPTION_CREATE=Member subscription created
 logMEMBER_SUBSCRIPTION_MODIFY=Member subscription modified
 logMEMBER_SUBSCRIPTION_DELETE=Member subscription logical deletion
-logCASHCONTROL_VALIDATE=Cash fence recording
+logCASHCONTROL_VALIDATE=Cash desk closing recording
 BlockedLogBillDownload=Customer invoice download
 BlockedLogBillPreview=Customer invoice preview
 BlockedlogInfoDialog=Log Details

+ 5 - 0
htdocs/langs/ar_SA/boxes.lang

@@ -46,9 +46,12 @@ BoxTitleLastModifiedDonations=Latest %s modified donations
 BoxTitleLastModifiedExpenses=Latest %s modified expense reports
 BoxTitleLatestModifiedBoms=Latest %s modified BOMs
 BoxTitleLatestModifiedMos=Latest %s modified Manufacturing Orders
+BoxTitleLastOutstandingBillReached=Customers with maximum outstanding exceeded
 BoxGlobalActivity=النشاط العالمي (الفواتير والمقترحات والطلبات)
 BoxGoodCustomers=Good customers
 BoxTitleGoodCustomers=%s Good customers
+BoxScheduledJobs=المهام المجدولة
+BoxTitleFunnelOfProspection=Lead funnel
 FailedToRefreshDataInfoNotUpToDate=Failed to refresh RSS flux. Latest successful refresh date: %s
 LastRefreshDate=Latest refresh date
 NoRecordedBookmarks=أية إشارات محددة.
@@ -102,5 +105,7 @@ SuspenseAccountNotDefined=Suspense account isn't defined
 BoxLastCustomerShipments=Last customer shipments
 BoxTitleLastCustomerShipments=Latest %s customer shipments
 NoRecordedShipments=No recorded customer shipment
+BoxCustomersOutstandingBillReached=Customers with oustanding limit reached
 # Pages
 AccountancyHome=المحاسبة
+ValidatedProjects=Validated projects

+ 6 - 4
htdocs/langs/ar_SA/cashdesk.lang

@@ -49,8 +49,8 @@ Footer=Footer
 AmountAtEndOfPeriod=Amount at end of period (day, month or year)
 TheoricalAmount=Theorical amount
 RealAmount=Real amount
-CashFence=Cash fence
-CashFenceDone=Cash fence done for the period
+CashFence=Cash desk closing
+CashFenceDone=Cash desk closing done for the period
 NbOfInvoices=ملاحظة : من الفواتير
 Paymentnumpad=Type of Pad to enter payment
 Numberspad=Numbers Pad
@@ -99,8 +99,9 @@ CashDeskRefNumberingModules=Numbering module for POS sales
 CashDeskGenericMaskCodes6 = <br><b>{TN}</b> tag is used to add the terminal number
 TakeposGroupSameProduct=Group same products lines
 StartAParallelSale=Start a new parallel sale
-ControlCashOpening=Control cash box at opening POS
-CloseCashFence=Close cash fence
+SaleStartedAt=Sale started at %s
+ControlCashOpening=Control cash popup at opening POS
+CloseCashFence=Close cash desk control
 CashReport=Cash report
 MainPrinterToUse=Main printer to use
 OrderPrinterToUse=Order printer to use
@@ -122,3 +123,4 @@ GiftReceipt=Gift receipt
 ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled first
 AllowDelayedPayment=Allow delayed payment
 PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts
+WeighingScale=Weighing scale

+ 12 - 5
htdocs/langs/ar_SA/categories.lang

@@ -19,6 +19,7 @@ ProjectsCategoriesArea=منطقة علامات / فئات المشاريع
 UsersCategoriesArea=Users tags/categories area
 SubCats=Sub-categories
 CatList=قائمة العلامات / الفئات
+CatListAll=List of tags/categories (all types)
 NewCategory=علامة / فئة جديدة
 ModifCat=تعديل العلامة / الفئة
 CatCreated=تم إنشاء العلامة / الفئة
@@ -65,16 +66,22 @@ UsersCategoriesShort=Users tags/categories
 StockCategoriesShort=Warehouse tags/categories
 ThisCategoryHasNoItems=This category does not contain any items.
 CategId=معرف العلامة / الفئة 
-CatSupList=List of vendor tags/categories
-CatCusList=قائمة  علامات / فئات العملاء / احتمال
+ParentCategory=Parent tag/category
+ParentCategoryLabel=Label of parent tag/category
+CatSupList=List of vendors tags/categories
+CatCusList=List of customers/prospects tags/categories
 CatProdList=قائمة علامات / فئات المنتجات 
 CatMemberList=قائمة علامات / فئات الأعضاء 
-CatContactList=قائمة  اتصال العلامات / الفئات 
-CatSupLinks=الروابط بين الموردين والعلامات / الفئات
+CatContactList=List of contacts tags/categories
+CatProjectsList=List of projects tags/categories
+CatUsersList=List of users tags/categories
+CatSupLinks=Links between vendors and tags/categories
 CatCusLinks=الروابط بين العملاء / احتمال والعلامات / فئات
 CatContactsLinks=Links between contacts/addresses and tags/categories
 CatProdLinks=الروابط بين المنتجات / الخدمات والعلامات / الفئات
-CatProJectLinks=الروابط بين المشاريع والعلامات / الفئات
+CatMembersLinks=الروابط بين أفراد والعلامات / فئات
+CatProjectsLinks=الروابط بين المشاريع والعلامات / الفئات
+CatUsersLinks=Links between users and tags/categories
 DeleteFromCat=إزالة من العلامة / الفئة
 ExtraFieldsCategories=سمات تكميلية
 CategoriesSetup=إعداد العلامات / الفئات 

+ 1 - 1
htdocs/langs/ar_SA/companies.lang

@@ -358,7 +358,7 @@ VATIntraCheckableOnEUSite=Check the intra-Community VAT ID on the European Commi
 VATIntraManualCheck=You can also check manually on the European Commission website <a href="%s" target="_blank">%s</a>
 ErrorVATCheckMS_UNAVAILABLE=وليس من الممكن التحقق. تأكد من خدمة لا تقدمها دولة عضو (في المائة).
 NorProspectNorCustomer=Not prospect, nor customer
-JuridicalStatus=Legal Entity Type
+JuridicalStatus=Business entity type
 Workforce=Workforce
 Staff=الموظفين
 ProspectLevelShort=المحتملة

+ 8 - 5
htdocs/langs/ar_SA/compta.lang

@@ -111,7 +111,7 @@ Refund=رد
 SocialContributionsPayments=الاجتماعية المدفوعات / الضرائب المالية
 ShowVatPayment=وتظهر دفع ضريبة القيمة المضافة
 TotalToPay=على دفع ما مجموعه
-BalanceVisibilityDependsOnSortAndFilters=Balance is visible in this list only if table is sorted ascending on %s and filtered for 1 bank account
+BalanceVisibilityDependsOnSortAndFilters=Balance is visible in this list only if table is sorted on %s and filtered on 1 bank account (with no other filters)
 CustomerAccountancyCode=Customer accounting code
 SupplierAccountancyCode=Vendor accounting code
 CustomerAccountancyCodeShort=الزبون. حساب. رمز
@@ -140,7 +140,7 @@ ConfirmDeleteSocialContribution=هل أنت متأكد أنك تريد حذف /
 ExportDataset_tax_1=الضرائب والمدفوعات الاجتماعية والمالية
 CalcModeVATDebt=<b>الوضع٪ SVAT بشأن المحاسبة الالتزام٪ الصورة.</b>
 CalcModeVATEngagement=وضع <b>SVAT٪ على مداخيل مصاريف٪ الصورة.</b>
-CalcModeDebt=Analysis of known recorded invoices even if they are not yet accounted in ledger.
+CalcModeDebt=Analysis of known recorded documents even if they are not yet accounted in ledger.
 CalcModeEngagement=Analysis of known recorded payments, even if they are not yet accounted in Ledger.
 CalcModeBookkeeping=Analysis of data journalized in Bookkeeping Ledger table.
 CalcModeLT1= <b>الوضع٪ زارة العلاقات الخارجية على فواتير العملاء - فواتير الموردين٪ الصورة</b>
@@ -154,9 +154,9 @@ AnnualSummaryInputOutputMode=ميزان الإيرادات والمصروفات
 AnnualByCompanies=Balance of income and expenses, by predefined groups of account
 AnnualByCompaniesDueDebtMode=Balance of income and expenses, detail by predefined groups, mode <b>%sClaims-Debts%s</b> said <b>Commitment accounting</b>.
 AnnualByCompaniesInputOutputMode=Balance of income and expenses, detail by predefined groups, mode <b>%sIncomes-Expenses%s</b> said <b>cash accounting</b>.
-SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on actual payments made even if they are not yet accounted in Ledger.
-SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger.
-SeeReportInBookkeepingMode=See <b>%sBookeeping report%s</b> for a calculation on <b>Bookkeeping Ledger table</b>
+SeeReportInInputOutputMode=See <b>%sanalysis of payments%s</b> for a calculation based on <b>recorded payments</b> made even if they are not yet accounted in Ledger
+SeeReportInDueDebtMode=See <b>%sanalysis of recorded documents%s</b> for a calculation based on known <b>recorded documents</b> even if they are not yet accounted in Ledger
+SeeReportInBookkeepingMode=See <b>%sanalysis of bookeeping ledger table%s</b> for a report based on <b>Bookkeeping Ledger table</b>
 RulesAmountWithTaxIncluded=- المبالغ المبينة لمع جميع الضرائب المدرجة
 RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.<br>- It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used.
 RulesResultInOut=- ويشمل المدفوعات الحقيقية المحرز في الفواتير والمصاريف والضريبة على القيمة المضافة والرواتب. <br> - لأنه يقوم على مواعيد دفع الفواتير والمصاريف والضريبة على القيمة المضافة والرواتب. تاريخ التبرع للتبرع.
@@ -169,12 +169,15 @@ RulesResultBookkeepingPersonalized=It show record in your Ledger with accounting
 SeePageForSetup=See menu <a href="%s">%s</a> for setup
 DepositsAreNotIncluded=- Down payment invoices are not included
 DepositsAreIncluded=- Down payment invoices are included
+LT1ReportByMonth=Tax 2 report by month
+LT2ReportByMonth=Tax 3 report by month
 LT1ReportByCustomers=Report tax 2 by third party
 LT2ReportByCustomers=Report tax 3 by third party
 LT1ReportByCustomersES=تقرير RE طرف ثالث
 LT2ReportByCustomersES=تقرير من قبل طرف ثالث IRPF
 VATReport=Sale tax report
 VATReportByPeriods=Sale tax report by period
+VATReportByMonth=Sale tax report by month
 VATReportByRates=Sale tax report by rates
 VATReportByThirdParties=Sale tax report by third parties
 VATReportByCustomers=Sale tax report by customer

+ 22 - 14
htdocs/langs/ar_SA/cron.lang

@@ -6,14 +6,15 @@ Permission23102 = إنشاء / تحديث المجدولة وظيفة
 Permission23103 = حذف مهمة مجدولة
 Permission23104 = تنفيذ مهمة مجدولة
 # Admin
-CronSetup= من المقرر إعداد إدارة العمل
-URLToLaunchCronJobs=URL to check and launch qualified cron jobs
-OrToLaunchASpecificJob=أو لفحص وإطلاق وظيفة محددة
+CronSetup=من المقرر إعداد إدارة العمل
+URLToLaunchCronJobs=URL to check and launch qualified cron jobs from a browser
+OrToLaunchASpecificJob=Or to check and launch a specific job from a browser
 KeyForCronAccess=مفتاح أمان للURL لإطلاق كرون الوظائف
 FileToLaunchCronJobs=Command line to check and launch qualified cron jobs
 CronExplainHowToRunUnix=على بيئة يونكس يجب عليك استخدام دخول كرونتاب التالي لتشغيل سطر الأوامر كل 5 دقائق
-CronExplainHowToRunWin=على مايكروسوفت (TM) ويندوز environement يمكنك استخدام أدوات مهمة مجدولة لتشغيل سطر الأوامر كل 5 دقائق
+CronExplainHowToRunWin=On Microsoft(tm) Windows environment you can use Scheduled Task tools to run the command line each 5 minutes
 CronMethodDoesNotExists=Class %s does not contains any method %s
+CronMethodNotAllowed=Method %s of class %s is in blacklist of forbidden methods
 CronJobDefDesc=Cron job profiles are defined into the module descriptor file. When module is activated, they are loaded and available so you can administer the jobs from the admin tools menu %s.
 CronJobProfiles=List of predefined cron job profiles
 # Menu
@@ -42,10 +43,11 @@ CronModule=وحدة
 CronNoJobs=أي وظيفة سجلت
 CronPriority=الأولوية
 CronLabel=ملصق
-CronNbRun=ملحوظة. إطلاق
-CronMaxRun=Max number launch
+CronNbRun=Number of launches
+CronMaxRun=Maximum number of launches
 CronEach=كل
 JobFinished=العمل بدأ وانتهى
+Scheduled=Scheduled
 #Page card
 CronAdd= إضافة وظائف
 CronEvery=العمل كل تنفيذ
@@ -56,16 +58,16 @@ CronNote=التعليق
 CronFieldMandatory=الحقول%s إلزامي
 CronErrEndDateStartDt=تاريخ نهاية لا يمكن أن يكون قبل تاريخ البدء
 StatusAtInstall=Status at module installation
-CronStatusActiveBtn=تمكين
+CronStatusActiveBtn=Schedule
 CronStatusInactiveBtn=يعطل
 CronTaskInactive=تم تعطيل هذه الوظائف
 CronId=هوية شخصية
 CronClassFile=Filename with class
-CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module). <BR> For exemple to call the fetch method of Dolibarr Product object /htdocs/<u>product</u>/class/product.class.php, the value for module is<br><i>product</i>
-CronClassFileHelp=The relative path and file name to load (path is relative to web server root directory). <BR> For exemple to call the fetch method of Dolibarr Product object htdocs/product/class/<u>product.class.php</u>, the value for class file name is<br><i>product/class/product.class.php</i>
-CronObjectHelp=The object name to load. <BR> For exemple to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for class file name is<br><i>Product</i>
-CronMethodHelp=The object method to launch. <BR> For exemple to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for method is<br><i>fetch</i>
-CronArgsHelp=The method arguments. <BR> For exemple to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for paramters can be<br><i>0, ProductRef</i>
+CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module). <BR> For example to call the fetch method of Dolibarr Product object /htdocs/<u>product</u>/class/product.class.php, the value for module is<br><i>product</i>
+CronClassFileHelp=The relative path and file name to load (path is relative to web server root directory). <BR> For example to call the fetch method of Dolibarr Product object htdocs/product/class/<u>product.class.php</u>, the value for class file name is<br><i>product/class/product.class.php</i>
+CronObjectHelp=The object name to load. <BR> For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for class file name is<br><i>Product</i>
+CronMethodHelp=The object method to launch. <BR> For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for method is<br><i>fetch</i>
+CronArgsHelp=The method arguments. <BR> For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for paramters can be<br><i>0, ProductRef</i>
 CronCommandHelp=سطر الأوامر لتنفيذ النظام.
 CronCreateJob=إنشاء مهمة مجدولة جديدة
 CronFrom=من عند
@@ -76,8 +78,14 @@ CronType_method=Call method of a PHP Class
 CronType_command=الأمر Shell
 CronCannotLoadClass=Cannot load class file %s (to use class %s)
 CronCannotLoadObject=Class file %s was loaded, but object %s was not found into it
-UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Admin tools - Scheduled jobs" to see and edit scheduled jobs.
+UseMenuModuleToolsToAddCronJobs=Go into menu "<a href="%s">Home - Admin tools - Scheduled jobs</a>" to see and edit scheduled jobs.
 JobDisabled=تعطيل وظيفة
 MakeLocalDatabaseDumpShort=Local database backup
-MakeLocalDatabaseDump=Create a local database dump. Parameters are: compression ('gz' or 'bz' or 'none'), backup type ('mysql' or 'pgsql'), 1, 'auto' or filename to build, number of backup files to keep
+MakeLocalDatabaseDump=Create a local database dump. Parameters are: compression ('gz' or 'bz' or 'none'), backup type ('mysql', 'pgsql', 'auto'), 1, 'auto' or filename to build, number of backup files to keep
 WarningCronDelayed=Attention, for performance purpose, whatever is next date of execution of enabled jobs, your jobs may be delayed to a maximum of %s hours, before being run.
+DATAPOLICYJob=Data cleaner and anonymizer
+JobXMustBeEnabled=Job %s must be enabled
+# Cron Boxes
+LastExecutedScheduledJob=Last executed scheduled job
+NextScheduledJobExecute=Next scheduled job to execute
+NumberScheduledJobError=Number of scheduled jobs in error

+ 20 - 3
htdocs/langs/ar_SA/errors.lang

@@ -5,8 +5,10 @@ NoErrorCommitIsDone=أي خطأ، ونحن نلزم
 # Errors
 ErrorButCommitIsDone=تم العثور على أخطاء لكننا تحقق على الرغم من هذا
 ErrorBadEMail=Email %s is wrong
+ErrorBadMXDomain=Email %s seems wrong (domain has no valid MX record)
 ErrorBadUrl=عنوان الموقع هو الخطأ %s
 ErrorBadValueForParamNotAString=Bad value for your parameter. It appends generally when translation is missing.
+ErrorRefAlreadyExists=Reference <b>%s</b> already exists.
 ErrorLoginAlreadyExists=ادخل ٪ ق موجود بالفعل.
 ErrorGroupAlreadyExists=المجموعة ٪ ق موجود بالفعل.
 ErrorRecordNotFound=لم يتم العثور على السجل.
@@ -48,6 +50,7 @@ ErrorFieldsRequired=تتطلب بعض المجالات لم تملأ.
 ErrorSubjectIsRequired=The email topic is required
 ErrorFailedToCreateDir=فشل إنشاء دليل. تأكد من أن خادم الويب المستخدم أذونات لكتابة وثائق Dolibarr في الدليل. إذا تم تمكين المعلم <b>safe_mode</b> على هذا PHP ، تحقق من أن ملفات Dolibarr php تملك لخدمة الويب المستخدم (أو مجموعة).
 ErrorNoMailDefinedForThisUser=البريد لا يعرف لهذا المستخدم
+ErrorSetupOfEmailsNotComplete=Setup of emails is not complete
 ErrorFeatureNeedJavascript=هذه الميزة تحتاج إلى تفعيل جافا سكريبت في العمل. هذا التغيير في البنية -- عرض.
 ErrorTopMenuMustHaveAParentWithId0=وهناك قائمة من نوع 'توب' لا يمكن أن يكون أحد الوالدين القائمة. 0 وضعت في القائمة أو الأم في اختيار قائمة من نوع 'اليسار'.
 ErrorLeftMenuMustHaveAParentId=وهناك قائمة من نوع 'اليسار' يجب أن يكون لها هوية الوالد.
@@ -75,7 +78,7 @@ ErrorExportDuplicateProfil=هذا الاسم الشخصي موجود مسبقا
 ErrorLDAPSetupNotComplete=Dolibarr - LDAP المطابقة وليس كاملا.
 ErrorLDAPMakeManualTest=ألف. ldif الملف قد ولدت في الدليل ٪ s. انها محاولة لتحميل يدويا من سطر في الحصول على مزيد من المعلومات عن الأخطاء.
 ErrorCantSaveADoneUserWithZeroPercentage=Can't save an action with "status not started" if field "done by" is also filled.
-ErrorRefAlreadyExists=المرجع المستخدمة لإنشاء موجود بالفعل.
+ErrorRefAlreadyExists=Reference <b>%s</b> already exists.
 ErrorPleaseTypeBankTransactionReportName=Please enter the bank statement name where the entry has to be reported (Format YYYYMM or YYYYMMDD)
 ErrorRecordHasChildren=Failed to delete record since it has some child records.
 ErrorRecordHasAtLeastOneChildOfType=Object has at least one child of type %s
@@ -216,7 +219,7 @@ ErrorChooseBetweenFreeEntryOrPredefinedProduct=You must choose if article is a p
 ErrorDiscountLargerThanRemainToPaySplitItBefore=The discount you try to apply is larger than remain to pay. Split the discount in 2 smaller discounts before.
 ErrorFileNotFoundWithSharedLink=File was not found. May be the share key was modified or file was removed recently.
 ErrorProductBarCodeAlreadyExists=The product barcode %s already exists on another product reference.
-ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Note also that using virtual product to have auto increase/decrease of subproducts is not possible when at least one subproduct (or subproduct of subproducts) needs a serial/lot number.
+ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Note also that using kits to have auto increase/decrease of subproducts is not possible when at least one subproduct (or subproduct of subproducts) needs a serial/lot number.
 ErrorDescRequiredForFreeProductLines=Description is mandatory for lines with free product
 ErrorAPageWithThisNameOrAliasAlreadyExists=The page/container <strong>%s</strong> has the same name or alternative alias that the one your try to use
 ErrorDuringChartLoad=Error when loading chart of accounts. If few accounts were not loaded, you can still enter them manually.
@@ -243,6 +246,16 @@ ErrorReplaceStringEmpty=Error, the string to replace into is empty
 ErrorProductNeedBatchNumber=Error, product '<b>%s</b>' need a lot/serial number
 ErrorProductDoesNotNeedBatchNumber=Error, product '<b>%s</b>' does not accept a lot/serial number
 ErrorFailedToReadObject=Error, failed to read object of type <b>%s</b>
+ErrorParameterMustBeEnabledToAllwoThisFeature=Error, parameter <b>%s</b> must be enabled into <b>conf/conf.php<b> to allow use of Command Line Interface by the internal job scheduler
+ErrorLoginDateValidity=Error, this login is outside the validity date range
+ErrorValueLength=Length of field '<b>%s</b>' must be higher than '<b>%s</b>'
+ErrorReservedKeyword=The word '<b>%s</b>' is a reserved keyword
+ErrorNotAvailableWithThisDistribution=Not available with this distribution
+ErrorPublicInterfaceNotEnabled=Public interface was not enabled
+ErrorLanguageRequiredIfPageIsTranslationOfAnother=The language of new page must be defined if it is set as a translation of another page
+ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=The language of new page must not be the source language if it is set as a translation of another page
+ErrorAParameterIsRequiredForThisOperation=A parameter is mandatory for this operation
+
 # Warnings
 WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup.
 WarningPasswordSetWithNoAccount=تم تعيين كلمة مرور لهذا العضو. ومع ذلك، تم إنشاء أي حساب المستخدم. لذلك يتم تخزين كلمة المرور هذه ولكن لا يمكن استخدامها للدخول إلى Dolibarr. ويمكن استخدامه من قبل وحدة / واجهة خارجية ولكن إذا كنت لا تحتاج إلى تعريف أي تسجيل دخول أو كلمة المرور لأحد أفراد، يمكنك تعطيل خيار "إدارة تسجيل دخول لكل عضو" من إعداد وحدة الأعضاء. إذا كنت بحاجة إلى إدارة تسجيل الدخول ولكن لا تحتاج إلى أي كلمة المرور، يمكنك الحفاظ على هذا الحقل فارغا لتجنب هذا التحذير. ملاحظة: يمكن أيضا أن تستخدم البريد الإلكتروني لتسجيل الدخول إذا تم ربط عضو إلى المستخدم.
@@ -267,6 +280,10 @@ WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security pur
 WarningAnEntryAlreadyExistForTransKey=An entry already exists for the translation key for this language
 WarningNumberOfRecipientIsRestrictedInMassAction=Warning, number of different recipient is limited to <b>%s</b> when using the mass actions on lists
 WarningDateOfLineMustBeInExpenseReportRange=Warning, the date of line is not in the range of the expense report
+WarningProjectDraft=Project is still in draft mode. Don't forget to validate it if you plan to use tasks.
 WarningProjectClosed=Project is closed. You must re-open it first.
 WarningSomeBankTransactionByChequeWereRemovedAfter=Some bank transaction were removed after that the receipt including them were generated. So nb of cheques and total of receipt may differ from number and total in list.
-WarningFailedToAddFileIntoDatabaseIndex=Warnin, failed to add file entry into ECM database index table
+WarningFailedToAddFileIntoDatabaseIndex=Warning, failed to add file entry into ECM database index table
+WarningTheHiddenOptionIsOn=Warning, the hidden option <b>%s</b> is on.
+WarningCreateSubAccounts=Warning, you can't create directly a sub account, you must create a third party or an user and assign them an accounting code to find them in this list
+WarningAvailableOnlyForHTTPSServers=Available only if using HTTPS secured connection.

+ 3 - 0
htdocs/langs/ar_SA/exports.lang

@@ -26,6 +26,8 @@ FieldTitle=حقل العنوان
 NowClickToGenerateToBuildExportFile=Now, select the file format in the combo box and click on "Generate" to build the export file...
 AvailableFormats=Available Formats
 LibraryShort=المكتبة
+ExportCsvSeparator=Csv caracter separator
+ImportCsvSeparator=Csv caracter separator
 Step=خطوة
 FormatedImport=Import Assistant
 FormatedImportDesc1=This module allows you to update existing data or add new objects into the database from a file without technical knowledge, using an assistant.
@@ -131,3 +133,4 @@ KeysToUseForUpdates=Key (column) to use for <b>updating</b> existing data
 NbInsert=Number of inserted lines: %s
 NbUpdate=Number of updated lines: %s
 MultipleRecordFoundWithTheseFilters=Multiple records have been found with these filters: %s
+StocksWithBatch=Stocks and location (warehouse) of products with batch/serial number

+ 14 - 11
htdocs/langs/ar_SA/mails.lang

@@ -92,6 +92,7 @@ MailingModuleDescEmailsFromUser=Emails input by user
 MailingModuleDescDolibarrUsers=Users with Emails
 MailingModuleDescThirdPartiesByCategories=Third parties (by categories)
 SendingFromWebInterfaceIsNotAllowed=Sending from web interface is not allowed.
+EmailCollectorFilterDesc=All filters must match to have an email being collected
 
 # Libelle des modules de liste de destinataires mailing
 LineInFile=خط المستندات في ملف ٪
@@ -125,12 +126,13 @@ TagMailtoEmail=Recipient Email (including html "mailto:" link)
 NoEmailSentBadSenderOrRecipientEmail=لا ترسل البريد الإلكتروني. مرسل سيئة أو البريد الإلكتروني المستلم. تحقق ملف تعريف المستخدم.
 # Module Notifications
 Notifications=الإخطارات
-NoNotificationsWillBeSent=إشعارات البريد الإلكتروني لا يجري التخطيط لهذا الحدث ، وشركة
-ANotificationsWillBeSent=1 سيتم إرسال الإشعار عن طريق البريد الإلكتروني
-SomeNotificationsWillBeSent=ق ٪ سوف يتم إرسال الإخطارات عبر البريد الإلكتروني
-AddNewNotification=تفعيل هدفا إشعار البريد الإلكتروني الجديد
-ListOfActiveNotifications=List all active targets for email notification
-ListOfNotificationsDone=أرسلت قائمة جميع اشعارات بالبريد الالكتروني
+NotificationsAuto=Notifications Auto.
+NoNotificationsWillBeSent=No automatic email notifications are planned for this event type and company
+ANotificationsWillBeSent=1 automatic notification will be sent by email
+SomeNotificationsWillBeSent=%s automatic notifications will be sent by email
+AddNewNotification=Subscribe to a new automatic email notification (target/event)
+ListOfActiveNotifications=List all active subscriptions (targets/events) for automatic email notification
+ListOfNotificationsDone=List all automatic email notifications sent
 MailSendSetupIs=وقد تم تكوين إرسال البريد الإلكتروني الإعداد ل'٪ ق'. هذا الوضع لا يمكن أن تستخدم لإرسال إرساله عبر البريد الإلكتروني الشامل.
 MailSendSetupIs2=يجب عليك أولا الذهاب، مع حساب مشرف، في القائمة٪ sHome - إعداد - رسائل البريد الإلكتروني٪ s إلى تغيير المعلمة <strong>'٪ ق'</strong> لاستخدام وضع '٪ ق'. مع هذا الوضع، يمكنك إدخال الإعداد خادم SMTP المقدمة من قبل موفر خدمة الإنترنت واستخدام قداس ميزة البريد الإلكتروني.
 MailSendSetupIs3=إذا كان لديك أي أسئلة حول كيفية إعداد ملقم SMTP الخاص بك، يمكنك أن تطلب إلى٪ s.
@@ -140,7 +142,7 @@ UseFormatFileEmailToTarget=Imported file must have format <strong>email;name;fir
 UseFormatInputEmailToTarget=Enter a string with format <strong>email;name;firstname;other</strong>
 MailAdvTargetRecipients=Recipients (advanced selection)
 AdvTgtTitle=Fill input fields to preselect the third parties or contacts/addresses to target
-AdvTgtSearchTextHelp=Use %% as wildcards. For example to find all item like <b>jean, joe, jim</b>, you can input <b>j%%</b>, you can also use ; as separator for value, and use ! for except this value. For example  <b>jean;joe;jim%%;!jimo;!jima%</b> will target all jean, joe, start with jim but not jimo and not everything that starts with jima
+AdvTgtSearchTextHelp=Use %% as wildcards. For example to find all item like <b>jean, joe, jim</b>, you can input <b>j%%</b>, you can also use ; as separator for value, and use ! for except this value. For example  <b>jean;joe;jim%%;!jimo;!jima%%</b> will target all jean, joe, start with jim but not jimo and not everything that starts with jima
 AdvTgtSearchIntHelp=Use interval to select int or float value
 AdvTgtMinVal=Minimum value
 AdvTgtMaxVal=Maximum value
@@ -162,13 +164,14 @@ AdvTgtCreateFilter=Create filter
 AdvTgtOrCreateNewFilter=Name of new filter
 NoContactWithCategoryFound=No contact/address with a category found
 NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found
-OutGoingEmailSetup=Outgoing email setup
-InGoingEmailSetup=Incoming email setup
-OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s)
-DefaultOutgoingEmailSetup=Default outgoing email setup
+OutGoingEmailSetup=Outgoing emails
+InGoingEmailSetup=Incoming emails
+OutGoingEmailSetupForEmailing=Outgoing emails (for module %s)
+DefaultOutgoingEmailSetup=Same configuration than the global Outgoing email setup
 Information=معلومات
 ContactsWithThirdpartyFilter=Contacts with third-party filter
 Unanswered=Unanswered
 Answered=Answered
 IsNotAnAnswer=Is not answer (initial email)
 IsAnAnswer=Is an answer of an initial email
+RecordCreatedByEmailCollector=Record created by the Email Collector %s from email %s

+ 11 - 1
htdocs/langs/ar_SA/main.lang

@@ -28,7 +28,9 @@ NoTemplateDefined=No template available for this email type
 AvailableVariables=Available substitution variables
 NoTranslation=لا يوجد ترجمة
 Translation=الترجمة
+CurrentTimeZone=حسب توقيت خادم البي إتش بي
 EmptySearchString=Enter non empty search criterias
+EnterADateCriteria=Enter a date criteria
 NoRecordFound=لا يوجد سجلات
 NoRecordDeleted=No record deleted
 NotEnoughDataYet=Not enough data
@@ -85,6 +87,8 @@ FileWasNotUploaded=يتم اختيار ملف لمرفق ولكن لم تحمي
 NbOfEntries=No. of entries
 GoToWikiHelpPage=Read online help (Internet access needed)
 GoToHelpPage=قراءة المساعدة
+DedicatedPageAvailable=There is a dedicated help page related to your current screen
+HomePage=Home Page
 RecordSaved=سجل حفظ
 RecordDeleted=سجل محذوف
 RecordGenerated=Record generated
@@ -433,6 +437,7 @@ RemainToPay=Remain to pay
 Module=Module/Application
 Modules=Modules/Applications
 Option=خيار
+Filters=Filters
 List=قائمة
 FullList=القائمة الكاملة
 FullConversation=Full conversation
@@ -671,7 +676,7 @@ SendMail=إرسال بريد إلكتروني
 Email=Email
 NoEMail=أي بريد إلكتروني
 AlreadyRead=Already read
-NotRead=Not read
+NotRead=Unread
 NoMobilePhone=لا هاتف المحمول
 Owner=مالك
 FollowingConstantsWillBeSubstituted=الثوابت التالية ستكون بديلا المقابلة القيمة.
@@ -1107,3 +1112,8 @@ UpToDate=Up-to-date
 OutOfDate=Out-of-date
 EventReminder=Event Reminder
 UpdateForAllLines=Update for all lines
+OnHold=في الانتظار
+AffectTag=Affect Tag
+ConfirmAffectTag=Bulk Tag Affect
+ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)?
+CategTypeNotFound=No tag type found for type of records

+ 4 - 3
htdocs/langs/ar_SA/modulebuilder.lang

@@ -40,6 +40,7 @@ PageForCreateEditView=PHP page to create/edit/view a record
 PageForAgendaTab=PHP page for event tab
 PageForDocumentTab=PHP page for document tab
 PageForNoteTab=PHP page for note tab
+PageForContactTab=PHP page for contact tab
 PathToModulePackage=Path to zip of module/application package
 PathToModuleDocumentation=Path to file of module/application documentation (%s)
 SpaceOrSpecialCharAreNotAllowed=Spaces or special characters are not allowed.
@@ -77,7 +78,7 @@ IsAMeasure=Is a measure
 DirScanned=Directory scanned
 NoTrigger=No trigger
 NoWidget=No widget
-GoToApiExplorer=Go to API explorer
+GoToApiExplorer=API explorer
 ListOfMenusEntries=List of menu entries
 ListOfDictionariesEntries=List of dictionaries entries
 ListOfPermissionsDefined=List of defined permissions
@@ -105,7 +106,7 @@ TryToUseTheModuleBuilder=If you have knowledge of SQL and PHP, you may use the n
 SeeTopRightMenu=See <span class="fa fa-bug"></span> on the top right menu
 AddLanguageFile=Add language file
 YouCanUseTranslationKey=You can use here a key that is the translation key found into language file (see tab "Languages")
-DropTableIfEmpty=(Delete table if empty)
+DropTableIfEmpty=(Destroy table if empty)
 TableDoesNotExists=The table %s does not exists
 TableDropped=Table %s deleted
 InitStructureFromExistingTable=Build the structure array string of an existing table
@@ -126,7 +127,6 @@ UseSpecificEditorURL = Use a specific editor URL
 UseSpecificFamily = Use a specific family
 UseSpecificAuthor = Use a specific author
 UseSpecificVersion = Use a specific initial version
-ModuleMustBeEnabled=The module/application must be enabled first
 IncludeRefGeneration=The reference of object must be generated automatically
 IncludeRefGenerationHelp=Check this if you want to include code to manage the generation automatically of the reference
 IncludeDocGeneration=I want to generate some documents from the object
@@ -140,3 +140,4 @@ TypeOfFieldsHelp=Type of fields:<br>varchar(99), double(24,8), real, text, html,
 AsciiToHtmlConverter=Ascii to HTML converter
 AsciiToPdfConverter=Ascii to PDF converter
 TableNotEmptyDropCanceled=Table not empty. Drop has been canceled.
+ModuleBuilderNotAllowed=The module builder is available but not allowed to your user.

+ 5 - 3
htdocs/langs/ar_SA/other.lang

@@ -5,8 +5,6 @@ Tools=أدوات
 TMenuTools=أدوات
 ToolsDesc=All tools not included in other menu entries are grouped here.<br>All the tools can be accessed via the left menu.
 Birthday=عيد ميلاد
-BirthdayDate=Birthday date
-DateToBirth=Birth date
 BirthdayAlertOn=عيد ميلاد النشطة في حالة تأهب
 BirthdayAlertOff=عيد الميلاد فى حالة تأهب الخاملة
 TransKey=Translation of the key TransKey
@@ -16,6 +14,8 @@ PreviousMonthOfInvoice=Previous month (number 1-12) of invoice date
 TextPreviousMonthOfInvoice=Previous month (text) of invoice date
 NextMonthOfInvoice=Following month (number 1-12) of invoice date
 TextNextMonthOfInvoice=Following month (text) of invoice date
+PreviousMonth=Previous month
+CurrentMonth=Current month
 ZipFileGeneratedInto=Zip file generated into <b>%s</b>.
 DocFileGeneratedInto=Doc file generated into <b>%s</b>.
 JumpToLogin=Disconnected. Go to login page...
@@ -99,6 +99,7 @@ PredefinedMailContentSendShipping=__(Hello)__\n\nPlease find shipping __REF__ at
 PredefinedMailContentSendFichInter=__(Hello)__\n\nPlease find intervention __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__
 PredefinedMailContentLink=You can click on the link below to make your payment if it is not already done.\n\n%s\n\n
 PredefinedMailContentGeneric=__(Hello)__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__
+PredefinedMailContentSendActionComm=Event reminder "__EVENT_LABEL__" on __EVENT_DATE__ at __EVENT_TIME__<br><br>This is an automatic message, please do not reply.
 DemoDesc=Dolibarr is a compact ERP/CRM supporting several business modules. A demo showcasing all modules makes no sense as this scenario never occurs (several hundred available). So, several demo profiles are available.
 ChooseYourDemoProfil=Choose the demo profile that best suits your needs...
 ChooseYourDemoProfilMore=...or build your own profile<br>(manual module selection)
@@ -137,7 +138,7 @@ Right=حق
 CalculatedWeight=يحسب الوزن
 CalculatedVolume=يحسب حجم
 Weight=وزن
-WeightUnitton=tonne
+WeightUnitton=ton
 WeightUnitkg=كجم
 WeightUnitg=ز
 WeightUnitmg=مغلم
@@ -258,6 +259,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e
 ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s
 TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s
 OpeningHoursFormatDesc=Use a - to separate opening and closing hours.<br>Use a space to enter different ranges.<br>Example: 8-12 14-18
+PrefixSession=Prefix for session ID
 
 ##### Export #####
 ExportsArea=صادرات المنطقة

+ 6 - 3
htdocs/langs/ar_SA/products.lang

@@ -108,7 +108,8 @@ FillWithLastServiceDates=Fill with last service line dates
 MultiPricesAbility=Multiple price segments per product/service (each customer is in one price segment)
 MultiPricesNumPrices=عدد من السعر
 DefaultPriceType=Base of prices per default (with versus without tax) when adding new sale prices
-AssociatedProductsAbility=Activate kits (virtual products)
+AssociatedProductsAbility=Enable Kits (set of other products)
+VariantsAbility=Enable Variants (variations of products, for example color, size)
 AssociatedProducts=Kits
 AssociatedProductsNumber=Number of products composing this kit
 ParentProductsNumber=عدد منتج التعبئة الاب
@@ -167,8 +168,10 @@ BuyingPrices=شراء أسعار
 CustomerPrices=أسعار العميل
 SuppliersPrices=Vendor prices
 SuppliersPricesOfProductsOrServices=Vendor prices (of products or services)
-CustomCode=Customs / Commodity / HS code
+CustomCode=Customs|Commodity|HS code
 CountryOrigin=بلد المنشأ
+RegionStateOrigin=Region origin
+StateOrigin=State|Province origin
 Nature=Nature of product (material/finished)
 NatureOfProductShort=Nature of product
 NatureOfProductDesc=Raw material or finished product
@@ -239,7 +242,7 @@ AlwaysUseFixedPrice=استخدم السعر الثابت
 PriceByQuantity=أسعار مختلفة حسب الكمية
 DisablePriceByQty=Disable prices by quantity
 PriceByQuantityRange=مدى الكمية
-MultipriceRules=Price segment rules
+MultipriceRules=Automatic prices for segment
 UseMultipriceRules=Use price segment rules (defined into product module setup) to auto calculate prices of all other segments according to first segment
 PercentVariationOver=٪٪ الاختلاف على الصورة٪
 PercentDiscountOver=٪٪ خصم أكثر من٪ الصورة

+ 1 - 0
htdocs/langs/ar_SA/recruitment.lang

@@ -73,3 +73,4 @@ JobClosedTextCandidateFound=The job position is closed. The position has been fi
 JobClosedTextCanceled=The job position is closed.
 ExtrafieldsJobPosition=Complementary attributes (job positions)
 ExtrafieldsCandidatures=Complementary attributes (job applications)
+MakeOffer=Make an offer

+ 2 - 0
htdocs/langs/ar_SA/sendings.lang

@@ -30,6 +30,7 @@ OtherSendingsForSameOrder=الإرسال الأخرى لهذا النظام
 SendingsAndReceivingForSameOrder=Shipments and receipts for this order
 SendingsToValidate=للمصادقة على إرسال
 StatusSendingCanceled=ألغيت
+StatusSendingCanceledShort=ألغيت
 StatusSendingDraft=مسودة
 StatusSendingValidated=صادق (لشحن المنتجات أو شحنها بالفعل)
 StatusSendingProcessed=معالجة
@@ -65,6 +66,7 @@ ValidateOrderFirstBeforeShipment=You must first validate the order before being
 # Sending methods
 # ModelDocument
 DocumentModelTyphon=أكمل نموذج لتسليم وثيقة من وثائق الإيصالات (logo...)
+DocumentModelStorm=More complete document model for delivery receipts and extrafields compatibility (logo...)
 Error_EXPEDITION_ADDON_NUMBER_NotDefined=EXPEDITION_ADDON_NUMBER ثابت لم تحدد
 SumOfProductVolumes=مجموع أحجام المنتج
 SumOfProductWeights=مجموع الأوزان المنتج

+ 1 - 0
htdocs/langs/ar_SA/stocks.lang

@@ -240,3 +240,4 @@ InventoryRealQtyHelp=Set value to 0 to reset qty<br>Keep field empty, or remove
 UpdateByScaning=Update by scaning
 UpdateByScaningProductBarcode=Update by scan (product barcode)
 UpdateByScaningLot=Update by scan (lot|serial barcode)
+DisableStockChangeOfSubProduct=Deactivate the stock change for all the subproducts of this Kit during this movement.

+ 3 - 6
htdocs/langs/ar_SA/ticket.lang

@@ -31,10 +31,8 @@ TicketDictType=Ticket - Types
 TicketDictCategory=Ticket - Groupes
 TicketDictSeverity=Ticket - Severities
 TicketDictResolution=Ticket - Resolution
-TicketTypeShortBUGSOFT=Dysfonctionnement logiciel
-TicketTypeShortBUGHARD=Dysfonctionnement matériel
-TicketTypeShortCOM=Commercial question
 
+TicketTypeShortCOM=Commercial question
 TicketTypeShortHELP=Request for functionnal help
 TicketTypeShortISSUE=Issue, bug or problem
 TicketTypeShortREQUEST=Change or enhancement request
@@ -44,7 +42,7 @@ TicketTypeShortOTHER=الآخر
 TicketSeverityShortLOW=منخفض
 TicketSeverityShortNORMAL=Normal
 TicketSeverityShortHIGH=عال
-TicketSeverityShortBLOCKING=Critical/Blocking
+TicketSeverityShortBLOCKING=Critical, Blocking
 
 ErrorBadEmailAddress=Field '%s' incorrect
 MenuTicketMyAssign=My tickets
@@ -60,7 +58,6 @@ OriginEmail=Email source
 Notify_TICKET_SENTBYMAIL=Send ticket message by email
 
 # Status
-NotRead=Not read
 Read=قرأ
 Assigned=Assigned
 InProgress=In progress
@@ -126,6 +123,7 @@ TicketsActivatePublicInterfaceHelp=Public interface allow any visitors to create
 TicketsAutoAssignTicket=Automatically assign the user who created the ticket
 TicketsAutoAssignTicketHelp=When creating a ticket, the user can be automatically assigned to the ticket.
 TicketNumberingModules=Tickets numbering module
+TicketsModelModule=Document templates for tickets
 TicketNotifyTiersAtCreation=Notify third party at creation
 TicketsDisableCustomerEmail=Always disable emails when a ticket is created from public interface
 TicketsPublicNotificationNewMessage=Send email(s) when a new message is added
@@ -233,7 +231,6 @@ TicketLogStatusChanged=Status changed: %s to %s
 TicketNotNotifyTiersAtCreate=Not notify company at create
 Unread=Unread
 TicketNotCreatedFromPublicInterface=Not available. Ticket was not created from public interface.
-PublicInterfaceNotEnabled=Public interface was not enabled
 ErrorTicketRefRequired=Ticket reference name is required
 
 #

+ 2 - 2
htdocs/langs/ar_SA/website.lang

@@ -30,7 +30,6 @@ EditInLine=Edit inline
 AddWebsite=Add website
 Webpage=Web page/container
 AddPage=Add page/container
-HomePage=Home Page
 PageContainer=صفحة
 PreviewOfSiteNotYetAvailable=Preview of your website <strong>%s</strong> not yet available. You must first '<strong>Import a full website template</strong>' or just '<strong>Add a page/container</strong>'.
 RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this.
@@ -101,7 +100,7 @@ EmptyPage=Empty page
 ExternalURLMustStartWithHttp=External URL must start with http:// or https://
 ZipOfWebsitePackageToImport=Upload the Zip file of the website template package
 ZipOfWebsitePackageToLoad=or Choose an available embedded website template package
-ShowSubcontainers=Include dynamic content
+ShowSubcontainers=Show dynamic content
 InternalURLOfPage=Internal URL of page
 ThisPageIsTranslationOf=This page/container is a translation of
 ThisPageHasTranslationPages=This page/container has translation
@@ -137,3 +136,4 @@ RSSFeedDesc=You can get a RSS feed of latest articles with type 'blogpost' using
 PagesRegenerated=%s page(s)/container(s) regenerated
 RegenerateWebsiteContent=Regenerate web site cache files
 AllowedInFrames=Allowed in Frames
+DefineListOfAltLanguagesInWebsiteProperties=Define list of all available languages into web site properties.

+ 4 - 1
htdocs/langs/ar_SA/withdrawals.lang

@@ -42,6 +42,7 @@ LastWithdrawalReceipt=Latest %s direct debit receipts
 MakeWithdrawRequest=Make a direct debit payment request
 MakeBankTransferOrder=Make a credit transfer request
 WithdrawRequestsDone=%s direct debit payment requests recorded
+BankTransferRequestsDone=%s credit transfer requests recorded
 ThirdPartyBankCode=Third-party bank code
 NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode <strong>%s</strong>.
 ClassCredited=تصنيف حساب
@@ -131,7 +132,8 @@ SEPARCUR=SEPA CUR
 SEPAFRST=SEPA FRST
 ExecutionDate=Execution date
 CreateForSepa=Create direct debit file
-ICS=Creditor Identifier CI
+ICS=Creditor Identifier CI for direct debit
+ICSTransfer=Creditor Identifier CI for bank transfer
 END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction
 USTRD="Unstructured" SEPA XML tag
 ADDDAYS=Add days to Execution Date
@@ -146,3 +148,4 @@ InfoRejectSubject=Direct debit payment order refused
 InfoRejectMessage=Hello,<br><br>the direct debit payment order of invoice %s related to the company %s, with an amount of %s has been refused by the bank.<br><br>--<br>%s
 ModeWarning=لم يتم تعيين خيار الوضع الحقيقي، ونحن بعد توقف هذه المحاكاة
 ErrorCompanyHasDuplicateDefaultBAN=Company with id %s has more than one default bank account. No way to know wich one to use.
+ErrorICSmissing=Missing ICS in Bank account %s

+ 12 - 5
htdocs/langs/az_AZ/accountancy.lang

@@ -48,6 +48,7 @@ CountriesExceptMe=All countries except %s
 AccountantFiles=Export source documents
 ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s.
 VueByAccountAccounting=View by accounting account
+VueBySubAccountAccounting=View by accounting subaccount
 
 MainAccountForCustomersNotDefined=Main accounting account for customers not defined in setup
 MainAccountForSuppliersNotDefined=Main accounting account for vendors not defined in setup
@@ -144,7 +145,7 @@ NotVentilatedinAccount=Not bound to the accounting account
 XLineSuccessfullyBinded=%s products/services successfully bound to an accounting account
 XLineFailedToBeBinded=%s products/services were not bound to any accounting account
 
-ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to bind shown by page (maximum recommended: 50)
+ACCOUNTING_LIMIT_LIST_VENTILATION=Maximum number of lines on list and bind page (recommended: 50)
 ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the page "Binding to do" by the most recent elements
 ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the page "Binding done" by the most recent elements
 
@@ -198,7 +199,8 @@ Docdate=Date
 Docref=Reference
 LabelAccount=Label account
 LabelOperation=Label operation
-Sens=Sens
+Sens=Direction
+AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you received<br>For an accounting account of a supplier, use Debit to record a payment you make
 LetteringCode=Lettering code
 Lettering=Lettering
 Codejournal=Journal
@@ -206,7 +208,8 @@ JournalLabel=Journal label
 NumPiece=Piece number
 TransactionNumShort=Num. transaction
 AccountingCategory=Personalized groups
-GroupByAccountAccounting=Group by accounting account
+GroupByAccountAccounting=Group by general ledger account
+GroupBySubAccountAccounting=Group by subledger account
 AccountingAccountGroupsDesc=You can define here some groups of accounting account. They will be used for personalized accounting reports.
 ByAccounts=By accounts
 ByPredefinedAccountGroups=By predefined groups
@@ -248,7 +251,7 @@ PaymentsNotLinkedToProduct=Payment not linked to any product / service
 OpeningBalance=Opening balance
 ShowOpeningBalance=Show opening balance
 HideOpeningBalance=Hide opening balance
-ShowSubtotalByGroup=Show subtotal by group
+ShowSubtotalByGroup=Show subtotal by level
 
 Pcgtype=Group of account
 PcgtypeDesc=Group of account are used as predefined 'filter' and 'grouping' criteria for some accounting reports. For example, 'INCOME' or 'EXPENSE' are used as groups for accounting accounts of products to build the expense/income report.
@@ -271,11 +274,13 @@ DescVentilExpenseReport=Consult here the list of expense report lines bound (or
 DescVentilExpenseReportMore=If you setup accounting account on type of expense report lines, the application will be able to make all the binding between your expense report lines and the accounting account of your chart of accounts, just in one click with the button <strong>"%s"</strong>. If account was not set on fees dictionary or if you still have some lines not bound to any account, you will have to make a manual binding from the menu "<strong>%s</strong>".
 DescVentilDoneExpenseReport=Consult here the list of the lines of expenses reports and their fees accounting account
 
+Closure=Annual closure
 DescClosure=Consult here the number of movements by month who are not validated & fiscal years already open
 OverviewOfMovementsNotValidated=Step 1/ Overview of movements not validated. (Necessary to close a fiscal year)
+AllMovementsWereRecordedAsValidated=All movements were recorded as validated
+NotAllMovementsCouldBeRecordedAsValidated=Not all movements could be recorded as validated
 ValidateMovements=Validate movements
 DescValidateMovements=Any modification or deletion of writing, lettering and deletes will be prohibited. All entries for an exercise must be validated otherwise closing will not be possible
-SelectMonthAndValidate=Select month and validate movements
 
 ValidateHistory=Bind Automatically
 AutomaticBindingDone=Automatic binding done
@@ -293,6 +298,7 @@ Accounted=Accounted in ledger
 NotYetAccounted=Not yet accounted in ledger
 ShowTutorial=Show Tutorial
 NotReconciled=Not reconciled
+WarningRecordWithoutSubledgerAreExcluded=Warning, all operations without subledger account defined are filtered and excluded from this view
 
 ## Admin
 BindingOptions=Binding options
@@ -337,6 +343,7 @@ Modelcsv_LDCompta10=Export for LD Compta (v10 & higher)
 Modelcsv_openconcerto=Export for OpenConcerto (Test)
 Modelcsv_configurable=Export CSV Configurable
 Modelcsv_FEC=Export FEC
+Modelcsv_FEC2=Export FEC (With dates generation writing / document reversed)
 Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland
 Modelcsv_winfic=Export Winfic - eWinfic - WinSis Compta
 Modelcsv_Gestinumv3=Export for Gestinum (v3)

+ 16 - 9
htdocs/langs/az_AZ/admin.lang

@@ -56,6 +56,8 @@ GUISetup=Display
 SetupArea=Setup
 UploadNewTemplate=Upload new template(s)
 FormToTestFileUploadForm=Form to test file upload (according to setup)
+ModuleMustBeEnabled=The module/application <b>%s</b> must be enabled
+ModuleIsEnabled=The module/application <b>%s</b> has been enabled
 IfModuleEnabled=Note: yes is effective only if module <b>%s</b> is enabled
 RemoveLock=Remove/rename file <b>%s</b> if it exists, to allow usage of the Update/Install tool.
 RestoreLock=Restore file <b>%s</b>, with read permission only, to disable any further use of the Update/Install tool.
@@ -85,7 +87,6 @@ ShowPreview=Show preview
 ShowHideDetails=Show-Hide details
 PreviewNotAvailable=Preview not available
 ThemeCurrentlyActive=Theme currently active
-CurrentTimeZone=TimeZone PHP (server)
 MySQLTimeZone=TimeZone MySql (database)
 TZHasNoEffect=Dates are stored and returned by database server as if they were kept as submitted string. The timezone has effect only when using the UNIX_TIMESTAMP function (that should not be used by Dolibarr, so database TZ should have no effect, even if changed after data was entered).
 Space=Space
@@ -153,8 +154,8 @@ SystemToolsAreaDesc=This area provides administration functions. Use the menu to
 Purge=Purge
 PurgeAreaDesc=This page allows you to delete all files generated or stored by Dolibarr (temporary files or all files in <b>%s</b> directory). Using this feature is not normally necessary. It is provided as a workaround for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files generated by the web server.
 PurgeDeleteLogFile=Delete log files, including <b>%s</b> defined for Syslog module (no risk of losing data)
-PurgeDeleteTemporaryFiles=Delete all temporary files (no risk of losing data). Note: Deletion is done only if the temp directory was created 24 hours ago.
-PurgeDeleteTemporaryFilesShort=Delete temporary files
+PurgeDeleteTemporaryFiles=Delete all log and temporary files (no risk of losing data). Note: Deletion of temporary files is done only if the temp directory was created more than 24 hours ago.
+PurgeDeleteTemporaryFilesShort=Delete log and temporary files
 PurgeDeleteAllFilesInDocumentsDir=Delete all files in directory: <b>%s</b>.<br>This will delete all generated documents related to elements (third parties, invoices etc...), files uploaded into the ECM module, database backup dumps and temporary files.
 PurgeRunNow=Purge now
 PurgeNothingToDelete=No directory or files to delete.
@@ -256,6 +257,7 @@ ReferencedPreferredPartners=Preferred Partners
 OtherResources=Other resources
 ExternalResources=External Resources
 SocialNetworks=Social Networks
+SocialNetworkId=Social Network ID
 ForDocumentationSeeWiki=For user or developer documentation (Doc, FAQs...),<br>take a look at the Dolibarr Wiki:<br><b><a href="%s" target="_blank">%s</a></b>
 ForAnswersSeeForum=For any other questions/help, you can use the Dolibarr forum:<br><b><a href="%s" target="_blank">%s</a></b>
 HelpCenterDesc1=Here are some resources for getting help and support with Dolibarr.
@@ -375,7 +377,7 @@ ExamplesWithCurrentSetup=Examples with current configuration
 ListOfDirectories=List of OpenDocument templates directories
 ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.<br><br>Put here full path of directories.<br>Add a carriage return between eah directory.<br>To add a directory of the GED module, add here <b>DOL_DATA_ROOT/ecm/yourdirectoryname</b>.<br><br>Files in those directories must end with <b>.odt</b> or <b>.ods</b>.
 NumberOfModelFilesFound=Number of ODT/ODS template files found in these directories
-ExampleOfDirectoriesForModelGen=Examples of syntax:<br>c:\\mydir<br>/home/mydir<br>DOL_DATA_ROOT/ecm/ecmdir
+ExampleOfDirectoriesForModelGen=Examples of syntax:<br>c:\\myapp\\mydocumentdir\\mysubdir<br>/home/myapp/mydocumentdir/mysubdir<br>DOL_DATA_ROOT/ecm/ecmdir
 FollowingSubstitutionKeysCanBeUsed=<br>To know how to create your odt document templates, before storing them in those directories, read wiki documentation:
 FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template
 FirstnameNamePosition=Position of Name/Lastname
@@ -406,7 +408,7 @@ UrlGenerationParameters=Parameters to secure URLs
 SecurityTokenIsUnique=Use a unique securekey parameter for each URL
 EnterRefToBuildUrl=Enter reference for object %s
 GetSecuredUrl=Get calculated URL
-ButtonHideUnauthorized=Hide buttons for non-admin users for unauthorized actions instead of showing greyed disabled buttons
+ButtonHideUnauthorized=Hide unauthorized action buttons also for internal users (just greyed otherwise)
 OldVATRates=Old VAT rate
 NewVATRates=New VAT rate
 PriceBaseTypeToChange=Modify on prices with base reference value defined on
@@ -1689,7 +1691,7 @@ NotTopTreeMenuPersonalized=Personalized menus not linked to a top menu entry
 NewMenu=New menu
 MenuHandler=Menu handler
 MenuModule=Source module
-HideUnauthorizedMenu= Hide unauthorized menus (gray)
+HideUnauthorizedMenu=Hide unauthorized menus also for internal users (just greyed otherwise)
 DetailId=Id menu
 DetailMenuHandler=Menu handler where to show new menu
 DetailMenuModule=Module name if menu entry come from a module
@@ -1983,11 +1985,12 @@ EMailHost=Host of email IMAP server
 MailboxSourceDirectory=Mailbox source directory
 MailboxTargetDirectory=Mailbox target directory
 EmailcollectorOperations=Operations to do by collector
+EmailcollectorOperationsDesc=Operations are executed from top to bottom order
 MaxEmailCollectPerCollect=Max number of emails collected per collect
 CollectNow=Collect now
 ConfirmCloneEmailCollector=Are you sure you want to clone the Email collector %s ?
-DateLastCollectResult=Date latest collect tried
-DateLastcollectResultOk=Date latest collect successfull
+DateLastCollectResult=Date of latest collect try
+DateLastcollectResultOk=Date of latest collect success
 LastResult=Latest result
 EmailCollectorConfirmCollectTitle=Email collect confirmation
 EmailCollectorConfirmCollect=Do you want to run the collection for this collector now ?
@@ -2005,7 +2008,7 @@ WithDolTrackingID=Message from a conversation initiated by a first email sent fr
 WithoutDolTrackingID=Message from a conversation initiated by a first email NOT sent from Dolibarr
 WithDolTrackingIDInMsgId=Message sent from Dolibarr
 WithoutDolTrackingIDInMsgId=Message NOT sent from Dolibarr
-CreateCandidature=Create candidature
+CreateCandidature=Create job application
 FormatZip=Zip
 MainMenuCode=Menu entry code (mainmenu)
 ECMAutoTree=Show automatic ECM tree
@@ -2083,3 +2086,7 @@ CountryIfSpecificToOneCountry=Country (if specific to a given country)
 YouMayFindSecurityAdviceHere=You may find security advisory here
 ModuleActivatedMayExposeInformation=This module may expose sensitive data. If you don't need it, disable it.
 ModuleActivatedDoNotUseInProduction=A module designed for the development has been enabled. Do not enable it on a production environment.
+CombinationsSeparator=Separator character for product combinations
+SeeLinkToOnlineDocumentation=See link to online documention on top menu for examples
+SHOW_SUBPRODUCT_REF_IN_PDF=If the feature "%s" of module <b>%s</b> is used, show details of subproducts of a kit on PDF.
+AskThisIDToYourBank=Contact your bank to get this ID

+ 2 - 2
htdocs/langs/az_AZ/banks.lang

@@ -173,8 +173,8 @@ SEPAMandate=SEPA mandate
 YourSEPAMandate=Your SEPA mandate
 FindYourSEPAMandate=This is your SEPA mandate to authorize our company to make direct debit order to your bank. Return it signed (scan of the signed document) or send it by mail to
 AutoReportLastAccountStatement=Automatically fill the field 'number of bank statement' with last statement number when making reconciliation
-CashControl=POS cash fence
-NewCashFence=New cash fence
+CashControl=POS cash desk control
+NewCashFence=New cash desk closing
 BankColorizeMovement=Colorize movements
 BankColorizeMovementDesc=If this function is enable, you can choose specific background color for debit or credit movements
 BankColorizeMovementName1=Background color for debit movement

+ 1 - 1
htdocs/langs/az_AZ/blockedlog.lang

@@ -35,7 +35,7 @@ logDON_DELETE=Donation logical deletion
 logMEMBER_SUBSCRIPTION_CREATE=Member subscription created
 logMEMBER_SUBSCRIPTION_MODIFY=Member subscription modified
 logMEMBER_SUBSCRIPTION_DELETE=Member subscription logical deletion
-logCASHCONTROL_VALIDATE=Cash fence recording
+logCASHCONTROL_VALIDATE=Cash desk closing recording
 BlockedLogBillDownload=Customer invoice download
 BlockedLogBillPreview=Customer invoice preview
 BlockedlogInfoDialog=Log Details

+ 5 - 0
htdocs/langs/az_AZ/boxes.lang

@@ -46,9 +46,12 @@ BoxTitleLastModifiedDonations=Latest %s modified donations
 BoxTitleLastModifiedExpenses=Latest %s modified expense reports
 BoxTitleLatestModifiedBoms=Latest %s modified BOMs
 BoxTitleLatestModifiedMos=Latest %s modified Manufacturing Orders
+BoxTitleLastOutstandingBillReached=Customers with maximum outstanding exceeded
 BoxGlobalActivity=Global activity (invoices, proposals, orders)
 BoxGoodCustomers=Good customers
 BoxTitleGoodCustomers=%s Good customers
+BoxScheduledJobs=Scheduled jobs
+BoxTitleFunnelOfProspection=Lead funnel
 FailedToRefreshDataInfoNotUpToDate=Failed to refresh RSS flux. Latest successful refresh date: %s
 LastRefreshDate=Latest refresh date
 NoRecordedBookmarks=No bookmarks defined.
@@ -102,5 +105,7 @@ SuspenseAccountNotDefined=Suspense account isn't defined
 BoxLastCustomerShipments=Last customer shipments
 BoxTitleLastCustomerShipments=Latest %s customer shipments
 NoRecordedShipments=No recorded customer shipment
+BoxCustomersOutstandingBillReached=Customers with oustanding limit reached
 # Pages
 AccountancyHome=Accountancy
+ValidatedProjects=Validated projects

+ 6 - 4
htdocs/langs/az_AZ/cashdesk.lang

@@ -49,8 +49,8 @@ Footer=Footer
 AmountAtEndOfPeriod=Amount at end of period (day, month or year)
 TheoricalAmount=Theorical amount
 RealAmount=Real amount
-CashFence=Cash fence
-CashFenceDone=Cash fence done for the period
+CashFence=Cash desk closing
+CashFenceDone=Cash desk closing done for the period
 NbOfInvoices=Nb of invoices
 Paymentnumpad=Type of Pad to enter payment
 Numberspad=Numbers Pad
@@ -99,8 +99,9 @@ CashDeskRefNumberingModules=Numbering module for POS sales
 CashDeskGenericMaskCodes6 = <br><b>{TN}</b> tag is used to add the terminal number
 TakeposGroupSameProduct=Group same products lines
 StartAParallelSale=Start a new parallel sale
-ControlCashOpening=Control cash box at opening POS
-CloseCashFence=Close cash fence
+SaleStartedAt=Sale started at %s
+ControlCashOpening=Control cash popup at opening POS
+CloseCashFence=Close cash desk control
 CashReport=Cash report
 MainPrinterToUse=Main printer to use
 OrderPrinterToUse=Order printer to use
@@ -122,3 +123,4 @@ GiftReceipt=Gift receipt
 ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled first
 AllowDelayedPayment=Allow delayed payment
 PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts
+WeighingScale=Weighing scale

+ 12 - 5
htdocs/langs/az_AZ/categories.lang

@@ -19,6 +19,7 @@ ProjectsCategoriesArea=Projects tags/categories area
 UsersCategoriesArea=Users tags/categories area
 SubCats=Sub-categories
 CatList=List of tags/categories
+CatListAll=List of tags/categories (all types)
 NewCategory=New tag/category
 ModifCat=Modify tag/category
 CatCreated=Tag/category created
@@ -65,16 +66,22 @@ UsersCategoriesShort=Users tags/categories
 StockCategoriesShort=Warehouse tags/categories
 ThisCategoryHasNoItems=This category does not contain any items.
 CategId=Tag/category id
-CatSupList=List of vendor tags/categories
-CatCusList=List of customer/prospect tags/categories
+ParentCategory=Parent tag/category
+ParentCategoryLabel=Label of parent tag/category
+CatSupList=List of vendors tags/categories
+CatCusList=List of customers/prospects tags/categories
 CatProdList=List of products tags/categories
 CatMemberList=List of members tags/categories
-CatContactList=List of contact tags/categories
-CatSupLinks=Links between suppliers and tags/categories
+CatContactList=List of contacts tags/categories
+CatProjectsList=List of projects tags/categories
+CatUsersList=List of users tags/categories
+CatSupLinks=Links between vendors and tags/categories
 CatCusLinks=Links between customers/prospects and tags/categories
 CatContactsLinks=Links between contacts/addresses and tags/categories
 CatProdLinks=Links between products/services and tags/categories
-CatProJectLinks=Links between projects and tags/categories
+CatMembersLinks=Links between members and tags/categories
+CatProjectsLinks=Links between projects and tags/categories
+CatUsersLinks=Links between users and tags/categories
 DeleteFromCat=Remove from tags/category
 ExtraFieldsCategories=Complementary attributes
 CategoriesSetup=Tags/categories setup

+ 1 - 1
htdocs/langs/az_AZ/companies.lang

@@ -358,7 +358,7 @@ VATIntraCheckableOnEUSite=Check the intra-Community VAT ID on the European Commi
 VATIntraManualCheck=You can also check manually on the European Commission website <a href="%s" target="_blank">%s</a>
 ErrorVATCheckMS_UNAVAILABLE=Check not possible. Check service is not provided by the member state (%s).
 NorProspectNorCustomer=Not prospect, nor customer
-JuridicalStatus=Legal Entity Type
+JuridicalStatus=Business entity type
 Workforce=Workforce
 Staff=Employees
 ProspectLevelShort=Potential

+ 8 - 5
htdocs/langs/az_AZ/compta.lang

@@ -111,7 +111,7 @@ Refund=Refund
 SocialContributionsPayments=Social/fiscal taxes payments
 ShowVatPayment=Show VAT payment
 TotalToPay=Total to pay
-BalanceVisibilityDependsOnSortAndFilters=Balance is visible in this list only if table is sorted ascending on %s and filtered for 1 bank account
+BalanceVisibilityDependsOnSortAndFilters=Balance is visible in this list only if table is sorted on %s and filtered on 1 bank account (with no other filters)
 CustomerAccountancyCode=Customer accounting code
 SupplierAccountancyCode=Vendor accounting code
 CustomerAccountancyCodeShort=Cust. account. code
@@ -140,7 +140,7 @@ ConfirmDeleteSocialContribution=Are you sure you want to delete this social/fisc
 ExportDataset_tax_1=Social and fiscal taxes and payments
 CalcModeVATDebt=Mode <b>%sVAT on commitment accounting%s</b>.
 CalcModeVATEngagement=Mode <b>%sVAT on incomes-expenses%s</b>.
-CalcModeDebt=Analysis of known recorded invoices even if they are not yet accounted in ledger.
+CalcModeDebt=Analysis of known recorded documents even if they are not yet accounted in ledger.
 CalcModeEngagement=Analysis of known recorded payments, even if they are not yet accounted in Ledger.
 CalcModeBookkeeping=Analysis of data journalized in Bookkeeping Ledger table.
 CalcModeLT1= Mode <b>%sRE on customer invoices - suppliers invoices%s</b>
@@ -154,9 +154,9 @@ AnnualSummaryInputOutputMode=Balance of income and expenses, annual summary
 AnnualByCompanies=Balance of income and expenses, by predefined groups of account
 AnnualByCompaniesDueDebtMode=Balance of income and expenses, detail by predefined groups, mode <b>%sClaims-Debts%s</b> said <b>Commitment accounting</b>.
 AnnualByCompaniesInputOutputMode=Balance of income and expenses, detail by predefined groups, mode <b>%sIncomes-Expenses%s</b> said <b>cash accounting</b>.
-SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on actual payments made even if they are not yet accounted in Ledger.
-SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger.
-SeeReportInBookkeepingMode=See <b>%sBookeeping report%s</b> for a calculation on <b>Bookkeeping Ledger table</b>
+SeeReportInInputOutputMode=See <b>%sanalysis of payments%s</b> for a calculation based on <b>recorded payments</b> made even if they are not yet accounted in Ledger
+SeeReportInDueDebtMode=See <b>%sanalysis of recorded documents%s</b> for a calculation based on known <b>recorded documents</b> even if they are not yet accounted in Ledger
+SeeReportInBookkeepingMode=See <b>%sanalysis of bookeeping ledger table%s</b> for a report based on <b>Bookkeeping Ledger table</b>
 RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included
 RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.<br>- It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used.
 RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries. <br>- It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation.
@@ -169,12 +169,15 @@ RulesResultBookkeepingPersonalized=It show record in your Ledger with accounting
 SeePageForSetup=See menu <a href="%s">%s</a> for setup
 DepositsAreNotIncluded=- Down payment invoices are not included
 DepositsAreIncluded=- Down payment invoices are included
+LT1ReportByMonth=Tax 2 report by month
+LT2ReportByMonth=Tax 3 report by month
 LT1ReportByCustomers=Report tax 2 by third party
 LT2ReportByCustomers=Report tax 3 by third party
 LT1ReportByCustomersES=Report by third party RE
 LT2ReportByCustomersES=Report by third party IRPF
 VATReport=Sale tax report
 VATReportByPeriods=Sale tax report by period
+VATReportByMonth=Sale tax report by month
 VATReportByRates=Sale tax report by rates
 VATReportByThirdParties=Sale tax report by third parties
 VATReportByCustomers=Sale tax report by customer

+ 10 - 3
htdocs/langs/az_AZ/cron.lang

@@ -7,13 +7,14 @@ Permission23103 = Delete Scheduled job
 Permission23104 = Execute Scheduled job
 # Admin
 CronSetup=Scheduled job management setup
-URLToLaunchCronJobs=URL to check and launch qualified cron jobs
-OrToLaunchASpecificJob=Or to check and launch a specific job
+URLToLaunchCronJobs=URL to check and launch qualified cron jobs from a browser
+OrToLaunchASpecificJob=Or to check and launch a specific job from a browser
 KeyForCronAccess=Security key for URL to launch cron jobs
 FileToLaunchCronJobs=Command line to check and launch qualified cron jobs
 CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes
 CronExplainHowToRunWin=On Microsoft(tm) Windows environment you can use Scheduled Task tools to run the command line each 5 minutes
 CronMethodDoesNotExists=Class %s does not contains any method %s
+CronMethodNotAllowed=Method %s of class %s is in blacklist of forbidden methods
 CronJobDefDesc=Cron job profiles are defined into the module descriptor file. When module is activated, they are loaded and available so you can administer the jobs from the admin tools menu %s.
 CronJobProfiles=List of predefined cron job profiles
 # Menu
@@ -46,6 +47,7 @@ CronNbRun=Number of launches
 CronMaxRun=Maximum number of launches
 CronEach=Every
 JobFinished=Job launched and finished
+Scheduled=Scheduled
 #Page card
 CronAdd= Add jobs
 CronEvery=Execute job each
@@ -56,7 +58,7 @@ CronNote=Comment
 CronFieldMandatory=Fields %s is mandatory
 CronErrEndDateStartDt=End date cannot be before start date
 StatusAtInstall=Status at module installation
-CronStatusActiveBtn=Enable
+CronStatusActiveBtn=Schedule
 CronStatusInactiveBtn=Disable
 CronTaskInactive=This job is disabled
 CronId=Id
@@ -82,3 +84,8 @@ MakeLocalDatabaseDumpShort=Local database backup
 MakeLocalDatabaseDump=Create a local database dump. Parameters are: compression ('gz' or 'bz' or 'none'), backup type ('mysql', 'pgsql', 'auto'), 1, 'auto' or filename to build, number of backup files to keep
 WarningCronDelayed=Attention, for performance purpose, whatever is next date of execution of enabled jobs, your jobs may be delayed to a maximum of %s hours, before being run.
 DATAPOLICYJob=Data cleaner and anonymizer
+JobXMustBeEnabled=Job %s must be enabled
+# Cron Boxes
+LastExecutedScheduledJob=Last executed scheduled job
+NextScheduledJobExecute=Next scheduled job to execute
+NumberScheduledJobError=Number of scheduled jobs in error

+ 20 - 3
htdocs/langs/az_AZ/errors.lang

@@ -5,8 +5,10 @@ NoErrorCommitIsDone=No error, we commit
 # Errors
 ErrorButCommitIsDone=Errors found but we validate despite this
 ErrorBadEMail=Email %s is wrong
+ErrorBadMXDomain=Email %s seems wrong (domain has no valid MX record)
 ErrorBadUrl=Url %s is wrong
 ErrorBadValueForParamNotAString=Bad value for your parameter. It appends generally when translation is missing.
+ErrorRefAlreadyExists=Reference <b>%s</b> already exists.
 ErrorLoginAlreadyExists=Login %s already exists.
 ErrorGroupAlreadyExists=Group %s already exists.
 ErrorRecordNotFound=Record not found.
@@ -48,6 +50,7 @@ ErrorFieldsRequired=Some required fields were not filled.
 ErrorSubjectIsRequired=The email topic is required
 ErrorFailedToCreateDir=Failed to create a directory. Check that Web server user has permissions to write into Dolibarr documents directory. If parameter <b>safe_mode</b> is enabled on this PHP, check that Dolibarr php files owns to web server user (or group).
 ErrorNoMailDefinedForThisUser=No mail defined for this user
+ErrorSetupOfEmailsNotComplete=Setup of emails is not complete
 ErrorFeatureNeedJavascript=This feature need javascript to be activated to work. Change this in setup - display.
 ErrorTopMenuMustHaveAParentWithId0=A menu of type 'Top' can't have a parent menu. Put 0 in parent menu or choose a menu of type 'Left'.
 ErrorLeftMenuMustHaveAParentId=A menu of type 'Left' must have a parent id.
@@ -75,7 +78,7 @@ ErrorExportDuplicateProfil=This profile name already exists for this export set.
 ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete.
 ErrorLDAPMakeManualTest=A .ldif file has been generated in directory %s. Try to load it manually from command line to have more information on errors.
 ErrorCantSaveADoneUserWithZeroPercentage=Can't save an action with "status not started" if field "done by" is also filled.
-ErrorRefAlreadyExists=Ref used for creation already exists.
+ErrorRefAlreadyExists=Reference <b>%s</b> already exists.
 ErrorPleaseTypeBankTransactionReportName=Please enter the bank statement name where the entry has to be reported (Format YYYYMM or YYYYMMDD)
 ErrorRecordHasChildren=Failed to delete record since it has some child records.
 ErrorRecordHasAtLeastOneChildOfType=Object has at least one child of type %s
@@ -216,7 +219,7 @@ ErrorChooseBetweenFreeEntryOrPredefinedProduct=You must choose if article is a p
 ErrorDiscountLargerThanRemainToPaySplitItBefore=The discount you try to apply is larger than remain to pay. Split the discount in 2 smaller discounts before.
 ErrorFileNotFoundWithSharedLink=File was not found. May be the share key was modified or file was removed recently.
 ErrorProductBarCodeAlreadyExists=The product barcode %s already exists on another product reference.
-ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Note also that using virtual product to have auto increase/decrease of subproducts is not possible when at least one subproduct (or subproduct of subproducts) needs a serial/lot number.
+ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Note also that using kits to have auto increase/decrease of subproducts is not possible when at least one subproduct (or subproduct of subproducts) needs a serial/lot number.
 ErrorDescRequiredForFreeProductLines=Description is mandatory for lines with free product
 ErrorAPageWithThisNameOrAliasAlreadyExists=The page/container <strong>%s</strong> has the same name or alternative alias that the one your try to use
 ErrorDuringChartLoad=Error when loading chart of accounts. If few accounts were not loaded, you can still enter them manually.
@@ -243,6 +246,16 @@ ErrorReplaceStringEmpty=Error, the string to replace into is empty
 ErrorProductNeedBatchNumber=Error, product '<b>%s</b>' need a lot/serial number
 ErrorProductDoesNotNeedBatchNumber=Error, product '<b>%s</b>' does not accept a lot/serial number
 ErrorFailedToReadObject=Error, failed to read object of type <b>%s</b>
+ErrorParameterMustBeEnabledToAllwoThisFeature=Error, parameter <b>%s</b> must be enabled into <b>conf/conf.php<b> to allow use of Command Line Interface by the internal job scheduler
+ErrorLoginDateValidity=Error, this login is outside the validity date range
+ErrorValueLength=Length of field '<b>%s</b>' must be higher than '<b>%s</b>'
+ErrorReservedKeyword=The word '<b>%s</b>' is a reserved keyword
+ErrorNotAvailableWithThisDistribution=Not available with this distribution
+ErrorPublicInterfaceNotEnabled=Public interface was not enabled
+ErrorLanguageRequiredIfPageIsTranslationOfAnother=The language of new page must be defined if it is set as a translation of another page
+ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=The language of new page must not be the source language if it is set as a translation of another page
+ErrorAParameterIsRequiredForThisOperation=A parameter is mandatory for this operation
+
 # Warnings
 WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup.
 WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user.
@@ -267,6 +280,10 @@ WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security pur
 WarningAnEntryAlreadyExistForTransKey=An entry already exists for the translation key for this language
 WarningNumberOfRecipientIsRestrictedInMassAction=Warning, number of different recipient is limited to <b>%s</b> when using the mass actions on lists
 WarningDateOfLineMustBeInExpenseReportRange=Warning, the date of line is not in the range of the expense report
+WarningProjectDraft=Project is still in draft mode. Don't forget to validate it if you plan to use tasks.
 WarningProjectClosed=Project is closed. You must re-open it first.
 WarningSomeBankTransactionByChequeWereRemovedAfter=Some bank transaction were removed after that the receipt including them were generated. So nb of cheques and total of receipt may differ from number and total in list.
-WarningFailedToAddFileIntoDatabaseIndex=Warnin, failed to add file entry into ECM database index table
+WarningFailedToAddFileIntoDatabaseIndex=Warning, failed to add file entry into ECM database index table
+WarningTheHiddenOptionIsOn=Warning, the hidden option <b>%s</b> is on.
+WarningCreateSubAccounts=Warning, you can't create directly a sub account, you must create a third party or an user and assign them an accounting code to find them in this list
+WarningAvailableOnlyForHTTPSServers=Available only if using HTTPS secured connection.

+ 1 - 0
htdocs/langs/az_AZ/exports.lang

@@ -133,3 +133,4 @@ KeysToUseForUpdates=Key (column) to use for <b>updating</b> existing data
 NbInsert=Number of inserted lines: %s
 NbUpdate=Number of updated lines: %s
 MultipleRecordFoundWithTheseFilters=Multiple records have been found with these filters: %s
+StocksWithBatch=Stocks and location (warehouse) of products with batch/serial number

+ 14 - 11
htdocs/langs/az_AZ/mails.lang

@@ -92,6 +92,7 @@ MailingModuleDescEmailsFromUser=Emails input by user
 MailingModuleDescDolibarrUsers=Users with Emails
 MailingModuleDescThirdPartiesByCategories=Third parties (by categories)
 SendingFromWebInterfaceIsNotAllowed=Sending from web interface is not allowed.
+EmailCollectorFilterDesc=All filters must match to have an email being collected
 
 # Libelle des modules de liste de destinataires mailing
 LineInFile=Line %s in file
@@ -125,12 +126,13 @@ TagMailtoEmail=Recipient Email (including html "mailto:" link)
 NoEmailSentBadSenderOrRecipientEmail=No email sent. Bad sender or recipient email. Verify user profile.
 # Module Notifications
 Notifications=Notifications
-NoNotificationsWillBeSent=No email notifications are planned for this event and company
-ANotificationsWillBeSent=1 notification will be sent by email
-SomeNotificationsWillBeSent=%s notifications will be sent by email
-AddNewNotification=Activate a new email notification target/event
-ListOfActiveNotifications=List all active targets/events for email notification
-ListOfNotificationsDone=List all email notifications sent
+NotificationsAuto=Notifications Auto.
+NoNotificationsWillBeSent=No automatic email notifications are planned for this event type and company
+ANotificationsWillBeSent=1 automatic notification will be sent by email
+SomeNotificationsWillBeSent=%s automatic notifications will be sent by email
+AddNewNotification=Subscribe to a new automatic email notification (target/event)
+ListOfActiveNotifications=List all active subscriptions (targets/events) for automatic email notification
+ListOfNotificationsDone=List all automatic email notifications sent
 MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing.
 MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter <strong>'%s'</strong> to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature.
 MailSendSetupIs3=If you have any questions on how to setup your SMTP server, you can ask to %s.
@@ -140,7 +142,7 @@ UseFormatFileEmailToTarget=Imported file must have format <strong>email;name;fir
 UseFormatInputEmailToTarget=Enter a string with format <strong>email;name;firstname;other</strong>
 MailAdvTargetRecipients=Recipients (advanced selection)
 AdvTgtTitle=Fill input fields to preselect the third parties or contacts/addresses to target
-AdvTgtSearchTextHelp=Use %% as wildcards. For example to find all item like <b>jean, joe, jim</b>, you can input <b>j%%</b>, you can also use ; as separator for value, and use ! for except this value. For example  <b>jean;joe;jim%%;!jimo;!jima%</b> will target all jean, joe, start with jim but not jimo and not everything that starts with jima
+AdvTgtSearchTextHelp=Use %% as wildcards. For example to find all item like <b>jean, joe, jim</b>, you can input <b>j%%</b>, you can also use ; as separator for value, and use ! for except this value. For example  <b>jean;joe;jim%%;!jimo;!jima%%</b> will target all jean, joe, start with jim but not jimo and not everything that starts with jima
 AdvTgtSearchIntHelp=Use interval to select int or float value
 AdvTgtMinVal=Minimum value
 AdvTgtMaxVal=Maximum value
@@ -162,13 +164,14 @@ AdvTgtCreateFilter=Create filter
 AdvTgtOrCreateNewFilter=Name of new filter
 NoContactWithCategoryFound=No contact/address with a category found
 NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found
-OutGoingEmailSetup=Outgoing email setup
-InGoingEmailSetup=Incoming email setup
-OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s)
-DefaultOutgoingEmailSetup=Default outgoing email setup
+OutGoingEmailSetup=Outgoing emails
+InGoingEmailSetup=Incoming emails
+OutGoingEmailSetupForEmailing=Outgoing emails (for module %s)
+DefaultOutgoingEmailSetup=Same configuration than the global Outgoing email setup
 Information=Information
 ContactsWithThirdpartyFilter=Contacts with third-party filter
 Unanswered=Unanswered
 Answered=Answered
 IsNotAnAnswer=Is not answer (initial email)
 IsAnAnswer=Is an answer of an initial email
+RecordCreatedByEmailCollector=Record created by the Email Collector %s from email %s

+ 11 - 1
htdocs/langs/az_AZ/main.lang

@@ -28,7 +28,9 @@ NoTemplateDefined=No template available for this email type
 AvailableVariables=Available substitution variables
 NoTranslation=No translation
 Translation=Translation
+CurrentTimeZone=TimeZone PHP (server)
 EmptySearchString=Enter non empty search criterias
+EnterADateCriteria=Enter a date criteria
 NoRecordFound=No record found
 NoRecordDeleted=No record deleted
 NotEnoughDataYet=Not enough data
@@ -85,6 +87,8 @@ FileWasNotUploaded=A file is selected for attachment but was not yet uploaded. C
 NbOfEntries=No. of entries
 GoToWikiHelpPage=Read online help (Internet access needed)
 GoToHelpPage=Read help
+DedicatedPageAvailable=There is a dedicated help page related to your current screen
+HomePage=Home Page
 RecordSaved=Record saved
 RecordDeleted=Record deleted
 RecordGenerated=Record generated
@@ -433,6 +437,7 @@ RemainToPay=Remain to pay
 Module=Module/Application
 Modules=Modules/Applications
 Option=Option
+Filters=Filters
 List=List
 FullList=Full list
 FullConversation=Full conversation
@@ -671,7 +676,7 @@ SendMail=Send email
 Email=Email
 NoEMail=No email
 AlreadyRead=Already read
-NotRead=Not read
+NotRead=Unread
 NoMobilePhone=No mobile phone
 Owner=Owner
 FollowingConstantsWillBeSubstituted=The following constants will be replaced with the corresponding value.
@@ -1107,3 +1112,8 @@ UpToDate=Up-to-date
 OutOfDate=Out-of-date
 EventReminder=Event Reminder
 UpdateForAllLines=Update for all lines
+OnHold=On hold
+AffectTag=Affect Tag
+ConfirmAffectTag=Bulk Tag Affect
+ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)?
+CategTypeNotFound=No tag type found for type of records

+ 4 - 3
htdocs/langs/az_AZ/modulebuilder.lang

@@ -40,6 +40,7 @@ PageForCreateEditView=PHP page to create/edit/view a record
 PageForAgendaTab=PHP page for event tab
 PageForDocumentTab=PHP page for document tab
 PageForNoteTab=PHP page for note tab
+PageForContactTab=PHP page for contact tab
 PathToModulePackage=Path to zip of module/application package
 PathToModuleDocumentation=Path to file of module/application documentation (%s)
 SpaceOrSpecialCharAreNotAllowed=Spaces or special characters are not allowed.
@@ -77,7 +78,7 @@ IsAMeasure=Is a measure
 DirScanned=Directory scanned
 NoTrigger=No trigger
 NoWidget=No widget
-GoToApiExplorer=Go to API explorer
+GoToApiExplorer=API explorer
 ListOfMenusEntries=List of menu entries
 ListOfDictionariesEntries=List of dictionaries entries
 ListOfPermissionsDefined=List of defined permissions
@@ -105,7 +106,7 @@ TryToUseTheModuleBuilder=If you have knowledge of SQL and PHP, you may use the n
 SeeTopRightMenu=See <span class="fa fa-bug"></span> on the top right menu
 AddLanguageFile=Add language file
 YouCanUseTranslationKey=You can use here a key that is the translation key found into language file (see tab "Languages")
-DropTableIfEmpty=(Delete table if empty)
+DropTableIfEmpty=(Destroy table if empty)
 TableDoesNotExists=The table %s does not exists
 TableDropped=Table %s deleted
 InitStructureFromExistingTable=Build the structure array string of an existing table
@@ -126,7 +127,6 @@ UseSpecificEditorURL = Use a specific editor URL
 UseSpecificFamily = Use a specific family
 UseSpecificAuthor = Use a specific author
 UseSpecificVersion = Use a specific initial version
-ModuleMustBeEnabled=The module/application must be enabled first
 IncludeRefGeneration=The reference of object must be generated automatically
 IncludeRefGenerationHelp=Check this if you want to include code to manage the generation automatically of the reference
 IncludeDocGeneration=I want to generate some documents from the object
@@ -140,3 +140,4 @@ TypeOfFieldsHelp=Type of fields:<br>varchar(99), double(24,8), real, text, html,
 AsciiToHtmlConverter=Ascii to HTML converter
 AsciiToPdfConverter=Ascii to PDF converter
 TableNotEmptyDropCanceled=Table not empty. Drop has been canceled.
+ModuleBuilderNotAllowed=The module builder is available but not allowed to your user.

+ 5 - 3
htdocs/langs/az_AZ/other.lang

@@ -5,8 +5,6 @@ Tools=Tools
 TMenuTools=Tools
 ToolsDesc=All tools not included in other menu entries are grouped here.<br>All the tools can be accessed via the left menu.
 Birthday=Birthday
-BirthdayDate=Birthday date
-DateToBirth=Birth date
 BirthdayAlertOn=birthday alert active
 BirthdayAlertOff=birthday alert inactive
 TransKey=Translation of the key TransKey
@@ -16,6 +14,8 @@ PreviousMonthOfInvoice=Previous month (number 1-12) of invoice date
 TextPreviousMonthOfInvoice=Previous month (text) of invoice date
 NextMonthOfInvoice=Following month (number 1-12) of invoice date
 TextNextMonthOfInvoice=Following month (text) of invoice date
+PreviousMonth=Previous month
+CurrentMonth=Current month
 ZipFileGeneratedInto=Zip file generated into <b>%s</b>.
 DocFileGeneratedInto=Doc file generated into <b>%s</b>.
 JumpToLogin=Disconnected. Go to login page...
@@ -99,6 +99,7 @@ PredefinedMailContentSendShipping=__(Hello)__\n\nPlease find shipping __REF__ at
 PredefinedMailContentSendFichInter=__(Hello)__\n\nPlease find intervention __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__
 PredefinedMailContentLink=You can click on the link below to make your payment if it is not already done.\n\n%s\n\n
 PredefinedMailContentGeneric=__(Hello)__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__
+PredefinedMailContentSendActionComm=Event reminder "__EVENT_LABEL__" on __EVENT_DATE__ at __EVENT_TIME__<br><br>This is an automatic message, please do not reply.
 DemoDesc=Dolibarr is a compact ERP/CRM supporting several business modules. A demo showcasing all modules makes no sense as this scenario never occurs (several hundred available). So, several demo profiles are available.
 ChooseYourDemoProfil=Choose the demo profile that best suits your needs...
 ChooseYourDemoProfilMore=...or build your own profile<br>(manual module selection)
@@ -137,7 +138,7 @@ Right=Right
 CalculatedWeight=Calculated weight
 CalculatedVolume=Calculated volume
 Weight=Weight
-WeightUnitton=tonne
+WeightUnitton=ton
 WeightUnitkg=kg
 WeightUnitg=g
 WeightUnitmg=mg
@@ -258,6 +259,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e
 ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s
 TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s
 OpeningHoursFormatDesc=Use a - to separate opening and closing hours.<br>Use a space to enter different ranges.<br>Example: 8-12 14-18
+PrefixSession=Prefix for session ID
 
 ##### Export #####
 ExportsArea=Exports area

+ 6 - 3
htdocs/langs/az_AZ/products.lang

@@ -108,7 +108,8 @@ FillWithLastServiceDates=Fill with last service line dates
 MultiPricesAbility=Multiple price segments per product/service (each customer is in one price segment)
 MultiPricesNumPrices=Number of prices
 DefaultPriceType=Base of prices per default (with versus without tax) when adding new sale prices
-AssociatedProductsAbility=Activate kits (virtual products)
+AssociatedProductsAbility=Enable Kits (set of other products)
+VariantsAbility=Enable Variants (variations of products, for example color, size)
 AssociatedProducts=Kits
 AssociatedProductsNumber=Number of products composing this kit
 ParentProductsNumber=Number of parent packaging product
@@ -167,8 +168,10 @@ BuyingPrices=Buying prices
 CustomerPrices=Customer prices
 SuppliersPrices=Vendor prices
 SuppliersPricesOfProductsOrServices=Vendor prices (of products or services)
-CustomCode=Customs / Commodity / HS code
+CustomCode=Customs|Commodity|HS code
 CountryOrigin=Origin country
+RegionStateOrigin=Region origin
+StateOrigin=State|Province origin
 Nature=Nature of product (material/finished)
 NatureOfProductShort=Nature of product
 NatureOfProductDesc=Raw material or finished product
@@ -239,7 +242,7 @@ AlwaysUseFixedPrice=Use the fixed price
 PriceByQuantity=Different prices by quantity
 DisablePriceByQty=Disable prices by quantity
 PriceByQuantityRange=Quantity range
-MultipriceRules=Price segment rules
+MultipriceRules=Automatic prices for segment
 UseMultipriceRules=Use price segment rules (defined into product module setup) to auto calculate prices of all other segments according to first segment
 PercentVariationOver=%% variation over %s
 PercentDiscountOver=%% discount over %s

+ 1 - 0
htdocs/langs/az_AZ/recruitment.lang

@@ -73,3 +73,4 @@ JobClosedTextCandidateFound=The job position is closed. The position has been fi
 JobClosedTextCanceled=The job position is closed.
 ExtrafieldsJobPosition=Complementary attributes (job positions)
 ExtrafieldsCandidatures=Complementary attributes (job applications)
+MakeOffer=Make an offer

+ 2 - 0
htdocs/langs/az_AZ/sendings.lang

@@ -30,6 +30,7 @@ OtherSendingsForSameOrder=Other shipments for this order
 SendingsAndReceivingForSameOrder=Shipments and receipts for this order
 SendingsToValidate=Shipments to validate
 StatusSendingCanceled=Canceled
+StatusSendingCanceledShort=Canceled
 StatusSendingDraft=Draft
 StatusSendingValidated=Validated (products to ship or already shipped)
 StatusSendingProcessed=Processed
@@ -65,6 +66,7 @@ ValidateOrderFirstBeforeShipment=You must first validate the order before being
 # Sending methods
 # ModelDocument
 DocumentModelTyphon=More complete document model for delivery receipts (logo...)
+DocumentModelStorm=More complete document model for delivery receipts and extrafields compatibility (logo...)
 Error_EXPEDITION_ADDON_NUMBER_NotDefined=Constant EXPEDITION_ADDON_NUMBER not defined
 SumOfProductVolumes=Sum of product volumes
 SumOfProductWeights=Sum of product weights

+ 1 - 0
htdocs/langs/az_AZ/stocks.lang

@@ -240,3 +240,4 @@ InventoryRealQtyHelp=Set value to 0 to reset qty<br>Keep field empty, or remove
 UpdateByScaning=Update by scaning
 UpdateByScaningProductBarcode=Update by scan (product barcode)
 UpdateByScaningLot=Update by scan (lot|serial barcode)
+DisableStockChangeOfSubProduct=Deactivate the stock change for all the subproducts of this Kit during this movement.

+ 3 - 6
htdocs/langs/az_AZ/ticket.lang

@@ -31,10 +31,8 @@ TicketDictType=Ticket - Types
 TicketDictCategory=Ticket - Groupes
 TicketDictSeverity=Ticket - Severities
 TicketDictResolution=Ticket - Resolution
-TicketTypeShortBUGSOFT=Dysfonctionnement logiciel
-TicketTypeShortBUGHARD=Dysfonctionnement matériel
-TicketTypeShortCOM=Commercial question
 
+TicketTypeShortCOM=Commercial question
 TicketTypeShortHELP=Request for functionnal help
 TicketTypeShortISSUE=Issue, bug or problem
 TicketTypeShortREQUEST=Change or enhancement request
@@ -44,7 +42,7 @@ TicketTypeShortOTHER=Other
 TicketSeverityShortLOW=Low
 TicketSeverityShortNORMAL=Normal
 TicketSeverityShortHIGH=High
-TicketSeverityShortBLOCKING=Critical/Blocking
+TicketSeverityShortBLOCKING=Critical, Blocking
 
 ErrorBadEmailAddress=Field '%s' incorrect
 MenuTicketMyAssign=My tickets
@@ -60,7 +58,6 @@ OriginEmail=Email source
 Notify_TICKET_SENTBYMAIL=Send ticket message by email
 
 # Status
-NotRead=Not read
 Read=Read
 Assigned=Assigned
 InProgress=In progress
@@ -126,6 +123,7 @@ TicketsActivatePublicInterfaceHelp=Public interface allow any visitors to create
 TicketsAutoAssignTicket=Automatically assign the user who created the ticket
 TicketsAutoAssignTicketHelp=When creating a ticket, the user can be automatically assigned to the ticket.
 TicketNumberingModules=Tickets numbering module
+TicketsModelModule=Document templates for tickets
 TicketNotifyTiersAtCreation=Notify third party at creation
 TicketsDisableCustomerEmail=Always disable emails when a ticket is created from public interface
 TicketsPublicNotificationNewMessage=Send email(s) when a new message is added
@@ -233,7 +231,6 @@ TicketLogStatusChanged=Status changed: %s to %s
 TicketNotNotifyTiersAtCreate=Not notify company at create
 Unread=Unread
 TicketNotCreatedFromPublicInterface=Not available. Ticket was not created from public interface.
-PublicInterfaceNotEnabled=Public interface was not enabled
 ErrorTicketRefRequired=Ticket reference name is required
 
 #

+ 2 - 2
htdocs/langs/az_AZ/website.lang

@@ -30,7 +30,6 @@ EditInLine=Edit inline
 AddWebsite=Add website
 Webpage=Web page/container
 AddPage=Add page/container
-HomePage=Home Page
 PageContainer=Page
 PreviewOfSiteNotYetAvailable=Preview of your website <strong>%s</strong> not yet available. You must first '<strong>Import a full website template</strong>' or just '<strong>Add a page/container</strong>'.
 RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this.
@@ -101,7 +100,7 @@ EmptyPage=Empty page
 ExternalURLMustStartWithHttp=External URL must start with http:// or https://
 ZipOfWebsitePackageToImport=Upload the Zip file of the website template package
 ZipOfWebsitePackageToLoad=or Choose an available embedded website template package
-ShowSubcontainers=Include dynamic content
+ShowSubcontainers=Show dynamic content
 InternalURLOfPage=Internal URL of page
 ThisPageIsTranslationOf=This page/container is a translation of
 ThisPageHasTranslationPages=This page/container has translation
@@ -137,3 +136,4 @@ RSSFeedDesc=You can get a RSS feed of latest articles with type 'blogpost' using
 PagesRegenerated=%s page(s)/container(s) regenerated
 RegenerateWebsiteContent=Regenerate web site cache files
 AllowedInFrames=Allowed in Frames
+DefineListOfAltLanguagesInWebsiteProperties=Define list of all available languages into web site properties.

+ 4 - 1
htdocs/langs/az_AZ/withdrawals.lang

@@ -42,6 +42,7 @@ LastWithdrawalReceipt=Latest %s direct debit receipts
 MakeWithdrawRequest=Make a direct debit payment request
 MakeBankTransferOrder=Make a credit transfer request
 WithdrawRequestsDone=%s direct debit payment requests recorded
+BankTransferRequestsDone=%s credit transfer requests recorded
 ThirdPartyBankCode=Third-party bank code
 NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode <strong>%s</strong>.
 ClassCredited=Classify credited
@@ -131,7 +132,8 @@ SEPARCUR=SEPA CUR
 SEPAFRST=SEPA FRST
 ExecutionDate=Execution date
 CreateForSepa=Create direct debit file
-ICS=Creditor Identifier CI
+ICS=Creditor Identifier CI for direct debit
+ICSTransfer=Creditor Identifier CI for bank transfer
 END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction
 USTRD="Unstructured" SEPA XML tag
 ADDDAYS=Add days to Execution Date
@@ -146,3 +148,4 @@ InfoRejectSubject=Direct debit payment order refused
 InfoRejectMessage=Hello,<br><br>the direct debit payment order of invoice %s related to the company %s, with an amount of %s has been refused by the bank.<br><br>--<br>%s
 ModeWarning=Option for real mode was not set, we stop after this simulation
 ErrorCompanyHasDuplicateDefaultBAN=Company with id %s has more than one default bank account. No way to know wich one to use.
+ErrorICSmissing=Missing ICS in Bank account %s

+ 12 - 5
htdocs/langs/bg_BG/accountancy.lang

@@ -48,6 +48,7 @@ CountriesExceptMe=Всички държави с изключение на %s
 AccountantFiles=Export source documents
 ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s.
 VueByAccountAccounting=View by accounting account
+VueBySubAccountAccounting=View by accounting subaccount
 
 MainAccountForCustomersNotDefined=Основна счетоводна сметка за клиенти, която не е дефинирана в настройката
 MainAccountForSuppliersNotDefined=Основна счетоводна сметка за доставчици, която не е дефинирана в настройката
@@ -144,7 +145,7 @@ NotVentilatedinAccount=Не е свързан със счетоводната с
 XLineSuccessfullyBinded=%s продукти / услуги успешно са свързани към счетоводна сметка
 XLineFailedToBeBinded=%s продукти / услуги, които не са свързани с нито една счетоводна сметка
 
-ACCOUNTING_LIMIT_LIST_VENTILATION=Брой елементи за свързване, показани на страница (препоръчително: 50)
+ACCOUNTING_LIMIT_LIST_VENTILATION=Maximum number of lines on list and bind page (recommended: 50)
 ACCOUNTING_LIST_SORT_VENTILATION_TODO=Започнете сортирането на страницата „За свързване“, използвайки най-новите елементи
 ACCOUNTING_LIST_SORT_VENTILATION_DONE=Започнете сортирането на страницата „Извършено свързване“, използвайки най-новите елементи
 
@@ -198,7 +199,8 @@ Docdate=Дата
 Docref=Референция
 LabelAccount=Име на сметка
 LabelOperation=Име на операция
-Sens=Значение
+Sens=Direction
+AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you received<br>For an accounting account of a supplier, use Debit to record a payment you make
 LetteringCode=Буквен код
 Lettering=Означение
 Codejournal=Журнал
@@ -206,7 +208,8 @@ JournalLabel=Име на журнал
 NumPiece=Пореден номер
 TransactionNumShort=Транзакция №
 AccountingCategory=Персонализирани групи
-GroupByAccountAccounting=Групиране по счетоводна сметка
+GroupByAccountAccounting=Group by general ledger account
+GroupBySubAccountAccounting=Group by subledger account
 AccountingAccountGroupsDesc=Тук може да определите някои групи счетоводни сметки. Те ще бъдат използвани за персонализирани счетоводни отчети.
 ByAccounts=По сметки
 ByPredefinedAccountGroups=По предварително определени групи
@@ -248,7 +251,7 @@ PaymentsNotLinkedToProduct=Плащането не е свързано с нит
 OpeningBalance=Начално салдо
 ShowOpeningBalance=Показване на баланс при откриване
 HideOpeningBalance=Скриване на баланс при откриване
-ShowSubtotalByGroup=Показване на междинна сума по групи
+ShowSubtotalByGroup=Show subtotal by level
 
 Pcgtype=Група от сметки
 PcgtypeDesc=Групата от сметки се използва като предварително зададен критерий за филтриране и групиране за някои счетоводни отчети. Например 'Приход' или 'Разход' се използват като групи за счетоводни сметки на продукти за съставяне на отчет за разходи / приходи.
@@ -271,11 +274,13 @@ DescVentilExpenseReport=Преглед на списъка с редове на
 DescVentilExpenseReportMore=Ако настроите счетоводна сметка за видовете разходен отчет, то системата ще може да извърши всички свързвания между редовете на разходния отчет и счетоводната сметка във вашия сметкоплан, просто с едно щракване с бутона <strong>"%s"</strong>. Ако сметката не е зададена в речника с таксите или ако все още имате някои редове, които не са свързани с нито една сметка ще трябва да направите ръчно свързване от менюто "<strong>%s</strong>".
 DescVentilDoneExpenseReport=Преглед на списъка с редове на разходни отчети и тяхната счетоводна сметка за такса
 
+Closure=Annual closure
 DescClosure=Преглед на броя движения за месец, които не са валидирани за активните фискални години
 OverviewOfMovementsNotValidated=Стъпка 1 / Преглед на движенията, които не са валидирани (необходимо за приключване на фискална година)
+AllMovementsWereRecordedAsValidated=All movements were recorded as validated
+NotAllMovementsCouldBeRecordedAsValidated=Not all movements could be recorded as validated
 ValidateMovements=Валидиране на движения
 DescValidateMovements=Всякакви промени или изтриване на написаното ще бъдат забранени. Всички записи за изпълнение трябва да бъдат валидирани, в противен случай приключването няма да е възможно.
-SelectMonthAndValidate=Изберете месец и валидирайте движенията
 
 ValidateHistory=Автоматично свързване
 AutomaticBindingDone=Автоматичното свързване завърши
@@ -293,6 +298,7 @@ Accounted=Осчетоводено в книгата
 NotYetAccounted=Все още не е осчетоводено в книгата
 ShowTutorial=Показване на урок
 NotReconciled=Не е съгласувано
+WarningRecordWithoutSubledgerAreExcluded=Warning, all operations without subledger account defined are filtered and excluded from this view
 
 ## Admin
 BindingOptions=Binding options
@@ -337,6 +343,7 @@ Modelcsv_LDCompta10=Експортиране за LD Compta (v10 и по-нов
 Modelcsv_openconcerto=Експортиране за OpenConcerto (Тест)
 Modelcsv_configurable=Експортиране в конфигурируем CSV
 Modelcsv_FEC=Експортиране за FEC
+Modelcsv_FEC2=Export FEC (With dates generation writing / document reversed)
 Modelcsv_Sage50_Swiss=Експортиране за Sage 50 Швейцария
 Modelcsv_winfic=Експортиране за Winfic - eWinfic - WinSis Compta
 Modelcsv_Gestinumv3=Export for Gestinum (v3)

+ 16 - 9
htdocs/langs/bg_BG/admin.lang

@@ -56,6 +56,8 @@ GUISetup=Интерфейс
 SetupArea=Настройки
 UploadNewTemplate=Качване на нов(и) шаблон(и)
 FormToTestFileUploadForm=Формуляр за тестване на качването на файлове (според настройката)
+ModuleMustBeEnabled=The module/application <b>%s</b> must be enabled
+ModuleIsEnabled=The module/application <b>%s</b> has been enabled
 IfModuleEnabled=Забележка: Ефективно е само ако модула <b>%s</b> е активиран
 RemoveLock=Премахнете / преименувайте файла <b>%s</b>, ако съществува, за да разрешите използването на инструмента за инсталиране / актуализиране.
 RestoreLock=Възстановете файла <b>%s</b> с права само за четене, за да забраните по-нататъшното използване на инструмента за инсталиране / актуализиране.
@@ -85,7 +87,6 @@ ShowPreview=Показване на преглед
 ShowHideDetails=Show-Hide details
 PreviewNotAvailable=Прегледът не е налице
 ThemeCurrentlyActive=Темата е активна в момента
-CurrentTimeZone=Времева зона на PHP (сървър)
 MySQLTimeZone=Времева зона на MySql (база данни)
 TZHasNoEffect=Датите се съхраняват и връщат от сървъра на базата данни така, сякаш се съхраняват като подаден низ. Часовата зона има ефект само когато се използва функцията UNIX_TIMESTAMP (която не трябва да се използва от Dolibarr, така че базата данни TZ не трябва да има ефект, дори ако бъде променена след въвеждането на данните).
 Space=Пространство
@@ -153,8 +154,8 @@ SystemToolsAreaDesc=Тази секция осигурява администр
 Purge=Разчистване
 PurgeAreaDesc=Тази страница ви позволява да изтриете всички файлове, генерирани или съхранени от Dolibarr (временни файлове или всички файлове в директорията <b>%s</b>). Използването на тази функция обикновено не е необходимо. Той се предоставя като решение за потребители, чиито Dolibarr се хоства от доставчик, който не предлага разрешения за изтриване на файлове, генерирани от уеб сървъра.
 PurgeDeleteLogFile=Изтриване на лог файлове, включително <b>%s</b> генериран от Debug Logs модула (няма риск от загуба на данни)
-PurgeDeleteTemporaryFiles=Изтриване на всички временни файлове (няма риск от загуба на данни). Забележка: Изтриването се извършва, само ако директорията temp е създадена преди 24 часа.
-PurgeDeleteTemporaryFilesShort=Изтриване на временни файлове
+PurgeDeleteTemporaryFiles=Delete all log and temporary files (no risk of losing data). Note: Deletion of temporary files is done only if the temp directory was created more than 24 hours ago.
+PurgeDeleteTemporaryFilesShort=Delete log and temporary files
 PurgeDeleteAllFilesInDocumentsDir=Изтриване на  всички файлове в директорията: <b>%s</b>.<br>Това ще изтрие всички генерирани документи, свързани с елементи (контрагенти, фактури и т.н.), файлове, качени чрез ECM модула, архиви на базата данни и временни файлове.
 PurgeRunNow=Разчисти сега
 PurgeNothingToDelete=Няма директория или файлове за изтриване.
@@ -256,6 +257,7 @@ ReferencedPreferredPartners=Предпочитани партньори
 OtherResources=Други ресурси
 ExternalResources=Външни ресурси
 SocialNetworks=Социални мрежи
+SocialNetworkId=Social Network ID
 ForDocumentationSeeWiki=За потребителска документация и такава за разработчици (документи, често задавани въпроси,...), <br> погледнете в Dolibarr Wiki: <br> <b><a href="%s" target="_blank">%s</a></b>
 ForAnswersSeeForum=За всякакви други въпроси / помощ може да използвате Dolibarr форума: <br> <b><a href="%s" target="_blank">%s</a></b>
 HelpCenterDesc1=Ресурси за получаване на помощ и поддръжка относно Dolibarr
@@ -375,7 +377,7 @@ ExamplesWithCurrentSetup=Примери с текуща конфигурация
 ListOfDirectories=Списък на директории с OpenDocument шаблони
 ListOfDirectoriesForModelGenODT=Списък на директории, съдържащи файлове с шаблони във формат OpenDocument. <br><br> Попълнете тук пълния път на директориите. <br> Добавете нов ред за всяка директория. <br> За да включите директория на GED модула, добавете тук <b>DOL_DATA_ROOT/ecm/yourdirectoryname</b>.<br><br> Файловете в тези директории трябва да завършват на <b>.odt</b> или <b>.ods</b>.
 NumberOfModelFilesFound=Брой файлове с шаблони за ODT/ODS, намерени в тези директории
-ExampleOfDirectoriesForModelGen=Примери за синтаксис: <br> C:\\mydir<br>/home/mydir<br>DOL_DATA_ROOT/ecm/ecmdir
+ExampleOfDirectoriesForModelGen=Examples of syntax:<br>c:\\myapp\\mydocumentdir\\mysubdir<br>/home/myapp/mydocumentdir/mysubdir<br>DOL_DATA_ROOT/ecm/ecmdir
 FollowingSubstitutionKeysCanBeUsed=<br>За да узнаете как да създадете вашите ODT шаблони за документи преди да ги съхраните в тези директории прочетете Wiki документацията:
 FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template
 FirstnameNamePosition=Позиция на име / фамилия
@@ -406,7 +408,7 @@ UrlGenerationParameters=Параметри за защитени URL адрес
 SecurityTokenIsUnique=Използвайте уникален параметър за защитен ключ за всеки URL адрес
 EnterRefToBuildUrl=Въведете референция за обект %s
 GetSecuredUrl=Получете изчисления URL адрес
-ButtonHideUnauthorized=Скриване на бутоните за потребители, които не са администратори, вместо показване на сиви бутони.
+ButtonHideUnauthorized=Hide unauthorized action buttons also for internal users (just greyed otherwise)
 OldVATRates=Първоначална ставка на ДДС
 NewVATRates=Нова ставка на ДДС
 PriceBaseTypeToChange=Променяне на цените с базова референтна стойност, определена на
@@ -1689,7 +1691,7 @@ NotTopTreeMenuPersonalized=Персонализирани менюта, коит
 NewMenu=Ново меню
 MenuHandler=Манипулатор на меню
 MenuModule=Модул източник
-HideUnauthorizedMenu= Скриване на неоторизирани (сиви) менюта
+HideUnauthorizedMenu=Hide unauthorized menus also for internal users (just greyed otherwise)
 DetailId=Идентификатор на меню
 DetailMenuHandler=Манипулатор на меню, в който да се покаже новото меню
 DetailMenuModule=Име на модула, ако входните данни на менюто идват от модул
@@ -1983,11 +1985,12 @@ EMailHost=Адрес на IMAP сървър
 MailboxSourceDirectory=Директория / Източник в пощенската кутия
 MailboxTargetDirectory=Директория / Цел в пощенската кутия
 EmailcollectorOperations=Операции за извършване от колекционера
+EmailcollectorOperationsDesc=Operations are executed from top to bottom order
 MaxEmailCollectPerCollect=Максимален брой събрани имейли при колекциониране
 CollectNow=Колекциониране
 ConfirmCloneEmailCollector=Сигурни ли сте, че искате да клонирате имейл колектора %s?
-DateLastCollectResult=Дата на последен опит за колекциониране
-DateLastcollectResultOk=Дата на последно успешно колекциониране
+DateLastCollectResult=Date of latest collect try
+DateLastcollectResultOk=Date of latest collect success
 LastResult=Последен резултат
 EmailCollectorConfirmCollectTitle=Потвърждение за колекциониране на имейли
 EmailCollectorConfirmCollect=Искате ли да стартирате колекционирането на този колекционер?
@@ -2005,7 +2008,7 @@ WithDolTrackingID=Message from a conversation initiated by a first email sent fr
 WithoutDolTrackingID=Message from a conversation initiated by a first email NOT sent from Dolibarr
 WithDolTrackingIDInMsgId=Message sent from Dolibarr
 WithoutDolTrackingIDInMsgId=Message NOT sent from Dolibarr
-CreateCandidature=Create candidature
+CreateCandidature=Create job application
 FormatZip=Zip
 MainMenuCode=Код на меню (главно меню)
 ECMAutoTree=Показване на автоматично ECM дърво
@@ -2083,3 +2086,7 @@ CountryIfSpecificToOneCountry=Country (if specific to a given country)
 YouMayFindSecurityAdviceHere=You may find security advisory here
 ModuleActivatedMayExposeInformation=This module may expose sensitive data. If you don't need it, disable it.
 ModuleActivatedDoNotUseInProduction=A module designed for the development has been enabled. Do not enable it on a production environment.
+CombinationsSeparator=Separator character for product combinations
+SeeLinkToOnlineDocumentation=See link to online documention on top menu for examples
+SHOW_SUBPRODUCT_REF_IN_PDF=If the feature "%s" of module <b>%s</b> is used, show details of subproducts of a kit on PDF.
+AskThisIDToYourBank=Contact your bank to get this ID

+ 2 - 2
htdocs/langs/bg_BG/banks.lang

@@ -173,8 +173,8 @@ SEPAMandate=SEPA нареждане
 YourSEPAMandate=Вашите SEPA нареждания
 FindYourSEPAMandate=Това е вашето SEPA нареждане, с което да упълномощите нашата фирма да направи поръчка за директен дебит към вашата банка. Върнете го подписано (сканиран подписан документ) или го изпратете по пощата на
 AutoReportLastAccountStatement=Автоматично попълване на полето „номер на банково извлечение“ с последния номер на извлечение, когато правите съгласуване.
-CashControl=Лимит за плащане в брой на ПОС
-NewCashFence=Нов лимит за плащане в брой
+CashControl=POS cash desk control
+NewCashFence=New cash desk closing
 BankColorizeMovement=Оцветяване на движения
 BankColorizeMovementDesc=Ако тази функция е активирана може да изберете конкретен цвят на фона за дебитни или кредитни движения
 BankColorizeMovementName1=Цвят на фона за дебитно движение

+ 1 - 1
htdocs/langs/bg_BG/blockedlog.lang

@@ -35,7 +35,7 @@ logDON_DELETE=Дарението е логически изтрито
 logMEMBER_SUBSCRIPTION_CREATE=Членският внос е създаден
 logMEMBER_SUBSCRIPTION_MODIFY=Членският внос е променен
 logMEMBER_SUBSCRIPTION_DELETE=Членският внос е логически изтрит
-logCASHCONTROL_VALIDATE=Регистриране на финансово престъпление
+logCASHCONTROL_VALIDATE=Cash desk closing recording
 BlockedLogBillDownload=Изтегляне на фактура за продажба
 BlockedLogBillPreview=Преглед на фактура за продажба
 BlockedlogInfoDialog=Подробности в регистъра

+ 5 - 0
htdocs/langs/bg_BG/boxes.lang

@@ -46,9 +46,12 @@ BoxTitleLastModifiedDonations=Дарения: %s последно промене
 BoxTitleLastModifiedExpenses=Разходни отчети: %s последно променени
 BoxTitleLatestModifiedBoms=Спецификации: %s последно променени
 BoxTitleLatestModifiedMos=Поръчки за производство: %s последно променени
+BoxTitleLastOutstandingBillReached=Customers with maximum outstanding exceeded
 BoxGlobalActivity=Глобална дейност (фактури, предложения, поръчки)
 BoxGoodCustomers=Добри клиенти
 BoxTitleGoodCustomers=%s Добри клиенти
+BoxScheduledJobs=Планирани задачи
+BoxTitleFunnelOfProspection=Lead funnel
 FailedToRefreshDataInfoNotUpToDate=Неуспешно опресняване на RSS поток. Последното успешно опресняване е на дата: %s
 LastRefreshDate=Последна дата на опресняване
 NoRecordedBookmarks=Не са дефинирани отметки.
@@ -102,5 +105,7 @@ SuspenseAccountNotDefined=Не е дефинирана временна смет
 BoxLastCustomerShipments=Последни пратки към клиенти
 BoxTitleLastCustomerShipments=Пратки: %s последни към клиенти
 NoRecordedShipments=Няма регистрирани пратки към клиенти
+BoxCustomersOutstandingBillReached=Customers with oustanding limit reached
 # Pages
 AccountancyHome=Счетоводство
+ValidatedProjects=Validated projects

+ 6 - 4
htdocs/langs/bg_BG/cashdesk.lang

@@ -49,8 +49,8 @@ Footer=Футър
 AmountAtEndOfPeriod=Сума в края на периода (ден, месец или година)
 TheoricalAmount=Теоретична сума
 RealAmount=Реална сума
-CashFence=Cash fence
-CashFenceDone=Парична граница за периода
+CashFence=Cash desk closing
+CashFenceDone=Cash desk closing done for the period
 NbOfInvoices=Брой фактури
 Paymentnumpad=Тип Pad за въвеждане на плащане
 Numberspad=Числов Pad
@@ -99,8 +99,9 @@ CashDeskRefNumberingModules=Numbering module for POS sales
 CashDeskGenericMaskCodes6 = <br><b>{TN}</b> тагът се използва за добавяне на номера на терминала
 TakeposGroupSameProduct=Групиране на едни и същи продукти
 StartAParallelSale=Стартиране на нова паралелна продажба
-ControlCashOpening=Control cash box at opening POS
-CloseCashFence=Close cash fence
+SaleStartedAt=Sale started at %s
+ControlCashOpening=Control cash popup at opening POS
+CloseCashFence=Close cash desk control
 CashReport=Паричен отчет
 MainPrinterToUse=Main printer to use
 OrderPrinterToUse=Order printer to use
@@ -122,3 +123,4 @@ GiftReceipt=Gift receipt
 ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled first
 AllowDelayedPayment=Allow delayed payment
 PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts
+WeighingScale=Weighing scale

+ 12 - 5
htdocs/langs/bg_BG/categories.lang

@@ -19,6 +19,7 @@ ProjectsCategoriesArea=Секция с тагове / категории за п
 UsersCategoriesArea=Секция с тагове / категории за потребители
 SubCats=Подкатегории
 CatList=Списък с тагове / категории
+CatListAll=List of tags/categories (all types)
 NewCategory=Нов таг / категория
 ModifCat=Променяне на таг / категория
 CatCreated=Създаден е таг / категория
@@ -65,16 +66,22 @@ UsersCategoriesShort=Категории потребители
 StockCategoriesShort=Тагове / Категории
 ThisCategoryHasNoItems=Тази категория не съдържа никакви елементи
 CategId=Идентификатор на таг / категория
-CatSupList=Списък на тагове / категории за доставчици
-CatCusList=Списък на тагове / категории за клиенти / потенциални клиенти
+ParentCategory=Parent tag/category
+ParentCategoryLabel=Label of parent tag/category
+CatSupList=List of vendors tags/categories
+CatCusList=List of customers/prospects tags/categories
 CatProdList=Списък на тагове / категории за продукти
 CatMemberList=Списък на тагове / категории за членове
-CatContactList=Списък на тагове / категории за контакти
-CatSupLinks=Връзки между доставчици и тагове / категории
+CatContactList=List of contacts tags/categories
+CatProjectsList=List of projects tags/categories
+CatUsersList=List of users tags/categories
+CatSupLinks=Links between vendors and tags/categories
 CatCusLinks=Връзки между клиенти / потенциални клиенти и тагове / категории
 CatContactsLinks=Връзки между контакти / адреси и тагове / категории
 CatProdLinks=Връзки между продукти / услуги и тагове / категории
-CatProJectLinks=Връзки между проекти и тагове / категории
+CatMembersLinks=Връзки между членове и етикети/категории
+CatProjectsLinks=Връзки между проекти и тагове / категории
+CatUsersLinks=Links between users and tags/categories
 DeleteFromCat=Изтриване от таг / категория
 ExtraFieldsCategories=Допълнителни атрибути
 CategoriesSetup=Настройка на тагове / категории

+ 1 - 1
htdocs/langs/bg_BG/companies.lang

@@ -358,7 +358,7 @@ VATIntraCheckableOnEUSite=Проверяване на вътрешно-общн
 VATIntraManualCheck=Може да проверите също така ръчно в интернет страницата на Европейската Комисия: <a href="%s" target="_blank"> %s </a>
 ErrorVATCheckMS_UNAVAILABLE=Проверка не е възможна. Услугата за проверка не се предоставя от държавата-членка (%s).
 NorProspectNorCustomer=Нито потенциален клиент, нито клиент
-JuridicalStatus=Правна форма
+JuridicalStatus=Business entity type
 Workforce=Workforce
 Staff=Служители
 ProspectLevelShort=Потенциал

+ 8 - 5
htdocs/langs/bg_BG/compta.lang

@@ -111,7 +111,7 @@ Refund=Възстановяване
 SocialContributionsPayments=Плащания на социални / фискални данъци
 ShowVatPayment=Показване на плащане на ДДС
 TotalToPay=Общо за плащане
-BalanceVisibilityDependsOnSortAndFilters=Балансът е видим в този списък само ако таблицата е сортирана възходящо на %s и филтрирана за 1 банкова сметка
+BalanceVisibilityDependsOnSortAndFilters=Balance is visible in this list only if table is sorted on %s and filtered on 1 bank account (with no other filters)
 CustomerAccountancyCode=Счетоводен код на клиент
 SupplierAccountancyCode=Счетоводен код на доставчик
 CustomerAccountancyCodeShort=Счет. код на клиент
@@ -140,7 +140,7 @@ ConfirmDeleteSocialContribution=Сигурни ли сте, че искате д
 ExportDataset_tax_1=Социални / фискални данъци и плащания
 CalcModeVATDebt=Режим <b>%sДДС върху осчетоводени задължения%s</b>
 CalcModeVATEngagement=Режим <b>%sДДС върху приходи - разходи%s</b>
-CalcModeDebt=Анализ на регистрирани фактури, включително на неосчетоводени в книгата
+CalcModeDebt=Analysis of known recorded documents even if they are not yet accounted in ledger.
 CalcModeEngagement=Анализ на регистрирани плащания, включително на неосчетоводени в книгата
 CalcModeBookkeeping=Анализ на данни, регистрирани в таблицата на счетоводната книга.
 CalcModeLT1= Режим <b>%sRE върху фактури за продажба - фактури за доставка%s</b>
@@ -154,9 +154,9 @@ AnnualSummaryInputOutputMode=Баланс на приходи и разходи,
 AnnualByCompanies=Баланс на приходи и разходи, по предварително определени групи сметки
 AnnualByCompaniesDueDebtMode=Баланс на приходи и разходи, по предварително определени групи, режим <b>%sВземания - Дългове%s</b> или казано още <b>Осчетоводяване на вземания</b>.
 AnnualByCompaniesInputOutputMode=Баланс на приходи и разходи, по предварително определени групи, режим <b>%sПриходи - Разходи%s</b> или казано още <b>Касова отчетност</b>.
-SeeReportInInputOutputMode=Вижте %sанализа на плащанията%s за изчисляване на действителните плащания, дори и ако те все още не са осчетоводени в книгата.
-SeeReportInDueDebtMode=Вижте %sанализа на фактурите%s за изчисляване, който е базиран на регистираните фактури, дори и ако те все още не са осчетоводени в книгата.
-SeeReportInBookkeepingMode=Вижте <b>%sСчетоводния доклад%s</b> за изчисляване на <b>таблицата в счетоводната книга</b>
+SeeReportInInputOutputMode=See <b>%sanalysis of payments%s</b> for a calculation based on <b>recorded payments</b> made even if they are not yet accounted in Ledger
+SeeReportInDueDebtMode=See <b>%sanalysis of recorded documents%s</b> for a calculation based on known <b>recorded documents</b> even if they are not yet accounted in Ledger
+SeeReportInBookkeepingMode=See <b>%sanalysis of bookeeping ledger table%s</b> for a report based on <b>Bookkeeping Ledger table</b>
 RulesAmountWithTaxIncluded=- Посочените суми са с включени всички данъци
 RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.<br>- It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used.
 RulesResultInOut=- Включва реални плащания по фактури, разходи, ДДС и заплати<br>- Основава се на дата на плащане на фактури, разходи, ДДС и заплати. Дата на дарение за дарения.
@@ -169,12 +169,15 @@ RulesResultBookkeepingPersonalized=Показва запис във вашата
 SeePageForSetup=Вижте менюто <a href="%s">%s</a> за настройка
 DepositsAreNotIncluded=- Не включва фактури за авансови плащания
 DepositsAreIncluded=- Включва фактури за авансови плащания
+LT1ReportByMonth=Tax 2 report by month
+LT2ReportByMonth=Tax 3 report by month
 LT1ReportByCustomers=Справка за данък 2 по контрагент
 LT2ReportByCustomers=Справка за данък 3 по контрагент
 LT1ReportByCustomersES=Справка за RE по контрагент
 LT2ReportByCustomersES=Справка за IRPF по контрагент
 VATReport=Справка за данък върху продажби
 VATReportByPeriods=Справка за данък върху продажби по периоди
+VATReportByMonth=Sale tax report by month
 VATReportByRates=Справка за данък върху продажби по ставки
 VATReportByThirdParties=Справка за данък върху продажби по контрагенти
 VATReportByCustomers=Справка за данък върху продажби по клиенти

+ 10 - 3
htdocs/langs/bg_BG/cron.lang

@@ -7,13 +7,14 @@ Permission23103 = Изтриване на планирани задачи
 Permission23104 = Стартиране на планирани задачи
 # Admin
 CronSetup=Настройки за управление на планирани задачи
-URLToLaunchCronJobs=URL адрес за проверка и стартиране на определени cron задачи
-OrToLaunchASpecificJob=Или за проверка и зареждане на специфична задача
+URLToLaunchCronJobs=URL to check and launch qualified cron jobs from a browser
+OrToLaunchASpecificJob=Or to check and launch a specific job from a browser
 KeyForCronAccess=Защитен ключ на URL за зареждане на cron задачи
 FileToLaunchCronJobs=Команден ред за проверка и стартиране на определени cron задачи
 CronExplainHowToRunUnix=В Unix среда би трябвало да използвате следния crontab ред за изпълнение на командния ред на всеки 5 минути
 CronExplainHowToRunWin=В среда на Microsoft (tm) Windows можете да използвате инструментите за планирани задачи, за да стартирате командния ред на всеки 5 минути
 CronMethodDoesNotExists=Класът %s не съдържа метод %s
+CronMethodNotAllowed=Method %s of class %s is in blacklist of forbidden methods
 CronJobDefDesc=Профилите на Cron задачите се дефинират в дескрипторния файл на модула. Когато модулът е активиран, те са заредени и достъпни, така че можете да администрирате задачите от менюто за администриране %s.
 CronJobProfiles=Списък на предварително определени профили на cron задачи
 # Menu
@@ -46,6 +47,7 @@ CronNbRun=Брой стартирания
 CronMaxRun=Максимален брой стартирания
 CronEach=Всеки
 JobFinished=Задачи заредени и приключили
+Scheduled=Scheduled
 #Page card
 CronAdd= Добавяне на задачи
 CronEvery=Изпълни задачата всеки
@@ -56,7 +58,7 @@ CronNote=Коментар
 CronFieldMandatory=Полета %s са задължителни
 CronErrEndDateStartDt=Крайната дата не може да бъде преди началната дата
 StatusAtInstall=Състояние при инсталиране на модула
-CronStatusActiveBtn=Активиране
+CronStatusActiveBtn=Schedule
 CronStatusInactiveBtn=Деактивиране
 CronTaskInactive=Тази задача е деактивирана
 CronId=Идентификатор
@@ -82,3 +84,8 @@ MakeLocalDatabaseDumpShort=Архивиране на локална база д
 MakeLocalDatabaseDump=Създаване на локална база данни. Параметрите са: компресия ('gz' or 'bz' or 'none'), вид архивиране ('mysql', 'pgsql', 'auto'), 1, 'auto' или име на файла за съхранение, брой резервни файлове, които да се запазят
 WarningCronDelayed=Внимание, за целите на изпълнението, каквато и да е следващата дата на изпълнение на активирани задачи, вашите задачи могат да бъдат забавени до максимум %s часа, преди да бъдат стартирани.
 DATAPOLICYJob=Почистване на данни и анонимност
+JobXMustBeEnabled=Job %s must be enabled
+# Cron Boxes
+LastExecutedScheduledJob=Last executed scheduled job
+NextScheduledJobExecute=Next scheduled job to execute
+NumberScheduledJobError=Number of scheduled jobs in error

+ 20 - 3
htdocs/langs/bg_BG/errors.lang

@@ -5,8 +5,10 @@ NoErrorCommitIsDone=Няма грешка, но се ангажираме.
 # Errors
 ErrorButCommitIsDone=Намерени са грешки, но ние валидираме въпреки това.
 ErrorBadEMail=Имейл %s е грешен
+ErrorBadMXDomain=Email %s seems wrong (domain has no valid MX record)
 ErrorBadUrl=URL адрес %s е грешен
 ErrorBadValueForParamNotAString=Неправилна стойност за вашия параметър. Обикновено се добавя, когато преводът липсва.
+ErrorRefAlreadyExists=Reference <b>%s</b> already exists.
 ErrorLoginAlreadyExists=Потребител %s вече съществува.
 ErrorGroupAlreadyExists=Група %s вече съществува.
 ErrorRecordNotFound=Записът не е намерен.
@@ -48,6 +50,7 @@ ErrorFieldsRequired=Някои задължителни полета не са 
 ErrorSubjectIsRequired=Необходима е тема на имейл
 ErrorFailedToCreateDir=Неуспешно създаване на директория. Уверете се, че уеб сървър потребител има разрешение да пишат в Dolibarr документи. Ако параметър <b>safe_mode</b> е разрешен в тази PHP, проверете дали Dolibarr PHP файлове притежава за потребителя на уеб сървъра (или група).
 ErrorNoMailDefinedForThisUser=Няма дефиниран имейл за този потребител
+ErrorSetupOfEmailsNotComplete=Setup of emails is not complete
 ErrorFeatureNeedJavascript=Тази функция трябва ДжаваСкрипт да се активира, за да работят. Променете тази настройка - дисплей.
 ErrorTopMenuMustHaveAParentWithId0=Меню от тип 'Горно' не може да има главно меню. Поставете 0 за главно меню или изберете меню от тип 'Ляво'.
 ErrorLeftMenuMustHaveAParentId=Менюто на &quot;левицата&quot; тип трябва да имат родителски идентификатор.
@@ -75,7 +78,7 @@ ErrorExportDuplicateProfil=Това име на профил вече същес
 ErrorLDAPSetupNotComplete=Dolibarr LDAP съвпадение не е пълна.
 ErrorLDAPMakeManualTest=. LDIF файл е генериран в директорията %s. Опитайте се да го заредите ръчно от командния ред, за да има повече информация за грешките,.
 ErrorCantSaveADoneUserWithZeroPercentage=Не може да се съхрани действие със „състояние не е стартирано“, ако е попълнено и поле „извършено от“.
-ErrorRefAlreadyExists=Ref използван за създаване вече съществува.
+ErrorRefAlreadyExists=Reference <b>%s</b> already exists.
 ErrorPleaseTypeBankTransactionReportName=Моля, въведете името на банковото извлечение, където трябва да се докладва вписването (формат YYYYMM или YYYYMMDD)
 ErrorRecordHasChildren=Изтриването на записа не бе успешно, тъй като има някои наследени записи.
 ErrorRecordHasAtLeastOneChildOfType=Обектът има поне един наследен обект от тип %s
@@ -216,7 +219,7 @@ ErrorChooseBetweenFreeEntryOrPredefinedProduct=Трябва да изберет
 ErrorDiscountLargerThanRemainToPaySplitItBefore=Отстъпката, която се опитвате да приложите, е по-голяма, отколкото оставащото за плащане. Разделете отстъпката преди това в 2 по-малки отстъпки.
 ErrorFileNotFoundWithSharedLink=Файлът не бе намерен. Може да е променен ключът за споделяне или файлът е премахнат наскоро.
 ErrorProductBarCodeAlreadyExists=Продуктовият баркод %s вече съществува за друга продуктова референция.
-ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Обърнете внимание също така, че използването на виртуален продукт за автоматично увеличаване/намаляване на подпродукти не е възможно, когато поне един подпродукт (или подпродукт на подпродукти) се нуждае от партиден/сериен номер.
+ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Note also that using kits to have auto increase/decrease of subproducts is not possible when at least one subproduct (or subproduct of subproducts) needs a serial/lot number.
 ErrorDescRequiredForFreeProductLines=Описанието е задължително за редове със свободни продукти
 ErrorAPageWithThisNameOrAliasAlreadyExists=Страницата/контейнера <strong>%s</strong> има същото име или алтернативен псевдоним, който се опитвате да използвате
 ErrorDuringChartLoad=Грешка при зареждане на диаграмата на сметките. Ако някои сметки не са заредени, може да ги въведете ръчно.
@@ -243,6 +246,16 @@ ErrorReplaceStringEmpty=Error, the string to replace into is empty
 ErrorProductNeedBatchNumber=Error, product '<b>%s</b>' need a lot/serial number
 ErrorProductDoesNotNeedBatchNumber=Error, product '<b>%s</b>' does not accept a lot/serial number
 ErrorFailedToReadObject=Error, failed to read object of type <b>%s</b>
+ErrorParameterMustBeEnabledToAllwoThisFeature=Error, parameter <b>%s</b> must be enabled into <b>conf/conf.php<b> to allow use of Command Line Interface by the internal job scheduler
+ErrorLoginDateValidity=Error, this login is outside the validity date range
+ErrorValueLength=Length of field '<b>%s</b>' must be higher than '<b>%s</b>'
+ErrorReservedKeyword=The word '<b>%s</b>' is a reserved keyword
+ErrorNotAvailableWithThisDistribution=Not available with this distribution
+ErrorPublicInterfaceNotEnabled=Публичният интерфейс не е активиран
+ErrorLanguageRequiredIfPageIsTranslationOfAnother=The language of new page must be defined if it is set as a translation of another page
+ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=The language of new page must not be the source language if it is set as a translation of another page
+ErrorAParameterIsRequiredForThisOperation=A parameter is mandatory for this operation
+
 # Warnings
 WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Вашата стойност на PHP параметър upload_max_filesize (%s) е по-голяма от стойността на PHP параметър post_max_size (%s). Това не е последователна настройка.
 WarningPasswordSetWithNoAccount=За този член бе зададена парола. Въпреки това, не е създаден потребителски акаунт. Така че тази парола е съхранена, но не може да се използва за влизане в Dolibarr. Може да се използва от външен модул/интерфейс, но ако не е необходимо да дефинирате потребителско име или парола за член може да деактивирате опцията "Управление на вход за всеки член" от настройката на модула Членове. Ако трябва да управлявате вход, но не се нуждаете от парола, можете да запазите това поле празно, за да избегнете това предупреждение. Забележка: Имейлът може да се използва и като вход, ако членът е свързан с потребител.
@@ -267,6 +280,10 @@ WarningYourLoginWasModifiedPleaseLogin=Входните ви данни са п
 WarningAnEntryAlreadyExistForTransKey=Вече съществува запис за ключа за превод за този език
 WarningNumberOfRecipientIsRestrictedInMassAction=Внимание, броят на различните получатели е ограничен до <b>%s</b>, когато се използват масови действия в списъците
 WarningDateOfLineMustBeInExpenseReportRange=Внимание, датата на реда не е в обхвата на разходния отчет
+WarningProjectDraft=Project is still in draft mode. Don't forget to validate it if you plan to use tasks.
 WarningProjectClosed=Проектът е приключен. Трябва първо да го активирате отново.
 WarningSomeBankTransactionByChequeWereRemovedAfter=Някои банкови транзакции бяха премахнати, след което бе генерирана разписка, в която са включени. Броят на чековете и общата сума на разписката може да се различават от броя и общата сума в списъка.
-WarningFailedToAddFileIntoDatabaseIndex=Warnin, failed to add file entry into ECM database index table
+WarningFailedToAddFileIntoDatabaseIndex=Warning, failed to add file entry into ECM database index table
+WarningTheHiddenOptionIsOn=Warning, the hidden option <b>%s</b> is on.
+WarningCreateSubAccounts=Warning, you can't create directly a sub account, you must create a third party or an user and assign them an accounting code to find them in this list
+WarningAvailableOnlyForHTTPSServers=Available only if using HTTPS secured connection.

+ 1 - 0
htdocs/langs/bg_BG/exports.lang

@@ -133,3 +133,4 @@ KeysToUseForUpdates=Ключ (колона), който да се използв
 NbInsert=Брой вмъкнати редове: %s
 NbUpdate=Брой актуализирани редове: %s
 MultipleRecordFoundWithTheseFilters=Намерени са няколко записа с тези филтри: %s
+StocksWithBatch=Stocks and location (warehouse) of products with batch/serial number

+ 14 - 11
htdocs/langs/bg_BG/mails.lang

@@ -92,6 +92,7 @@ MailingModuleDescEmailsFromUser=Имейли, въведени от потреб
 MailingModuleDescDolibarrUsers=Потребители с имейли
 MailingModuleDescThirdPartiesByCategories=Контрагенти (с категории)
 SendingFromWebInterfaceIsNotAllowed=Изпращането от уеб интерфейса не е позволено.
+EmailCollectorFilterDesc=All filters must match to have an email being collected
 
 # Libelle des modules de liste de destinataires mailing
 LineInFile=Ред %s във файл
@@ -125,12 +126,13 @@ TagMailtoEmail=Емейл на получателя (включително HTML
 NoEmailSentBadSenderOrRecipientEmail=Няма изпратени имейли. Неправилен имейл на подателя или получателя. Проверете потребителския профил.
 # Module Notifications
 Notifications=Известия
-NoNotificationsWillBeSent=За това събитие и този контрагент не са планирани известия по имейл
-ANotificationsWillBeSent=1 известие ще бъде изпратено по имейл
-SomeNotificationsWillBeSent=%s известия ще бъдат изпратени по имейл
-AddNewNotification=Активиране на ново имейл известяване за цел / събитие
-ListOfActiveNotifications=Списък на всички активни имейл известия за цели/събития
-ListOfNotificationsDone=Списък на всички изпратени имейл известия
+NotificationsAuto=Notifications Auto.
+NoNotificationsWillBeSent=No automatic email notifications are planned for this event type and company
+ANotificationsWillBeSent=1 automatic notification will be sent by email
+SomeNotificationsWillBeSent=%s automatic notifications will be sent by email
+AddNewNotification=Subscribe to a new automatic email notification (target/event)
+ListOfActiveNotifications=List all active subscriptions (targets/events) for automatic email notification
+ListOfNotificationsDone=List all automatic email notifications sent
 MailSendSetupIs=Конфигурацията за изпращане на имейл е настроена на '%s'. Този режим не може да се използва за изпращане на масови имейли.
 MailSendSetupIs2=Трябва първо да отидете с администраторски акаунт в меню %sНачало - Настройка - Имейли%s и да промените параметър <strong>'%s'</strong>, за да използвате режим '%s'. С този режим може да въведете настройки за SMTP сървъра, предоставен от вашия доставчик на интернет услуги и да използвате функцията за изпращане на масови имейли.
 MailSendSetupIs3=Ако имате някакви въпроси как да настроите вашия SMTP сървър, може да се обърнете към %s.
@@ -140,7 +142,7 @@ UseFormatFileEmailToTarget=Импортираният файл трябва да
 UseFormatInputEmailToTarget=Въведете низ с формат <strong>имейл;фамилия;име;друго</strong>
 MailAdvTargetRecipients=Получатели (разширен избор)
 AdvTgtTitle=Попълнете полетата за въвеждане, за да посочите предварително избраните контрагенти или контакти/адреси
-AdvTgtSearchTextHelp=Използвайте %% като заместващи символи. Например, за да намерите всички елементи като <b>jean, joe, jim</b>, може да въведете <b>j%%</b> или да използвате ; като разделител за стойност, а ! за изключване на стойност. Например <b>jean;joe;jim%%;!jimo;!jima%</b> ще се цели всички jean, joe, започващи с jim, но не с jimo и всичко останало, което започва с jima
+AdvTgtSearchTextHelp=Use %% as wildcards. For example to find all item like <b>jean, joe, jim</b>, you can input <b>j%%</b>, you can also use ; as separator for value, and use ! for except this value. For example  <b>jean;joe;jim%%;!jimo;!jima%%</b> will target all jean, joe, start with jim but not jimo and not everything that starts with jima
 AdvTgtSearchIntHelp=Използвайте интервал, за да изберете целочислена или десетична стойност
 AdvTgtMinVal=Минимална стойност
 AdvTgtMaxVal=Максимална стойност
@@ -162,13 +164,14 @@ AdvTgtCreateFilter=Създаване на филтър
 AdvTgtOrCreateNewFilter=Име на новия филтър
 NoContactWithCategoryFound=Няма намерен контакт/адрес с тази категория
 NoContactLinkedToThirdpartieWithCategoryFound=Няма намерен контакт/адрес с тази категория
-OutGoingEmailSetup=Настройка на изходяща електронна поща
-InGoingEmailSetup=Настройка на входящата поща
-OutGoingEmailSetupForEmailing=Настройка на изходяща електронна поща (за модул %s)
-DefaultOutgoingEmailSetup=Настройка на изходящата поща по подразбиране
+OutGoingEmailSetup=Outgoing emails
+InGoingEmailSetup=Incoming emails
+OutGoingEmailSetupForEmailing=Outgoing emails (for module %s)
+DefaultOutgoingEmailSetup=Same configuration than the global Outgoing email setup
 Information=Информация
 ContactsWithThirdpartyFilter=Контакти с филтър за контрагент
 Unanswered=Unanswered
 Answered=Отговорен
 IsNotAnAnswer=Is not answer (initial email)
 IsAnAnswer=Is an answer of an initial email
+RecordCreatedByEmailCollector=Record created by the Email Collector %s from email %s

+ 11 - 1
htdocs/langs/bg_BG/main.lang

@@ -28,7 +28,9 @@ NoTemplateDefined=Няма наличен шаблон за този тип им
 AvailableVariables=Налични променливи за заместване
 NoTranslation=Няма превод
 Translation=Превод
+CurrentTimeZone=Времева зона на PHP (сървър)
 EmptySearchString=Въведете критерии за търсене
+EnterADateCriteria=Enter a date criteria
 NoRecordFound=Няма намерен запис
 NoRecordDeleted=Няма изтрит запис
 NotEnoughDataYet=Няма достатъчно данни
@@ -85,6 +87,8 @@ FileWasNotUploaded=Избран е файл за прикачване, но вс
 NbOfEntries=Брой вписвания
 GoToWikiHelpPage=Прочетете онлайн помощта (необходим е достъп до интернет)
 GoToHelpPage=Прочетете помощната информация
+DedicatedPageAvailable=There is a dedicated help page related to your current screen
+HomePage=Начална страница
 RecordSaved=Записът е съхранен
 RecordDeleted=Записът е изтрит
 RecordGenerated=Записът е генериран
@@ -433,6 +437,7 @@ RemainToPay=Оставащо за плащане
 Module=Модул / Приложение
 Modules=Модули / Приложения
 Option=Опция
+Filters=Filters
 List=Списък
 FullList=Пълен списък
 FullConversation=Пълен списък със съобщения
@@ -671,7 +676,7 @@ SendMail=Изпращане на имейл
 Email=Имейл
 NoEMail=Няма имейл
 AlreadyRead=Вече е прочетено
-NotRead=Непрочетено
+NotRead=Непрочетен
 NoMobilePhone=Няма мобилен телефон
 Owner=Собственик
 FollowingConstantsWillBeSubstituted=Следните константи ще бъдат заменени със съответната стойност:
@@ -1107,3 +1112,8 @@ UpToDate=Up-to-date
 OutOfDate=Out-of-date
 EventReminder=Event Reminder
 UpdateForAllLines=Update for all lines
+OnHold=На изчакване
+AffectTag=Affect Tag
+ConfirmAffectTag=Bulk Tag Affect
+ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)?
+CategTypeNotFound=No tag type found for type of records

+ 4 - 3
htdocs/langs/bg_BG/modulebuilder.lang

@@ -40,6 +40,7 @@ PageForCreateEditView=PHP страница за създаване / проме
 PageForAgendaTab=PHP страница за раздел със събития
 PageForDocumentTab=PHP страница за раздел с документация
 PageForNoteTab=PHP страница за раздел с бележки
+PageForContactTab=PHP page for contact tab
 PathToModulePackage=Път до zip пакет на модул / приложение
 PathToModuleDocumentation=Път до файл с документация на модул / приложение (%s)
 SpaceOrSpecialCharAreNotAllowed=Интервали или специални символи не са разрешени.
@@ -77,7 +78,7 @@ IsAMeasure=Измерва се
 DirScanned=Сканирани директории
 NoTrigger=Няма тригер
 NoWidget=Няма джаджа
-GoToApiExplorer=Отидете в API Explorer
+GoToApiExplorer=API explorer
 ListOfMenusEntries=Списък на записи в меню
 ListOfDictionariesEntries=Списък на записи в речници
 ListOfPermissionsDefined=Списък на дефинирани права
@@ -105,7 +106,7 @@ TryToUseTheModuleBuilder=Ако имате познания за SQL и PHP мо
 SeeTopRightMenu=Вижте <span class="fa fa-bug"></span> в десния край на горното меню
 AddLanguageFile=Добавяне на езиков файл
 YouCanUseTranslationKey=Може да използвате тук ключ, който е ключ за превод от езиков файл (вижте раздел 'Езици').
-DropTableIfEmpty=(Изтриване на таблица, ако е празна)
+DropTableIfEmpty=(Destroy table if empty)
 TableDoesNotExists=Таблицата %s не съществува
 TableDropped=Таблица %s е изтрита
 InitStructureFromExistingTable=Създаване на низова структура в масив на съществуваща таблица
@@ -126,7 +127,6 @@ UseSpecificEditorURL = Използване на конкретен URL адре
 UseSpecificFamily = Използване на конкретна фамилия
 UseSpecificAuthor = Използване на конкретен автор
 UseSpecificVersion = Използване на конкретна първоначална версия
-ModuleMustBeEnabled=Първо трябва да бъде активиран модулът / приложението
 IncludeRefGeneration=Референцията на обекта трябва да се генерира автоматично
 IncludeRefGenerationHelp=Маркирайте това, ако искате да включите код за управление на автоматичното генериране на референция.
 IncludeDocGeneration=Искам да генерирам някои документи от обекта
@@ -140,3 +140,4 @@ TypeOfFieldsHelp=Тип на полета:<br>varchar(99), double(24,8), real, t
 AsciiToHtmlConverter=Ascii към HTML конвертор
 AsciiToPdfConverter=Ascii към PDF конвертор
 TableNotEmptyDropCanceled=Table not empty. Drop has been canceled.
+ModuleBuilderNotAllowed=The module builder is available but not allowed to your user.

+ 4 - 2
htdocs/langs/bg_BG/other.lang

@@ -5,8 +5,6 @@ Tools=Инструменти
 TMenuTools=Инструменти
 ToolsDesc=Всички инструменти, които не са включени в другите менюта, са групирани тук.<br>Всички инструменти са достъпни, чрез лявото меню.
 Birthday=Рожден ден
-BirthdayDate=Рождена дата
-DateToBirth=Рождена дата
 BirthdayAlertOn=сигнал за рожден ден активен
 BirthdayAlertOff=сигнал за рожден ден неактивен
 TransKey=Превод на ключа TransKey
@@ -16,6 +14,8 @@ PreviousMonthOfInvoice=Предишен месец (число 1-12) от дат
 TextPreviousMonthOfInvoice=Предишен месец (текст) от дата на фактурата
 NextMonthOfInvoice=Следващ месец (число 1-12) от дата на фактурата
 TextNextMonthOfInvoice=Следващ месец (текст) от дата на фактурата
+PreviousMonth=Previous month
+CurrentMonth=Current month
 ZipFileGeneratedInto=Архивния файл е генериран в <b>%s</b>.
 DocFileGeneratedInto=Документа е генериран в <b>%s</b>.
 JumpToLogin=Връзката е прекъсната. Отидете на страницата за въвеждане на входни данни...
@@ -99,6 +99,7 @@ PredefinedMailContentSendShipping=__(Здравейте)__,\n\nМоля, виж
 PredefinedMailContentSendFichInter=__(Здравейте)__,\n\nМоля, вижте приложената интервенция __REF__\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__
 PredefinedMailContentLink=Може да кликнете върху връзката по-долу, за да направите плащане, в случай, че не сте го извършили.\n\n%s\n\n
 PredefinedMailContentGeneric=__(Здравейте)__,\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__
+PredefinedMailContentSendActionComm=Event reminder "__EVENT_LABEL__" on __EVENT_DATE__ at __EVENT_TIME__<br><br>This is an automatic message, please do not reply.
 DemoDesc=Dolibarr е компактна ERP / CRM система, която поддържа различни работни модули. Няма смисъл от демонстрация, показваща всички модули, тъй като такъв сценарий никога не се случва (на разположение са стотици модули). Налични са няколко демо профила.
 ChooseYourDemoProfil=Изберете демо профила, който най-добре отговаря на вашите нужди...
 ChooseYourDemoProfilMore=...или създайте свой собствен профил<br>(свободен избор на модули)
@@ -258,6 +259,7 @@ ContactCreatedByEmailCollector=Контактът / адресът е създа
 ProjectCreatedByEmailCollector=Проектът е създаден, чрез имейл колектор от имейл MSGID %s
 TicketCreatedByEmailCollector=Тикетът е създаден, чрез имейл колектор от имейл MSGID %s
 OpeningHoursFormatDesc=Използвайте средно тире '-' за разделяне на часовете на отваряне и затваряне.<br> Използвайте интервал, за да въведете различни диапазони.<br> Пример: 8-12 14-18
+PrefixSession=Prefix for session ID
 
 ##### Export #####
 ExportsArea=Секция с експортирания

+ 6 - 3
htdocs/langs/bg_BG/products.lang

@@ -108,7 +108,8 @@ FillWithLastServiceDates=Fill with last service line dates
 MultiPricesAbility=Множество ценови сегменти за продукт / услуга (всеки клиент е в един ценови сегмент)
 MultiPricesNumPrices=Брой цени
 DefaultPriceType=Base of prices per default (with versus without tax) when adding new sale prices
-AssociatedProductsAbility=Activate kits (virtual products)
+AssociatedProductsAbility=Enable Kits (set of other products)
+VariantsAbility=Enable Variants (variations of products, for example color, size)
 AssociatedProducts=Kits
 AssociatedProductsNumber=Number of products composing this kit
 ParentProductsNumber=Брой основни опаковащи продукти
@@ -167,8 +168,10 @@ BuyingPrices=Покупни цени
 CustomerPrices=Клиентски цени
 SuppliersPrices=Доставни цени
 SuppliersPricesOfProductsOrServices=Доставни цени (на продукти / услуги)
-CustomCode=Митнически / Стоков / ХС код
+CustomCode=Customs|Commodity|HS code
 CountryOrigin=Държава на произход
+RegionStateOrigin=Region origin
+StateOrigin=State|Province origin
 Nature=Произход на продукта (суровина / произведен)
 NatureOfProductShort=Nature of product
 NatureOfProductDesc=Raw material or finished product
@@ -239,7 +242,7 @@ AlwaysUseFixedPrice=Използване на фиксирана цена
 PriceByQuantity=Различни цени за количество
 DisablePriceByQty=Деактивиране на цени за количество
 PriceByQuantityRange=Количествен диапазон
-MultipriceRules=Правила за ценови сегмент
+MultipriceRules=Automatic prices for segment
 UseMultipriceRules=Използване на правила за ценови сегмент (дефинирани в настройката на модула 'Продукти"), за да се изчисляват автоматично цените за всички други сегменти според първия сегмент
 PercentVariationOver=%% вариация над %s
 PercentDiscountOver=%% отстъпка над %s

+ 1 - 0
htdocs/langs/bg_BG/recruitment.lang

@@ -73,3 +73,4 @@ JobClosedTextCandidateFound=The job position is closed. The position has been fi
 JobClosedTextCanceled=The job position is closed.
 ExtrafieldsJobPosition=Complementary attributes (job positions)
 ExtrafieldsCandidatures=Complementary attributes (job applications)
+MakeOffer=Make an offer

+ 2 - 0
htdocs/langs/bg_BG/sendings.lang

@@ -30,6 +30,7 @@ OtherSendingsForSameOrder=Други пратки за тази поръчка
 SendingsAndReceivingForSameOrder=Пратки и разписки за тази поръчка
 SendingsToValidate=Пратки за валидиране
 StatusSendingCanceled=Анулирана
+StatusSendingCanceledShort=Анулирана
 StatusSendingDraft=Чернова
 StatusSendingValidated=Валидирана (продукти за изпращане или вече изпратени)
 StatusSendingProcessed=Обработена
@@ -65,6 +66,7 @@ ValidateOrderFirstBeforeShipment=Първо трябва да валидират
 # Sending methods
 # ModelDocument
 DocumentModelTyphon=Шаблон на разписка за доставка (лого, ...)
+DocumentModelStorm=More complete document model for delivery receipts and extrafields compatibility (logo...)
 Error_EXPEDITION_ADDON_NUMBER_NotDefined=Константата EXPEDITION_ADDON_NUMBER не е дефинирана
 SumOfProductVolumes=Общ обем на продуктите
 SumOfProductWeights=Общо тегло на продуктите

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác