Merge branch 'develop' into patch-214

This commit is contained in:
Laurent Destailleur 2019-08-15 19:38:05 +02:00 committed by GitHub
commit 317c5576d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
603 changed files with 10416 additions and 3440 deletions

109
ChangeLog
View File

@ -15,8 +15,117 @@ WARNING:
Following changes may create regressions for some external modules, but were necessary to make Dolibarr better: Following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
* Properties ->libelle_incoterms were renamed into ->label_incoterms * Properties ->libelle_incoterms were renamed into ->label_incoterms
* Removed the method liste_array() of project class. It was not used by core code. * Removed the method liste_array() of project class. It was not used by core code.
* The function show_theme() hase been renamed into showSkins()
***** ChangeLog for 10.0.1 compared to 10.0.0 *****
FIX: #10930
FIX: #10984
FIX: reposition on "Build backup" button
FIX: #11400
FIX: #11412
FIX: #11460
FIX: #11463
FIX: #11466
FIX: #11492
FIX: #11498
FIX: #11505
FIX: #11506
FIX: #11507
FIX: #11509
FIX: #11537
FIX: #11543
FIX: #11553
FIX: #11576
FIX: #11584
FIX: #11590
FIX: accounting mode must be taken from global conf, because there's no way to choose a mode with interface
FIX: Add message from public interface
FIX: add missing hook calls
FIX: Add warning when setup is strange
FIX: ajax call for line positioning when CSRFCHECK_WITH_TOKEN is on
FIX: API return 404 sometimes even if API exists
FIX: Attachment was lost when we validate an expense report
FIX: avoid conflict with "$classname" in card.php
FIX: Bad sql request
FIX: better compatibility with multicompany transverse mode
FIX: Better PHP compatibility
FIX: Block to link with tickets
FIX: Can't submit a ticket from public interface
FIX: categories import: prevent mismatch between category type and object type
FIX: Closing ticket from public interface
FIX: Column 'paid' missing in expense report
FIX: compatibility mysql 8. rank is reserved
FIX: Computed field were not calculated into lists.
FIX: Content of email for subscription
FIX: correct error in files with multiple spaces
FIX: CVE-2019-11199
FIX: delete of links between objects
FIX: div not balanced
FIX: do not return formatted prices in json string
FIX: duplicate on the check (TODO field $onetrtd not used ?)
FIX: element name in update_price
FIX: empty product_use_units in product configuration
FIX: expedition card: infinite loop for printObjectLine hook if return > 0
FIX: extrafield loading bug due to assumption that an object is a third party while it may be a contact if MAIN_USE_COMPANY_NAME_OF_CONTACT is set.
FIX: Fatal error on dol_htmloutput_mesg with corrupted array
FIX: Fatal situation if payment removed on expense report. Action
FIX: FEC Format - Missing date_creation in general ledger when you add a new transaction
FIX: FEC Format - Save translation of the journal label in database & nowrap on amount
FIX: floating point precision errors in the triggers of the workflow module
FIX: for #11232
FIX: format of field with type timestamp
FIX: fournrprice log for insert
FIX: help text
FIX: import filter error
FIX: __INFOS__ tag not exists
FIX: issue #9300: install error with PostgreSQL when using custom table prefix
FIX: Language key
FIX: Limit of uploaded files (max_post_size was not used)
FIX: list of balance of leaves
FIX: minor spelling issues
FIX: missing "dropdown-icon" replacement
FIX: Missing field "Conciliated" into bank transaction export
FIX: missing filter by current contact
FIX: missing token
FIX: Missing where on entity
FIX: move sql request in INNER JOIN
FIX: name was able to be in field but went back to new line
FIX: Nowrap on amount
FIX: Online payment
FIX: on shipment delete confirm dialog, a new checkbox allows the user to choose if they want their stock re-incremented after the deletion.
FIX: option EXPORT_LABEL_FOR_SELECT to restore compatibility in export
FIX: Option THIRDPARTY_SUGGEST_ALSO_ADDRESS_CREATION
FIX: outdated phpdoc
FIX: Permission for BOM menu
FIX: permission to delete a draft purchase order
FIX: phpcs
FIX: Position was lost when we edit the line of template invoice
FIX: product_use_units was set to 0 each time a conf in block other was set
FIX: propal createFrom hook: undefined parameter attached
FIX: Responsive of public interface of ticket
FIX: search by phone pro
FIX: Setup of TakePos was not possible after a clean install
FIX: Show list of events on tickets
FIX: socpeople assigned list in action com list
FIX: SQL problem on donation & nowrap on amount
FIX: stock increase on shipment deletion if STOCK_CALCULATE_ON_SHIPMENT_NEW: is set
FIX: stripe webhook ID constant set
FIX: summary of time spent in preview tab of projects
FIX: the feature to bill time spent was not enabled.
FIX: The new feature to attach document on lines was not correclty
FIX: The proposed new supplier code does not work
FIX: this function can not be private
FIX: tk9877 - PDF rouget requires product.lib.php (otherwise measuring_units_string() is not defined)
FIX: Update the file index table when we validate/rename a ref.
FIX: use rounding to compare the amounts
FIX: We must save code instead of value in database for template invoice modelpdf
FIX: we need to be able to add freeline with qty between 0 & 1 in supplierorder line
FIX: We should remove property comments only for project and task api.
FIX: When saving an action it didn't save the label based on the type of event if the label is empty and the type is customized
FIX: when STOCK_CALCULATE_ON_SHIPMENT_NEW: is set, deleting a "closed" shipment now increases stock as expected
FIX: wrong path sociales/index.php doesnt exist anymore
***** ChangeLog for 10.0.0 compared to 9.0.0 ***** ***** ChangeLog for 10.0.0 compared to 9.0.0 *****
For Users: For Users:
NEW: Module "Ticket" is available as a stable module. NEW: Module "Ticket" is available as a stable module.

View File

@ -458,16 +458,6 @@ variables_order = "GPCS"
; with user data. This makes most sense when coupled with track_vars - in which ; with user data. This makes most sense when coupled with track_vars - in which
; case you can access all of the GPC variables through the $HTTP_*_VARS[], ; case you can access all of the GPC variables through the $HTTP_*_VARS[],
; variables. ; variables.
;
; You should do your best to write your scripts so that they do not require
; register_globals to be on; Using form variables as globals can easily lead
; to possible security problems, if the code is not very well thought of.
register_globals = Off
; Whether or not to register the old-style input arrays, HTTP_GET_VARS
; and friends. If you're not using them, it's recommended to turn them off,
; for performance reasons.
register_long_arrays = Off
; This directive tells PHP whether to declare the argv&argc variables (that ; This directive tells PHP whether to declare the argv&argc variables (that
; would contain the GET information). If you don't use these variables, you ; would contain the GET information). If you don't use these variables, you
@ -477,8 +467,7 @@ register_argc_argv = Off
; When enabled, the SERVER and ENV variables are created when they're first ; When enabled, the SERVER and ENV variables are created when they're first
; used (Just In Time) instead of when the script starts. If these variables ; used (Just In Time) instead of when the script starts. If these variables
; are not used within a script, having this directive on will result in a ; are not used within a script, having this directive on will result in a
; performance gain. The PHP directives register_globals, register_long_arrays, ; performance gain.
; and register_argc_argv must be disabled for this directive to have any affect.
auto_globals_jit = On auto_globals_jit = On
; Maximum size of POST data that PHP will accept. ; Maximum size of POST data that PHP will accept.
@ -1101,14 +1090,6 @@ session.gc_maxlifetime = 1800
; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): ; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
; cd /path/to/sessions; find -cmin +24 | xargs rm ; cd /path/to/sessions; find -cmin +24 | xargs rm
; PHP 4.2 and less have an undocumented feature/bug that allows you to
; to initialize a session variable in the global scope, albeit register_globals
; is disabled. PHP 4.3 and later will warn you, if this feature is used.
; You can disable the feature and the warning separately. At this time,
; the warning is only displayed, if bug_compat_42 is enabled.
session.bug_compat_42 = 0
session.bug_compat_warn = 1
; Check HTTP Referer to invalidate externally stored URLs containing ids. ; Check HTTP Referer to invalidate externally stored URLs containing ids.
; HTTP_REFERER has to contain this substring for the session to be ; HTTP_REFERER has to contain this substring for the session to be

View File

@ -29,16 +29,6 @@ Alias /dolibarr /usr/share/dolibarr/htdocs
ErrorDocument 401 /public/error-401.php ErrorDocument 401 /public/error-401.php
ErrorDocument 404 /public/error-404.php ErrorDocument 404 /public/error-404.php
<IfModule mod_php4.c>
php_flag magic_quotes_gpc Off
php_flag register_globals Off
</IfModule>
<IfModule mod_php5.c>
php_flag magic_quotes_gpc Off
php_flag register_globals Off
</IfModule>
# OPTIMIZE: To use gzip compressed files (for Dolibarr already compressed files). # OPTIMIZE: To use gzip compressed files (for Dolibarr already compressed files).
# Note that constant MAIN_OPTIMIZE_SPEED must have a value with bit 0 set. # Note that constant MAIN_OPTIMIZE_SPEED must have a value with bit 0 set.

View File

@ -658,20 +658,6 @@ html_errors = Off
; Example: ; Example:
;arg_separator.input = ";&" ;arg_separator.input = ";&"
; This directive determines which super global arrays are registered when PHP
; starts up. If the register_globals directive is enabled, it also determines
; what order variables are populated into the global space. G,P,C,E & S are
; abbreviations for the following respective super globals: GET, POST, COOKIE,
; ENV and SERVER. There is a performance penalty paid for the registration of
; these arrays and because ENV is not as commonly used as the others, ENV is
; is not recommended on productions servers. You can still get access to
; the environment variables through getenv() should you need to.
; Default Value: "EGPCS"
; Development Value: "GPCS"
; Production Value: "GPCS";
; http://php.net/variables-order
variables_order = "GPCS"
; This directive determines which super global data (G,P,C,E & S) should ; This directive determines which super global data (G,P,C,E & S) should
; be registered into the super global array REQUEST. If so, it also determines ; be registered into the super global array REQUEST. If so, it also determines
; the order in which that data is registered. The values for this directive are ; the order in which that data is registered. The values for this directive are
@ -685,15 +671,6 @@ variables_order = "GPCS"
; http://php.net/request-order ; http://php.net/request-order
request_order = "GP" request_order = "GP"
; Whether or not to register the EGPCS variables as global variables. You may
; want to turn this off if you don't want to clutter your scripts' global scope
; with user data.
; You should do your best to write your scripts so that they do not require
; register_globals to be on; Using form variables as globals can easily lead
; to possible security problems, if the code is not very well thought of.
; http://php.net/register-globals
register_globals = Off
; Determines whether the deprecated long $HTTP_*_VARS type predefined variables ; Determines whether the deprecated long $HTTP_*_VARS type predefined variables
; are registered by PHP or not. As they are deprecated, we obviously don't ; are registered by PHP or not. As they are deprecated, we obviously don't
; recommend you use them. They are on by default for compatibility reasons but ; recommend you use them. They are on by default for compatibility reasons but
@ -722,8 +699,7 @@ register_argc_argv = Off
; When enabled, the SERVER and ENV variables are created when they're first ; When enabled, the SERVER and ENV variables are created when they're first
; used (Just In Time) instead of when the script starts. If these variables ; used (Just In Time) instead of when the script starts. If these variables
; are not used within a script, having this directive on will result in a ; are not used within a script, having this directive on will result in a
; performance gain. The PHP directives register_globals, register_long_arrays, ; performance gain.
; and register_argc_argv must be disabled for this directive to have any affect.
; http://php.net/auto-globals-jit ; http://php.net/auto-globals-jit
auto_globals_jit = On auto_globals_jit = On
@ -1516,22 +1492,6 @@ session.gc_maxlifetime = 1440
; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): ; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
; find /path/to/sessions -cmin +24 | xargs rm ; find /path/to/sessions -cmin +24 | xargs rm
; PHP 4.2 and less have an undocumented feature/bug that allows you to
; to initialize a session variable in the global scope, even when register_globals
; is disabled. PHP 4.3 and later will warn you, if this feature is used.
; You can disable the feature and the warning separately. At this time,
; the warning is only displayed, if bug_compat_42 is enabled. This feature
; introduces some serious security problems if not handled correctly. It's
; recommended that you do not use this feature on production servers. But you
; should enable this on development servers and enable the warning as well. If you
; do not enable the feature on development servers, you won't be warned when it's
; used and debugging errors caused by this can be difficult to track down.
; Default Value: On
; Development Value: On
; Production Value: Off
; http://php.net/session.bug-compat-42
session.bug_compat_42 = Off
; This setting controls whether or not you are warned by PHP when initializing a ; This setting controls whether or not you are warned by PHP when initializing a
; session value into the global space. session.bug_compat_42 must be enabled before ; session value into the global space. session.bug_compat_42 must be enabled before
; these warnings can be issued by PHP. See the directive above for more information. ; these warnings can be issued by PHP. See the directive above for more information.

View File

@ -6,6 +6,7 @@
<exclude-pattern type="relative">build/html</exclude-pattern> <exclude-pattern type="relative">build/html</exclude-pattern>
<exclude-pattern type="relative">build/aps</exclude-pattern> <exclude-pattern type="relative">build/aps</exclude-pattern>
<exclude-pattern type="relative">documents</exclude-pattern> <exclude-pattern type="relative">documents</exclude-pattern>
<exclude-pattern type="relative">htdocs/core/class/lessc.class.php</exclude-pattern>
<exclude-pattern type="relative">htdocs/custom</exclude-pattern> <exclude-pattern type="relative">htdocs/custom</exclude-pattern>
<exclude-pattern type="relative">htdocs/includes</exclude-pattern> <exclude-pattern type="relative">htdocs/includes</exclude-pattern>
<exclude-pattern type="relative">htdocs/install/doctemplates/websites</exclude-pattern> <exclude-pattern type="relative">htdocs/install/doctemplates/websites</exclude-pattern>

View File

@ -156,17 +156,8 @@ if (GETPOST('actionadd', 'alpha') || GETPOST('actionmodify', 'alpha'))
$ok=1; $ok=1;
foreach ($listfield as $f => $value) foreach ($listfield as $f => $value)
{ {
if ($value == 'country_id' && in_array($tablib[$id], array('DictionaryVAT','DictionaryRegion','DictionaryCompanyType','DictionaryHolidayTypes','DictionaryRevenueStamp','DictionaryAccountancyCategory','Pcg_version'))) continue; // For some pages, country is not mandatory if ($value == 'country_id' && in_array($tablib[$id], array('Pcg_version'))) continue; // For some pages, country is not mandatory
if ($value == 'country' && in_array($tablib[$id], array('DictionaryCanton','DictionaryCompanyType','DictionaryRevenueStamp'))) continue; // For some pages, country is not mandatory if ((! isset($_POST[$value]) || $_POST[$value]==''))
if ($value == 'localtax1' && empty($_POST['localtax1_type'])) continue;
if ($value == 'localtax2' && empty($_POST['localtax2_type'])) continue;
if ($value == 'color' && empty($_POST['color'])) continue;
if ($value == 'formula' && empty($_POST['formula'])) continue;
if ((! isset($_POST[$value]) || $_POST[$value]=='')
&& (! in_array($listfield[$f], array('decalage','module','accountancy_code','accountancy_code_sell','accountancy_code_buy')) // Fields that are not mandatory
&& (! ($id == 10 && $listfield[$f] == 'code')) // Code is mandatory fir table 10
)
)
{ {
$ok=0; $ok=0;
$fieldnamekey=$listfield[$f]; $fieldnamekey=$listfield[$f];
@ -174,19 +165,6 @@ if (GETPOST('actionadd', 'alpha') || GETPOST('actionmodify', 'alpha'))
if ($fieldnamekey == 'pcg_version') $fieldnamekey='Pcg_version'; if ($fieldnamekey == 'pcg_version') $fieldnamekey='Pcg_version';
if ($fieldnamekey == 'libelle' || ($fieldnamekey == 'label')) $fieldnamekey='Label'; if ($fieldnamekey == 'libelle' || ($fieldnamekey == 'label')) $fieldnamekey='Label';
if ($fieldnamekey == 'libelle_facture') $fieldnamekey = 'LabelOnDocuments';
if ($fieldnamekey == 'nbjour') $fieldnamekey='NbOfDays';
if ($fieldnamekey == 'decalage') $fieldnamekey='Offset';
if ($fieldnamekey == 'module') $fieldnamekey='Module';
if ($fieldnamekey == 'code') $fieldnamekey = 'Code';
if ($fieldnamekey == 'note') $fieldnamekey = 'Note';
if ($fieldnamekey == 'taux') $fieldnamekey = 'Rate';
if ($fieldnamekey == 'type') $fieldnamekey = 'Type';
if ($fieldnamekey == 'position') $fieldnamekey = 'Position';
if ($fieldnamekey == 'unicode') $fieldnamekey = 'Unicode';
if ($fieldnamekey == 'deductible') $fieldnamekey = 'Deductible';
if ($fieldnamekey == 'sortorder') $fieldnamekey = 'SortOrder';
if ($fieldnamekey == 'category_type') $fieldnamekey = 'Calculated';
setEventMessages($langs->transnoentities("ErrorFieldRequired", $langs->transnoentities($fieldnamekey)), null, 'errors'); setEventMessages($langs->transnoentities("ErrorFieldRequired", $langs->transnoentities($fieldnamekey)), null, 'errors');
} }
@ -196,9 +174,9 @@ if (GETPOST('actionadd', 'alpha') || GETPOST('actionmodify', 'alpha'))
$ok=0; $ok=0;
setEventMessages($langs->transnoentities('ErrorReservedTypeSystemSystemAuto'), null, 'errors'); setEventMessages($langs->transnoentities('ErrorReservedTypeSystemSystemAuto'), null, 'errors');
} }
if (isset($_POST["code"])) if (isset($_POST["pcg_version"]))
{ {
if ($_POST["code"]=='0') if ($_POST["pcg_version"]=='0')
{ {
$ok=0; $ok=0;
setEventMessages($langs->transnoentities('ErrorCodeCantContainZero'), null, 'errors'); setEventMessages($langs->transnoentities('ErrorCodeCantContainZero'), null, 'errors');
@ -211,28 +189,9 @@ if (GETPOST('actionadd', 'alpha') || GETPOST('actionmodify', 'alpha'))
} }
if (isset($_POST["country"]) && ($_POST["country"]=='0') && ($id != 2)) if (isset($_POST["country"]) && ($_POST["country"]=='0') && ($id != 2))
{ {
if (in_array($tablib[$id], array('DictionaryCompanyType','DictionaryHolidayTypes'))) // Field country is no mandatory for such dictionaries $ok=0;
{ setEventMessages($langs->transnoentities("ErrorFieldRequired", $langs->transnoentities("Country")), null, 'errors');
$_POST["country"]='';
}
else
{
$ok=0;
setEventMessages($langs->transnoentities("ErrorFieldRequired", $langs->transnoentities("Country")), null, 'errors');
}
} }
if (! is_numeric($_POST["code"]))
{
$ok=0;
setEventMessages($langs->transnoentities("ErrorFieldMustBeANumeric", $langs->transnoentities("Code")), null, 'errors');
}
// Clean some parameters
if (isset($_POST["localtax1"]) && empty($_POST["localtax1"])) $_POST["localtax1"]='0'; // If empty, we force to 0
if (isset($_POST["localtax2"]) && empty($_POST["localtax2"])) $_POST["localtax2"]='0'; // If empty, we force to 0
if ($_POST["accountancy_code"] <= 0) $_POST["accountancy_code"]=''; // If empty, we force to null
if ($_POST["accountancy_code_sell"] <= 0) $_POST["accountancy_code_sell"]=''; // If empty, we force to null
if ($_POST["accountancy_code_buy"] <= 0) $_POST["accountancy_code_buy"]=''; // If empty, we force to null
// Si verif ok et action add, on ajoute la ligne // Si verif ok et action add, on ajoute la ligne
if ($ok && GETPOST('actionadd', 'alpha')) if ($ok && GETPOST('actionadd', 'alpha'))

View File

@ -1058,7 +1058,7 @@ if ($id)
$valuetoshow=$langs->trans($valuetoshow); // try to translate $valuetoshow=$langs->trans($valuetoshow); // try to translate
$class=''; $class='';
if ($fieldlist[$field]=='pos') { $valuetoshow=$langs->trans("Position"); $class='width100'; } if ($fieldlist[$field]=='pos') { $valuetoshow=$langs->trans("Position"); $class='maxwidth100'; }
if ($fieldlist[$field]=='source') { $valuetoshow=$langs->trans("Contact"); } if ($fieldlist[$field]=='source') { $valuetoshow=$langs->trans("Contact"); }
if ($fieldlist[$field]=='price') { $valuetoshow=$langs->trans("PriceUHT"); } if ($fieldlist[$field]=='price') { $valuetoshow=$langs->trans("PriceUHT"); }
if ($fieldlist[$field]=='taux') { if ($fieldlist[$field]=='taux') {
@ -1076,7 +1076,7 @@ if ($id)
if ($tabname[$id] == MAIN_DB_PREFIX."c_paiement") $valuetoshow=$form->textwithtooltip($langs->trans("Type"), $langs->trans("TypePaymentDesc"), 2, 1, img_help(1, '')); if ($tabname[$id] == MAIN_DB_PREFIX."c_paiement") $valuetoshow=$form->textwithtooltip($langs->trans("Type"), $langs->trans("TypePaymentDesc"), 2, 1, img_help(1, ''));
else $valuetoshow=$langs->trans("Type"); else $valuetoshow=$langs->trans("Type");
} }
if ($fieldlist[$field]=='code') { $valuetoshow=$langs->trans("Code"); $class='width100'; } if ($fieldlist[$field]=='code') { $valuetoshow=$langs->trans("Code"); $class='maxwidth100'; }
if ($fieldlist[$field]=='libelle' || $fieldlist[$field]=='label') if ($fieldlist[$field]=='libelle' || $fieldlist[$field]=='label')
{ {
$valuetoshow=$form->textwithtooltip($langs->trans("Label"), $langs->trans("LabelUsedByDefault"), 2, 1, img_help(1, '')); $valuetoshow=$form->textwithtooltip($langs->trans("Label"), $langs->trans("LabelUsedByDefault"), 2, 1, img_help(1, ''));
@ -1602,7 +1602,6 @@ if ($id)
$class='tddict'; $class='tddict';
if ($fieldlist[$field] == 'note' && $id == 10) $class.=' tdoverflowmax200'; if ($fieldlist[$field] == 'note' && $id == 10) $class.=' tdoverflowmax200';
if ($fieldlist[$field] == 'tracking') $class.=' tdoverflowauto'; if ($fieldlist[$field] == 'tracking') $class.=' tdoverflowauto';
if ($fieldlist[$field] == 'code') $class.=' width100';
if ($fieldlist[$field] == 'position') $class.=' right'; if ($fieldlist[$field] == 'position') $class.=' right';
if ($fieldlist[$field] == 'localtax1_type') $class.=' nowrap'; if ($fieldlist[$field] == 'localtax1_type') $class.=' nowrap';
if ($fieldlist[$field] == 'localtax2_type') $class.=' nowrap'; if ($fieldlist[$field] == 'localtax2_type') $class.=' nowrap';
@ -1780,7 +1779,6 @@ function fieldList($fieldlist, $obj = '', $tabname = '', $context = '')
global $form; global $form;
global $region_id; global $region_id;
global $elementList,$sourceList,$localtax_typeList; global $elementList,$sourceList,$localtax_typeList;
global $bc;
$formadmin = new FormAdmin($db); $formadmin = new FormAdmin($db);
$formcompany = new FormCompany($db); $formcompany = new FormCompany($db);
@ -1981,7 +1979,7 @@ function fieldList($fieldlist, $obj = '', $tabname = '', $context = '')
} }
$classtd=''; $class=''; $classtd=''; $class='';
if ($fieldlist[$field]=='code') $classtd='width100'; if ($fieldlist[$field]=='code') $class='maxwidth100';
if (in_array($fieldlist[$field], array('pos', 'use_default', 'affect', 'delay', 'position', 'sortorder', 'sens', 'category_type'))) $class='maxwidth50'; if (in_array($fieldlist[$field], array('pos', 'use_default', 'affect', 'delay', 'position', 'sortorder', 'sens', 'category_type'))) $class='maxwidth50';
if (in_array($fieldlist[$field], array('libelle', 'label', 'tracking'))) $class='quatrevingtpercent'; if (in_array($fieldlist[$field], array('libelle', 'label', 'tracking'))) $class='quatrevingtpercent';
print '<td class="'.$classtd.'">'; print '<td class="'.$classtd.'">';

View File

@ -259,7 +259,7 @@ if ($action == 'edit') // Edit
print '</table><br>'."\n"; print '</table><br>'."\n";
// Themes and themes options // Themes and themes options
show_theme(null, 1); showSkins(null, 1);
print '<br>'; print '<br>';
// Other // Other
@ -464,7 +464,7 @@ else // Show
// Themes // Themes
show_theme(null, 0); showSkins(null, 0);
print '<br>'; print '<br>';

View File

@ -618,7 +618,7 @@ if ($id)
// Active // Active
print '<td align="center" class="nowrap">'; print '<td align="center" class="nowrap">';
print '<a href="'.$url.'action='.$acts[$obj->status].'">'.$actl[$obj->status].'</a>'; print '<a href="'.$url.'action='.$acts[($obj->status?1:0)].'">'.$actl[($obj->status?1:0)].'</a>';
print "</td>"; print "</td>";
// Modify link // Modify link

View File

@ -368,7 +368,7 @@ class Documents extends DolibarrApi
throw new RestException(404, 'Product not found'); throw new RestException(404, 'Product not found');
} }
$upload_dir = $conf->product->dir_output . "/" . get_exdir(0, 0, 0, 1, $object, 'product'); $upload_dir = $conf->product->multidir_output[$object->entity].'/'.get_exdir(0, 0, 0, 0, $object, 'product').dol_sanitizeFileName($object->ref);
} }
elseif ($modulepart == 'agenda' || $modulepart == 'action' || $modulepart == 'event') elseif ($modulepart == 'agenda' || $modulepart == 'action' || $modulepart == 'event')
{ {

View File

@ -530,11 +530,11 @@ class Propal extends CommonObject
$pu_ht_devise = $tabprice[19]; $pu_ht_devise = $tabprice[19];
// Rang to use // Rang to use
$rangtouse = $rang; $ranktouse = $rang;
if ($rangtouse == -1) if ($ranktouse == -1)
{ {
$rangmax = $this->line_max($fk_parent_line); $rangmax = $this->line_max($fk_parent_line);
$rangtouse = $rangmax + 1; $ranktouse = $rangmax + 1;
} }
// TODO A virer // TODO A virer
@ -568,7 +568,7 @@ class Propal extends CommonObject
$this->line->fk_remise_except=$fk_remise_except; $this->line->fk_remise_except=$fk_remise_except;
$this->line->remise_percent=$remise_percent; $this->line->remise_percent=$remise_percent;
$this->line->subprice=$pu_ht; $this->line->subprice=$pu_ht;
$this->line->rang=$rangtouse; $this->line->rang=$ranktouse;
$this->line->info_bits=$info_bits; $this->line->info_bits=$info_bits;
$this->line->total_ht=$total_ht; $this->line->total_ht=$total_ht;
$this->line->total_tva=$total_tva; $this->line->total_tva=$total_tva;

View File

@ -168,6 +168,7 @@ $arrayfields=array(
'sale_representative'=>array('label'=>"SaleRepresentativesOfThirdParty", 'checked'=>1), 'sale_representative'=>array('label'=>"SaleRepresentativesOfThirdParty", 'checked'=>1),
'p.datec'=>array('label'=>"DateCreation", 'checked'=>0, 'position'=>500), 'p.datec'=>array('label'=>"DateCreation", 'checked'=>0, 'position'=>500),
'p.tms'=>array('label'=>"DateModificationShort", 'checked'=>0, 'position'=>500), 'p.tms'=>array('label'=>"DateModificationShort", 'checked'=>0, 'position'=>500),
'p.date_cloture'=>array('label'=>"DateClosing", 'checked'=>0, 'position'=>500),
'p.fk_statut'=>array('label'=>"Status", 'checked'=>1, 'position'=>1000), 'p.fk_statut'=>array('label'=>"Status", 'checked'=>1, 'position'=>1000),
); );
// Extra fields // Extra fields
@ -269,7 +270,7 @@ $sql.= " typent.code as typent_code,";
$sql.= " ava.rowid as availability,"; $sql.= " ava.rowid as availability,";
$sql.= " state.code_departement as state_code, state.nom as state_name,"; $sql.= " state.code_departement as state_code, state.nom as state_name,";
$sql.= ' p.rowid, p.entity, p.note_private, p.total_ht, p.tva as total_vat, p.total as total_ttc, p.localtax1, p.localtax2, p.ref, p.ref_client, p.fk_statut, p.fk_user_author, p.datep as dp, p.fin_validite as dfv,p.date_livraison as ddelivery,'; $sql.= ' p.rowid, p.entity, p.note_private, p.total_ht, p.tva as total_vat, p.total as total_ttc, p.localtax1, p.localtax2, p.ref, p.ref_client, p.fk_statut, p.fk_user_author, p.datep as dp, p.fin_validite as dfv,p.date_livraison as ddelivery,';
$sql.= ' p.datec as date_creation, p.tms as date_update,'; $sql.= ' p.datec as date_creation, p.tms as date_update, p.date_cloture as date_cloture,';
$sql.= " pr.rowid as project_id, pr.ref as project_ref, pr.title as project_label,"; $sql.= " pr.rowid as project_id, pr.ref as project_ref, pr.title as project_label,";
$sql.= ' u.login'; $sql.= ' u.login';
if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", sc.fk_soc, sc.fk_user"; if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", sc.fk_soc, sc.fk_user";
@ -688,6 +689,12 @@ if ($resql)
print '<td class="liste_titre">'; print '<td class="liste_titre">';
print '</td>'; print '</td>';
} }
// Date cloture
if (! empty($arrayfields['p.date_cloture']['checked']))
{
print '<td class="liste_titre">';
print '</td>';
}
// Status // Status
if (! empty($arrayfields['p.fk_statut']['checked'])) if (! empty($arrayfields['p.fk_statut']['checked']))
{ {
@ -735,6 +742,7 @@ if ($resql)
print $hookmanager->resPrint; print $hookmanager->resPrint;
if (! empty($arrayfields['p.datec']['checked'])) print_liste_field_titre($arrayfields['p.datec']['label'], $_SERVER["PHP_SELF"], "p.datec", "", $param, 'align="center" class="nowrap"', $sortfield, $sortorder); if (! empty($arrayfields['p.datec']['checked'])) print_liste_field_titre($arrayfields['p.datec']['label'], $_SERVER["PHP_SELF"], "p.datec", "", $param, 'align="center" class="nowrap"', $sortfield, $sortorder);
if (! empty($arrayfields['p.tms']['checked'])) print_liste_field_titre($arrayfields['p.tms']['label'], $_SERVER["PHP_SELF"], "p.tms", "", $param, 'align="center" class="nowrap"', $sortfield, $sortorder); if (! empty($arrayfields['p.tms']['checked'])) print_liste_field_titre($arrayfields['p.tms']['label'], $_SERVER["PHP_SELF"], "p.tms", "", $param, 'align="center" class="nowrap"', $sortfield, $sortorder);
if (! empty($arrayfields['p.date_cloture']['checked'])) print_liste_field_titre($arrayfields['p.date_cloture']['label'], $_SERVER["PHP_SELF"], "p.date_cloture", "", $param, 'align="center" class="nowrap"', $sortfield, $sortorder);
if (! empty($arrayfields['p.fk_statut']['checked'])) print_liste_field_titre($arrayfields['p.fk_statut']['label'], $_SERVER["PHP_SELF"], "p.fk_statut", "", $param, 'class="right"', $sortfield, $sortorder); if (! empty($arrayfields['p.fk_statut']['checked'])) print_liste_field_titre($arrayfields['p.fk_statut']['label'], $_SERVER["PHP_SELF"], "p.fk_statut", "", $param, 'class="right"', $sortfield, $sortorder);
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', 'align="center"', $sortfield, $sortorder, 'maxwidthsearch '); print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', 'align="center"', $sortfield, $sortorder, 'maxwidthsearch ');
print '</tr>'."\n"; print '</tr>'."\n";
@ -1073,6 +1081,14 @@ if ($resql)
print '</td>'; print '</td>';
if (! $i) $totalarray['nbfield']++; if (! $i) $totalarray['nbfield']++;
} }
// Date cloture
if (! empty($arrayfields['p.date_cloture']['checked']))
{
print '<td align="center" class="nowrap">';
print dol_print_date($db->jdate($obj->date_cloture), 'dayhour', 'tzuser');
print '</td>';
if (! $i) $totalarray['nbfield']++;
}
// Status // Status
if (! empty($arrayfields['p.fk_statut']['checked'])) if (! empty($arrayfields['p.fk_statut']['checked']))
{ {

View File

@ -1457,11 +1457,11 @@ class Commande extends CommonOrder
$pu_ht_devise = $tabprice[19]; $pu_ht_devise = $tabprice[19];
// Rang to use // Rang to use
$rangtouse = $rang; $ranktouse = $rang;
if ($rangtouse == -1) if ($ranktouse == -1)
{ {
$rangmax = $this->line_max($fk_parent_line); $rangmax = $this->line_max($fk_parent_line);
$rangtouse = $rangmax + 1; $ranktouse = $rangmax + 1;
} }
// TODO A virer // TODO A virer
@ -1495,7 +1495,7 @@ class Commande extends CommonOrder
$this->line->fk_remise_except=$fk_remise_except; $this->line->fk_remise_except=$fk_remise_except;
$this->line->remise_percent=$remise_percent; $this->line->remise_percent=$remise_percent;
$this->line->subprice=$pu_ht; $this->line->subprice=$pu_ht;
$this->line->rang=$rangtouse; $this->line->rang=$ranktouse;
$this->line->info_bits=$info_bits; $this->line->info_bits=$info_bits;
$this->line->total_ht=$total_ht; $this->line->total_ht=$total_ht;
$this->line->total_tva=$total_tva; $this->line->total_tva=$total_tva;

View File

@ -143,6 +143,7 @@ $arrayfields=array(
'c.total_ttc'=>array('label'=>"AmountTTC", 'checked'=>0), 'c.total_ttc'=>array('label'=>"AmountTTC", 'checked'=>0),
'c.datec'=>array('label'=>"DateCreation", 'checked'=>0, 'position'=>500), 'c.datec'=>array('label'=>"DateCreation", 'checked'=>0, 'position'=>500),
'c.tms'=>array('label'=>"DateModificationShort", 'checked'=>0, 'position'=>500), 'c.tms'=>array('label'=>"DateModificationShort", 'checked'=>0, 'position'=>500),
'c.date_cloture'=>array('label'=>"DateClosing", 'checked'=>0, 'position'=>500),
'c.fk_statut'=>array('label'=>"Status", 'checked'=>1, 'position'=>1000), 'c.fk_statut'=>array('label'=>"Status", 'checked'=>1, 'position'=>1000),
'c.facture'=>array('label'=>"Billed", 'checked'=>1, 'position'=>1000, 'enabled'=>(empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) 'c.facture'=>array('label'=>"Billed", 'checked'=>1, 'position'=>1000, 'enabled'=>(empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT)))
); );
@ -247,7 +248,7 @@ $sql.= " typent.code as typent_code,";
$sql.= " state.code_departement as state_code, state.nom as state_name,"; $sql.= " state.code_departement as state_code, state.nom as state_name,";
$sql.= ' c.rowid, c.ref, c.total_ht, c.tva as total_tva, c.total_ttc, c.ref_client,'; $sql.= ' c.rowid, c.ref, c.total_ht, c.tva as total_tva, c.total_ttc, c.ref_client,';
$sql.= ' c.date_valid, c.date_commande, c.note_private, c.date_livraison as date_delivery, c.fk_statut, c.facture as billed,'; $sql.= ' c.date_valid, c.date_commande, c.note_private, c.date_livraison as date_delivery, c.fk_statut, c.facture as billed,';
$sql.= ' c.date_creation as date_creation, c.tms as date_update,'; $sql.= ' c.date_creation as date_creation, c.tms as date_update, c.date_cloture as date_cloture,';
$sql.= " p.rowid as project_id, p.ref as project_ref, p.title as project_label"; $sql.= " p.rowid as project_id, p.ref as project_ref, p.title as project_label";
if ($search_categ_cus) $sql .= ", cc.fk_categorie, cc.fk_soc"; if ($search_categ_cus) $sql .= ", cc.fk_categorie, cc.fk_soc";
// Add fields from extrafields // Add fields from extrafields
@ -693,6 +694,12 @@ if ($resql)
print '<td class="liste_titre">'; print '<td class="liste_titre">';
print '</td>'; print '</td>';
} }
// Date cloture
if (! empty($arrayfields['c.date_cloture']['checked']))
{
print '<td class="liste_titre">';
print '</td>';
}
// Status // Status
if (! empty($arrayfields['c.fk_statut']['checked'])) if (! empty($arrayfields['c.fk_statut']['checked']))
{ {
@ -748,7 +755,8 @@ if ($resql)
print $hookmanager->resPrint; print $hookmanager->resPrint;
if (! empty($arrayfields['c.datec']['checked'])) print_liste_field_titre($arrayfields['c.datec']['label'], $_SERVER["PHP_SELF"], "c.date_creation", "", $param, '', $sortfield, $sortorder, 'center nowrap '); if (! empty($arrayfields['c.datec']['checked'])) print_liste_field_titre($arrayfields['c.datec']['label'], $_SERVER["PHP_SELF"], "c.date_creation", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
if (! empty($arrayfields['c.tms']['checked'])) print_liste_field_titre($arrayfields['c.tms']['label'], $_SERVER["PHP_SELF"], "c.tms", "", $param, '', $sortfield, $sortorder, 'center nowrap '); if (! empty($arrayfields['c.tms']['checked'])) print_liste_field_titre($arrayfields['c.tms']['label'], $_SERVER["PHP_SELF"], "c.tms", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
if (! empty($arrayfields['c.fk_statut']['checked'])) print_liste_field_titre($arrayfields['c.fk_statut']['label'], $_SERVER["PHP_SELF"], "c.fk_statut", "", $param, '', $sortfield, $sortorder, 'right '); if (! empty($arrayfields['c.date_cloture']['checked'])) print_liste_field_titre($arrayfields['c.date_cloture']['label'], $_SERVER["PHP_SELF"], "c.date_cloture", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
if (! empty($arrayfields['c.fk_statut']['checked'])) print_liste_field_titre($arrayfields['c.fk_statut']['label'], $_SERVER["PHP_SELF"], "c.fk_statut", "", $param, '', $sortfield, $sortorder, 'right ');
if (! empty($arrayfields['c.facture']['checked'])) print_liste_field_titre($arrayfields['c.facture']['label'], $_SERVER["PHP_SELF"], 'c.facture', '', $param, '', $sortfield, $sortorder, 'center '); if (! empty($arrayfields['c.facture']['checked'])) print_liste_field_titre($arrayfields['c.facture']['label'], $_SERVER["PHP_SELF"], 'c.facture', '', $param, '', $sortfield, $sortorder, 'center ');
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', $param, '', $sortfield, $sortorder, 'maxwidthsearch center '); print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', $param, '', $sortfield, $sortorder, 'maxwidthsearch center ');
print '</tr>'."\n"; print '</tr>'."\n";
@ -1092,6 +1100,14 @@ if ($resql)
print '</td>'; print '</td>';
if (! $i) $totalarray['nbfield']++; if (! $i) $totalarray['nbfield']++;
} }
// Date cloture
if (! empty($arrayfields['c.date_cloture']['checked']))
{
print '<td align="center" class="nowrap">';
print dol_print_date($db->jdate($obj->date_cloture), 'dayhour', 'tzuser');
print '</td>';
if (! $i) $totalarray['nbfield']++;
}
// Status // Status
if (! empty($arrayfields['c.fk_statut']['checked'])) if (! empty($arrayfields['c.fk_statut']['checked']))
{ {

View File

@ -23,6 +23,7 @@ require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
/** /**
* API class for accounts * API class for accounts
* *
* @property DoliDB db
* @access protected * @access protected
* @class DolibarrApiAccess {@requires user,external} * @class DolibarrApiAccess {@requires user,external}
*/ */
@ -166,6 +167,142 @@ class BankAccounts extends DolibarrApi
return $account->id; return $account->id;
} }
/**
* Create an internal wire transfer between two bank accounts
*
* @param int $bankaccount_from_id BankAccount ID to use as the source of the internal wire transfer {@from body}{@required true}
* @param int $bankaccount_to_id BankAccount ID to use as the destination of the internal wire transfer {@from body}{@required true}
* @param string $date Date of the internal wire transfer (UNIX timestamp) {@from body}{@required true}{@type timestamp}
* @param string $description Description of the internal wire transfer {@from body}{@required true}
* @param float $amount Amount to transfer from the source to the destination BankAccount {@from body}{@required true}
* @param float $amount_to Amount to transfer to the destination BankAccount (only when accounts does not share the same currency) {@from body}{@required false}
*
* @url POST /transfer
*
* @return array
*
* @status 201
*
* @throws 401 Unauthorized: User does not have permission to configure bank accounts
* @throws 404 Not Found: Either the source or the destination bankaccount for the provided id does not exist
* @throws 422 Unprocessable Entity: Refer to detailed exception message for the cause
* @throws 500 Internal Server Error: Error(s) returned by the RDBMS
*/
public function transfer($bankaccount_from_id = 0, $bankaccount_to_id = 0, $date = null, $description = "", $amount = 0.0, $amount_to = 0.0)
{
if (! DolibarrApiAccess::$user->rights->banque->configurer) {
throw new RestException(401);
}
if ($bankaccount_from_id === $bankaccount_to_id) {
throw new RestException(422, 'bankaccount_from_id and bankaccount_to_id must be different !');
}
require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
$accountfrom = new Account($this->db);
$resultAccountFrom = $accountfrom->fetch($bankaccount_from_id);
if ($resultAccountFrom === 0) {
throw new RestException(404, 'The BankAccount for bankaccount_from_id provided does not exist.');
}
$accountto = new Account($this->db);
$resultAccountTo = $accountto->fetch($bankaccount_to_id);
if ($resultAccountTo === 0) {
throw new RestException(404, 'The BankAccount for bankaccount_to_id provided does not exist.');
}
if ($accountto->currency_code == $accountfrom->currency_code)
{
$amount_to = $amount;
}
else
{
if (!$amount_to || empty($amount_to))
{
throw new RestException(422, 'You must provide amount_to value since bankaccount_from and bankaccount_to does not share the same currency.');
}
}
$this->db->begin();
$error = 0;
$bank_line_id_from = 0;
$bank_line_id_to = 0;
$result = 0;
$user = DolibarrApiAccess::$user;
// By default, electronic transfert from bank to bank
$typefrom='PRE';
$typeto='VIR';
if ($accountto->courant == Account::TYPE_CASH || $accountfrom->courant == Account::TYPE_CASH)
{
// This is transfer of change
$typefrom='LIQ';
$typeto='LIQ';
}
/**
* Creating bank line records
*/
if (!$error) {
$bank_line_id_from = $accountfrom->addline($date, $typefrom, $description, -1*price2num($amount), '', '', $user);
}
if (!($bank_line_id_from > 0)) {
$error++;
}
if (!$error) {
$bank_line_id_to = $accountto->addline($date, $typeto, $description, price2num($amount_to), '', '', $user);
}
if (!($bank_line_id_to > 0)) {
$error++;
}
/**
* Creating links between bank line record and its source
*/
$url = DOL_URL_ROOT.'/compta/bank/line.php?rowid=';
$label = '(banktransfert)';
$type = 'banktransfert';
if (!$error) {
$result = $accountfrom->add_url_line($bank_line_id_from, $bank_line_id_to, $url, $label, $type);
}
if (!($result > 0)) {
$error++;
}
if (!$error) {
$result = $accountto->add_url_line($bank_line_id_to, $bank_line_id_from, $url, $label, $type);
}
if (!($result > 0)) {
$error++;
}
if (!$error)
{
$this->db->commit();
return array(
'success' => array(
'code' => 201,
'message' => 'Internal wire transfer created successfully.'
)
);
}
else
{
$this->db->rollback();
throw new RestException(500, $accountfrom->error.' '.$accountto->error);
}
}
/** /**
* Update account * Update account
* *

View File

@ -0,0 +1 @@

View File

@ -2825,11 +2825,11 @@ class Facture extends CommonInvoice
$pu_ht_devise = $tabprice[19]; $pu_ht_devise = $tabprice[19];
// Rank to use // Rank to use
$rangtouse = $rang; $ranktouse = $rang;
if ($rangtouse == -1) if ($ranktouse == -1)
{ {
$rangmax = $this->line_max($fk_parent_line); $rangmax = $this->line_max($fk_parent_line);
$rangtouse = $rangmax + 1; $ranktouse = $rangmax + 1;
} }
// Insert line // Insert line
@ -2863,7 +2863,7 @@ class Facture extends CommonInvoice
$this->line->date_start=$date_start; $this->line->date_start=$date_start;
$this->line->date_end=$date_end; $this->line->date_end=$date_end;
$this->line->ventil=$ventil; $this->line->ventil=$ventil;
$this->line->rang=$rangtouse; $this->line->rang=$ranktouse;
$this->line->info_bits=$info_bits; $this->line->info_bits=$info_bits;
$this->line->fk_remise_except=$fk_remise_except; $this->line->fk_remise_except=$fk_remise_except;

View File

@ -317,7 +317,7 @@ class ChargeSociales extends CommonObject
$sql.= ", date_ech='".$this->db->idate($this->date_ech)."'"; $sql.= ", date_ech='".$this->db->idate($this->date_ech)."'";
$sql.= ", periode='".$this->db->idate($this->periode)."'"; $sql.= ", periode='".$this->db->idate($this->periode)."'";
$sql.= ", amount='".price2num($this->amount, 'MT')."'"; $sql.= ", amount='".price2num($this->amount, 'MT')."'";
$sql.= ", fk_projet='".$this->db->escape($this->fk_project)."'"; $sql.= ", fk_projet=".($this->fk_project > 0 ? $this->fk_project : null);
$sql.= ", fk_user_modif=".$user->id; $sql.= ", fk_user_modif=".$user->id;
$sql.= " WHERE rowid=".$this->id; $sql.= " WHERE rowid=".$this->id;

View File

@ -17,8 +17,7 @@
/** /**
* \file htdocs/core/ajax/pingresult.php * \file htdocs/core/ajax/pingresult.php
* \brief File to save result of anonymous ping * \brief File to save result of an anonymous ping into database (1 ping is done per installation)
* Example: captureserver/public/index.php?action=dolibarrping
*/ */
if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Disables token renewal if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Disables token renewal

View File

@ -74,6 +74,9 @@ class box_graph_invoices_permonth extends ModeleBoxes
//include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; //include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
//$facturestatic=new Facture($db); //$facturestatic=new Facture($db);
$startmonth = $conf->global->SOCIETE_FISCAL_MONTH_START?($conf->global->SOCIETE_FISCAL_MONTH_START) : 1;
if (empty($conf->global->GRAPH_USE_FISCAL_YEAR)) $startmonth = 1;
$text = $langs->trans("BoxCustomersInvoicesPerMonth", $max); $text = $langs->trans("BoxCustomersInvoicesPerMonth", $max);
$this->info_box_head = array( $this->info_box_head = array(
'text' => $text, 'text' => $text,
@ -129,7 +132,7 @@ class box_graph_invoices_permonth extends ModeleBoxes
// Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...) // Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...)
if ($shownb) if ($shownb)
{ {
$data1 = $stats->getNbByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0)); $data1 = $stats->getNbByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0), $startmonth);
$filenamenb = $dir."/".$prefix."invoicesnbinyear-".$endyear.".png"; $filenamenb = $dir."/".$prefix."invoicesnbinyear-".$endyear.".png";
if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstats&amp;file=invoicesnbinyear-'.$endyear.'.png'; if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstats&amp;file=invoicesnbinyear-'.$endyear.'.png';
@ -146,7 +149,14 @@ class box_graph_invoices_permonth extends ModeleBoxes
$i=$startyear;$legend=array(); $i=$startyear;$legend=array();
while ($i <= $endyear) while ($i <= $endyear)
{ {
$legend[]=$i; if ($startmonth != 1)
{
$legend[]=sprintf("%d/%d", $i-2001, $i-2000);
}
else
{
$legend[]=$i;
}
$i++; $i++;
} }
$px1->SetLegend($legend); $px1->SetLegend($legend);
@ -167,7 +177,7 @@ class box_graph_invoices_permonth extends ModeleBoxes
// Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...) // Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...)
if ($showtot) if ($showtot)
{ {
$data2 = $stats->getAmountByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0)); $data2 = $stats->getAmountByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0), $startmonth);
$filenamenb = $dir."/".$prefix."invoicesamountinyear-".$endyear.".png"; $filenamenb = $dir."/".$prefix."invoicesamountinyear-".$endyear.".png";
if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstats&amp;file=invoicesamountinyear-'.$endyear.'.png'; if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstats&amp;file=invoicesamountinyear-'.$endyear.'.png';
@ -184,7 +194,14 @@ class box_graph_invoices_permonth extends ModeleBoxes
$i=$startyear;$legend=array(); $i=$startyear;$legend=array();
while ($i <= $endyear) while ($i <= $endyear)
{ {
$legend[]=$i; if ($startmonth != 1)
{
$legend[]=sprintf("%d/%d", $i-2001, $i-2000);
}
else
{
$legend[]=$i;
}
$i++; $i++;
} }
$px2->SetLegend($legend); $px2->SetLegend($legend);

View File

@ -73,6 +73,9 @@ class box_graph_invoices_supplier_permonth extends ModeleBoxes
include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php';
$startmonth = $conf->global->SOCIETE_FISCAL_MONTH_START?($conf->global->SOCIETE_FISCAL_MONTH_START) : 1;
if (empty($conf->global->GRAPH_USE_FISCAL_YEAR)) $startmonth = 1;
$text = $langs->trans("BoxSuppliersInvoicesPerMonth", $max); $text = $langs->trans("BoxSuppliersInvoicesPerMonth", $max);
$this->info_box_head = array( $this->info_box_head = array(
'text' => $text, 'text' => $text,
@ -126,7 +129,7 @@ class box_graph_invoices_supplier_permonth extends ModeleBoxes
// Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...) // Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...)
if ($shownb) if ($shownb)
{ {
$data1 = $stats->getNbByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0)); $data1 = $stats->getNbByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0), $startmonth);
$filenamenb = $dir."/".$prefix."invoicessuppliernbinyear-".$year.".png"; $filenamenb = $dir."/".$prefix."invoicessuppliernbinyear-".$year.".png";
if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstats&amp;file=invoicesnbinyear-'.$year.'.png'; if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstats&amp;file=invoicesnbinyear-'.$year.'.png';
@ -143,7 +146,14 @@ class box_graph_invoices_supplier_permonth extends ModeleBoxes
$i=$startyear;$legend=array(); $i=$startyear;$legend=array();
while ($i <= $endyear) while ($i <= $endyear)
{ {
$legend[]=$i; if ($startmonth != 1)
{
$legend[]=sprintf("%d/%d", $i-2001, $i-2000);
}
else
{
$legend[]=$i;
}
$i++; $i++;
} }
$px1->SetLegend($legend); $px1->SetLegend($legend);
@ -164,7 +174,7 @@ class box_graph_invoices_supplier_permonth extends ModeleBoxes
// Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...) // Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...)
if ($showtot) if ($showtot)
{ {
$data2 = $stats->getAmountByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0)); $data2 = $stats->getAmountByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0), $startmonth);
$filenamenb = $dir."/".$prefix."invoicessupplieramountinyear-".$year.".png"; $filenamenb = $dir."/".$prefix."invoicessupplieramountinyear-".$year.".png";
if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstats&amp;file=invoicesamountinyear-'.$year.'.png'; if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstats&amp;file=invoicesamountinyear-'.$year.'.png';
@ -181,7 +191,14 @@ class box_graph_invoices_supplier_permonth extends ModeleBoxes
$i=$startyear;$legend=array(); $i=$startyear;$legend=array();
while ($i <= $endyear) while ($i <= $endyear)
{ {
$legend[]=$i; if ($startmonth != 1)
{
$legend[]=sprintf("%d/%d", $i-2001, $i-2000);
}
else
{
$legend[]=$i;
}
$i++; $i++;
} }
$px2->SetLegend($legend); $px2->SetLegend($legend);

View File

@ -74,6 +74,9 @@ class box_graph_orders_permonth extends ModeleBoxes
//include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; //include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php';
//$commandestatic=new Commande($db); //$commandestatic=new Commande($db);
$startmonth = $conf->global->SOCIETE_FISCAL_MONTH_START?($conf->global->SOCIETE_FISCAL_MONTH_START) : 1;
if (empty($conf->global->GRAPH_USE_FISCAL_YEAR)) $startmonth = 1;
$text = $langs->trans("BoxCustomersOrdersPerMonth", $max); $text = $langs->trans("BoxCustomersOrdersPerMonth", $max);
$this->info_box_head = array( $this->info_box_head = array(
'text' => $text, 'text' => $text,
@ -129,7 +132,7 @@ class box_graph_orders_permonth extends ModeleBoxes
// Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...) // Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...)
if ($shownb) if ($shownb)
{ {
$data1 = $stats->getNbByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0)); $data1 = $stats->getNbByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0), $startmonth);
$filenamenb = $dir."/".$prefix."ordersnbinyear-".$endyear.".png"; $filenamenb = $dir."/".$prefix."ordersnbinyear-".$endyear.".png";
if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstats&amp;file=ordersnbinyear-'.$endyear.'.png'; if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstats&amp;file=ordersnbinyear-'.$endyear.'.png';
@ -144,7 +147,14 @@ class box_graph_orders_permonth extends ModeleBoxes
$i=$startyear;$legend=array(); $i=$startyear;$legend=array();
while ($i <= $endyear) while ($i <= $endyear)
{ {
$legend[]=$i; if ($startmonth != 1)
{
$legend[]=sprintf("%d/%d", $i-2001, $i-2000);
}
else
{
$legend[]=$i;
}
$i++; $i++;
} }
$px1->SetLegend($legend); $px1->SetLegend($legend);
@ -165,7 +175,7 @@ class box_graph_orders_permonth extends ModeleBoxes
// Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...) // Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...)
if ($showtot) if ($showtot)
{ {
$data2 = $stats->getAmountByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0)); $data2 = $stats->getAmountByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0), $startmonth);
$filenamenb = $dir."/".$prefix."ordersamountinyear-".$endyear.".png"; $filenamenb = $dir."/".$prefix."ordersamountinyear-".$endyear.".png";
if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstats&amp;file=ordersamountinyear-'.$endyear.'.png'; if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstats&amp;file=ordersamountinyear-'.$endyear.'.png';
@ -180,7 +190,14 @@ class box_graph_orders_permonth extends ModeleBoxes
$i=$startyear;$legend=array(); $i=$startyear;$legend=array();
while ($i <= $endyear) while ($i <= $endyear)
{ {
$legend[]=$i; if ($startmonth != 1)
{
$legend[]=sprintf("%d/%d", $i-2001, $i-2000);
}
else
{
$legend[]=$i;
}
$i++; $i++;
} }
$px2->SetLegend($legend); $px2->SetLegend($legend);

View File

@ -73,6 +73,9 @@ class box_graph_orders_supplier_permonth extends ModeleBoxes
include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php'; include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php';
$startmonth = $conf->global->SOCIETE_FISCAL_MONTH_START?($conf->global->SOCIETE_FISCAL_MONTH_START) : 1;
if (empty($conf->global->GRAPH_USE_FISCAL_YEAR)) $startmonth = 1;
$text = $langs->trans("BoxSuppliersOrdersPerMonth", $max); $text = $langs->trans("BoxSuppliersOrdersPerMonth", $max);
$this->info_box_head = array( $this->info_box_head = array(
'text' => $text, 'text' => $text,
@ -128,7 +131,7 @@ class box_graph_orders_supplier_permonth extends ModeleBoxes
// Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...) // Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...)
if ($shownb) if ($shownb)
{ {
$data1 = $stats->getNbByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0)); $data1 = $stats->getNbByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0), $startmonth);
$filenamenb = $dir."/".$prefix."orderssuppliernbinyear-".$endyear.".png"; $filenamenb = $dir."/".$prefix."orderssuppliernbinyear-".$endyear.".png";
if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstats&amp;file=ordersnbinyear-'.$endyear.'.png'; if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstats&amp;file=ordersnbinyear-'.$endyear.'.png';
@ -143,7 +146,14 @@ class box_graph_orders_supplier_permonth extends ModeleBoxes
$i=$startyear;$legend=array(); $i=$startyear;$legend=array();
while ($i <= $endyear) while ($i <= $endyear)
{ {
$legend[]=$i; if ($startmonth != 1)
{
$legend[]=sprintf("%d/%d", $i-2001, $i-2000);
}
else
{
$legend[]=$i;
}
$i++; $i++;
} }
$px1->SetLegend($legend); $px1->SetLegend($legend);
@ -164,7 +174,7 @@ class box_graph_orders_supplier_permonth extends ModeleBoxes
// Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...) // Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...)
if ($showtot) if ($showtot)
{ {
$data2 = $stats->getAmountByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0)); $data2 = $stats->getAmountByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0), $startmonth);
$filenamenb = $dir."/".$prefix."orderssupplieramountinyear-".$endyear.".png"; $filenamenb = $dir."/".$prefix."orderssupplieramountinyear-".$endyear.".png";
if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstats&amp;file=ordersamountinyear-'.$endyear.'.png'; if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstats&amp;file=ordersamountinyear-'.$endyear.'.png';
@ -179,7 +189,14 @@ class box_graph_orders_supplier_permonth extends ModeleBoxes
$i=$startyear;$legend=array(); $i=$startyear;$legend=array();
while ($i <= $endyear) while ($i <= $endyear)
{ {
$legend[]=$i; if ($startmonth != 1)
{
$legend[]=sprintf("%d/%d", $i-2001, $i-2000);
}
else
{
$legend[]=$i;
}
$i++; $i++;
} }
$px2->SetLegend($legend); $px2->SetLegend($legend);

View File

@ -74,6 +74,9 @@ class box_graph_propales_permonth extends ModeleBoxes
//include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; //include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php';
//$propalstatic=new Propal($db); //$propalstatic=new Propal($db);
$startmonth = $conf->global->SOCIETE_FISCAL_MONTH_START?($conf->global->SOCIETE_FISCAL_MONTH_START) : 1;
if (empty($conf->global->GRAPH_USE_FISCAL_YEAR)) $startmonth = 1;
$langs->load("propal"); $langs->load("propal");
$text = $langs->trans("BoxProposalsPerMonth", $max); $text = $langs->trans("BoxProposalsPerMonth", $max);
@ -128,7 +131,7 @@ class box_graph_propales_permonth extends ModeleBoxes
// Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...) // Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...)
if ($shownb) if ($shownb)
{ {
$data1 = $stats->getNbByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0)); $data1 = $stats->getNbByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0), $startmonth);
$datatype1 = array_pad(array(), ($endyear-$startyear+1), 'bars'); $datatype1 = array_pad(array(), ($endyear-$startyear+1), 'bars');
$filenamenb = $dir."/".$prefix."propalsnbinyear-".$endyear.".png"; $filenamenb = $dir."/".$prefix."propalsnbinyear-".$endyear.".png";
@ -144,7 +147,14 @@ class box_graph_propales_permonth extends ModeleBoxes
$i=$startyear;$legend=array(); $i=$startyear;$legend=array();
while ($i <= $endyear) while ($i <= $endyear)
{ {
$legend[]=$i; if ($startmonth != 1)
{
$legend[]=sprintf("%d/%d", $i-2001, $i-2000);
}
else
{
$legend[]=$i;
}
$i++; $i++;
} }
$px1->SetLegend($legend); $px1->SetLegend($legend);
@ -165,7 +175,7 @@ class box_graph_propales_permonth extends ModeleBoxes
// Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...) // Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...)
if ($showtot) if ($showtot)
{ {
$data2 = $stats->getAmountByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0)); $data2 = $stats->getAmountByMonthWithPrevYear($endyear, $startyear, (GETPOST('action', 'aZ09')==$refreshaction?-1:(3600*24)), ($WIDTH<300?2:0), $startmonth);
$datatype2 = array_pad(array(), ($endyear-$startyear+1), 'bars'); $datatype2 = array_pad(array(), ($endyear-$startyear+1), 'bars');
//$datatype2 = array('lines','bars'); //$datatype2 = array('lines','bars');
@ -183,7 +193,14 @@ class box_graph_propales_permonth extends ModeleBoxes
$i=$startyear;$legend=array(); $i=$startyear;$legend=array();
while ($i <= $endyear) while ($i <= $endyear)
{ {
$legend[]=$i; if ($startmonth != 1)
{
$legend[]=sprintf("%d/%d", $i-2001, $i-2000);
}
else
{
$legend[]=$i;
}
$i++; $i++;
} }
$px2->SetLegend($legend); $px2->SetLegend($legend);

View File

@ -1094,7 +1094,7 @@ class DolGraph
$i++; $i++;
} }
// shadowSize: 0 -> Drawing is faster without shadows // shadowSize: 0 -> Drawing is faster without shadows
$this->stringtoshow.="\n".' ], { series: { shadowSize: 0, stack: stack, lines: { fill: false, steps: steps }, bars: { barWidth: 0.6 } }'."\n"; $this->stringtoshow.="\n".' ], { series: { shadowSize: 0, stack: stack, lines: { fill: false, steps: steps }, bars: { barWidth: 0.6, fillColor: { colors: [{opacity: 0.9 }, {opacity: 0.85}] }} }'."\n";
// Xaxis // Xaxis
$this->stringtoshow.=', xaxis: { ticks: ['."\n"; $this->stringtoshow.=', xaxis: { ticks: ['."\n";

View File

@ -523,7 +523,7 @@ class Form
* @param string $extracss Add a CSS style to td, div or span tag * @param string $extracss Add a CSS style to td, div or span tag
* @param int $noencodehtmltext Do not encode into html entity the htmltext * @param int $noencodehtmltext Do not encode into html entity the htmltext
* @param int $notabs 0=Include table and tr tags, 1=Do not include table and tr tags, 2=use div, 3=use span * @param int $notabs 0=Include table and tr tags, 1=Do not include table and tr tags, 2=use div, 3=use span
* @param string $tooltiptrigger ''=Tooltip on hover, 'abc'=Tooltip on click (abc is a unique key) * @param string $tooltiptrigger ''=Tooltip on hover, 'abc'=Tooltip on click (abc is a unique key, clickable link is on image or on link if param $type='none')
* @param int $forcenowrap Force no wrap between text and picto (works with notabs=2 only) * @param int $forcenowrap Force no wrap between text and picto (works with notabs=2 only)
* @return string HTML code of text, picto, tooltip * @return string HTML code of text, picto, tooltip
*/ */

View File

@ -176,7 +176,21 @@ class FormWebsite
$langs->load("admin"); $langs->load("admin");
$arrayofsamples=array('empty'=>'EmptyPage', 'corporatehome'=>'CorporateHomePage'); $listofsamples = dol_dir_list(DOL_DOCUMENT_ROOT.'/website/samples', 'files', 0, '^page-sample-.*\.html$');
$arrayofsamples = array();
$arrayofsamples['empty']='EmptyPage'; // Always this one first
foreach($listofsamples as $sample)
{
$reg = array();
if (preg_match('/^page-sample-(.*)\.html$/', $sample['name'], $reg))
{
$key = $reg[1];
$labelkey = ucfirst($key);
if ($key == 'empty') $labelkey = 'EmptyPage';
$arrayofsamples[$key] = $labelkey;
}
}
$out = ''; $out = '';
$out .= '<select id="select'.$htmlname.'" class="flat selectTypeOfContainer" name="'.$htmlname.'"'.($moreattrib?' '.$moreattrib:'').'>'; $out .= '<select id="select'.$htmlname.'" class="flat selectTypeOfContainer" name="'.$htmlname.'"'.($moreattrib?' '.$moreattrib:'').'>';

File diff suppressed because it is too large Load Diff

View File

@ -39,10 +39,12 @@ abstract class Stats
* @param int $endyear Start year * @param int $endyear Start year
* @param int $startyear End year * @param int $startyear End year
* @param int $cachedelay Delay we accept for cache file (0=No read, no save of cache, -1=No read but save) * @param int $cachedelay Delay we accept for cache file (0=No read, no save of cache, -1=No read but save)
* @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month
* @return array Array of values * @param int $startmonth month of the fiscal year start min 1 max 12 ; if 1 = january
* @return array Array of values
*/ */
public function getNbByMonthWithPrevYear($endyear, $startyear, $cachedelay = 0, $format = 0) public function getNbByMonthWithPrevYear($endyear, $startyear, $cachedelay = 0, $format = 0, $startmonth = 1)
{ {
global $conf,$user,$langs; global $conf,$user,$langs;
@ -86,6 +88,8 @@ abstract class Stats
else else
{ {
$year=$startyear; $year=$startyear;
$sm = $startmonth - 1;
if ($sm != 0) $year = $year - 1;
while ($year <= $endyear) while ($year <= $endyear)
{ {
$datay[$year] = $this->getNbByMonth($year, $format); $datay[$year] = $this->getNbByMonth($year, $format);
@ -96,11 +100,11 @@ abstract class Stats
for ($i = 0 ; $i < 12 ; $i++) for ($i = 0 ; $i < 12 ; $i++)
{ {
$data[$i][]=$datay[$endyear][$i][0]; $data[$i][]=$datay[$endyear][($i+$sm)%12][0];
$year=$startyear; $year=$startyear;
while($year <= $endyear) while($year <= $endyear)
{ {
$data[$i][]=$datay[$year][$i][1]; $data[$i][]=$datay[$year - (1 - ((int) ($i+$sm)/12)) + ($sm == 0 ? 1 : 0)][($i+$sm)%12][1];
$year++; $year++;
} }
} }
@ -134,9 +138,10 @@ abstract class Stats
* @param int $startyear End year * @param int $startyear End year
* @param int $cachedelay Delay we accept for cache file (0=No read, no save of cache, -1=No read but save) * @param int $cachedelay Delay we accept for cache file (0=No read, no save of cache, -1=No read but save)
* @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month
* @param int $startmonth month of the fiscal year start min 1 max 12 ; if 1 = january
* @return array Array of values * @return array Array of values
*/ */
public function getAmountByMonthWithPrevYear($endyear, $startyear, $cachedelay = 0, $format = 0) public function getAmountByMonthWithPrevYear($endyear, $startyear, $cachedelay = 0, $format = 0, $startmonth = 1)
{ {
global $conf,$user,$langs; global $conf,$user,$langs;
@ -181,6 +186,8 @@ abstract class Stats
else else
{ {
$year=$startyear; $year=$startyear;
$sm = $startmonth - 1;
if ($sm != 0) $year = $year - 1;
while($year <= $endyear) while($year <= $endyear)
{ {
$datay[$year] = $this->getAmountByMonth($year, $format); $datay[$year] = $this->getAmountByMonth($year, $format);
@ -191,11 +198,11 @@ abstract class Stats
// $data = array('xval'=>array(0=>xlabel,1=>yval1,2=>yval2...),...) // $data = array('xval'=>array(0=>xlabel,1=>yval1,2=>yval2...),...)
for ($i = 0 ; $i < 12 ; $i++) for ($i = 0 ; $i < 12 ; $i++)
{ {
$data[$i][]=$datay[$endyear][$i][0]; // set label $data[$i][]=$datay[$endyear][($i+$sm)%12][0]; // set label
$year=$startyear; $year=$startyear;
while($year <= $endyear) while($year <= $endyear)
{ {
$data[$i][]=$datay[$year][$i][1]; // set yval for x=i $data[$i][]=$datay[$year - (1 - ((int) ($i+$sm)/12)) + ($sm == 0 ? 1 : 0)][($i+$sm)%12][1]; // set yval for x=i
$year++; $year++;
} }
} }
@ -411,7 +418,8 @@ abstract class Stats
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
/** /**
* Renvoie le nombre de proposition par mois pour une annee donnee * Renvoie le nombre de documents par mois pour une annee donnee
* Return number of documents per month for a given year
* *
* @param int $year Year * @param int $year Year
* @param string $sql SQL * @param string $sql SQL
@ -470,7 +478,8 @@ abstract class Stats
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
/** /**
* Renvoie le nombre d'element par mois pour une annee donnee * Renvoie le montant totalise par mois pour une annee donnee
* Return the amount per month for a given year
* *
* @param int $year Year * @param int $year Year
* @param string $sql SQL * @param string $sql SQL
@ -527,6 +536,7 @@ abstract class Stats
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
/** /**
* Renvoie le montant moyen par mois pour une annee donnee * Renvoie le montant moyen par mois pour une annee donnee
* Return the amount average par month for a given year
* *
* @param int $year Year * @param int $year Year
* @param string $sql SQL * @param string $sql SQL

View File

@ -856,7 +856,8 @@ function newpopup(url, title) {
} }
/** /**
* Function show document preview. Use the "dialog" function. * Function show document preview. It uses the "dialog" function.
* The a tag around the img must have the src='', class='documentpreview', mime='image/xxx', target='_blank' from getAdvancedPreviewUrl().
* *
* @param string file Url * @param string file Url
* @param string type Mime file type ("image/jpeg", "application/pdf", "text/html") * @param string type Mime file type ("image/jpeg", "application/pdf", "text/html")

View File

@ -555,6 +555,7 @@ function dol_count_nb_of_line($file)
* *
* @param string $pathoffile Path of file * @param string $pathoffile Path of file
* @return integer File size * @return integer File size
* @see dol_print_size()
*/ */
function dol_filesize($pathoffile) function dol_filesize($pathoffile)
{ {
@ -1888,24 +1889,87 @@ function dol_convert_file($fileinput, $ext = 'png', $fileoutput = '', $page = ''
*/ */
function dol_compress_file($inputfile, $outputfile, $mode = "gz") function dol_compress_file($inputfile, $outputfile, $mode = "gz")
{ {
global $conf;
$foundhandler=0; $foundhandler=0;
try try
{ {
dol_syslog("dol_compress_file mode=".$mode." inputfile=".$inputfile." outputfile=".$outputfile);
$data = implode("", file(dol_osencode($inputfile))); $data = implode("", file(dol_osencode($inputfile)));
if ($mode == 'gz') { $foundhandler=1; $compressdata = gzencode($data, 9); } if ($mode == 'gz') { $foundhandler=1; $compressdata = gzencode($data, 9); }
elseif ($mode == 'bz') { $foundhandler=1; $compressdata = bzcompress($data, 9); } elseif ($mode == 'bz') { $foundhandler=1; $compressdata = bzcompress($data, 9); }
elseif ($mode == 'zip') elseif ($mode == 'zip')
{ {
if (class_exists('ZipArchive') && ! empty($conf->global->MAIN_USE_ZIPARCHIVE_FOR_ZIP_COMPRESS))
{
$foundhandler=1;
$rootPath = realpath($inputfile);
dol_syslog("Class ZipArchive is set so we zip using ZipArchive to zip into ".$outputfile.' rootPath='.$rootPath);
$zip = new ZipArchive;
if ($zip->open($outputfile, ZipArchive::CREATE)!==true) {
$errormsg="Failed to open file ".$outputfile."\n";
dol_syslog("dol_compress_file failure - ".$errormsg, LOG_ERR);
return -6;
}
// Create recursive directory iterator
/** @var SplFileInfo[] $files */
$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($rootPath),
RecursiveIteratorIterator::LEAVES_ONLY
);
foreach ($files as $name => $file)
{
// Skip directories (they would be added automatically)
if (!$file->isDir())
{
// Get real and relative path for current file
$filePath = $file->getRealPath();
$relativePath = substr($filePath, strlen($rootPath) + 1);
// Add current file to archive
$zip->addFile($filePath, $relativePath);
}
}
// Zip archive will be created only after closing object
$zip->close();
dol_syslog("dol_compress_file success - ".count($zip->numFiles)." files");
return 1;
}
if (defined('ODTPHP_PATHTOPCLZIP')) if (defined('ODTPHP_PATHTOPCLZIP'))
{ {
$foundhandler=1; $foundhandler=1;
include_once ODTPHP_PATHTOPCLZIP.'/pclzip.lib.php'; include_once ODTPHP_PATHTOPCLZIP.'/pclzip.lib.php';
$archive = new PclZip($outputfile); $archive = new PclZip($outputfile);
$archive->add($inputfile, PCLZIP_OPT_REMOVE_PATH, dirname($inputfile)); $result = $archive->add($inputfile, PCLZIP_OPT_REMOVE_PATH, dirname($inputfile));
//$archive->add($inputfile);
return 1; if ($result === 0)
{
global $errormsg;
$errormsg=$archive->errorInfo(true);
dol_syslog("dol_compress_file failure - ".$errormsg, LOG_ERR);
if ($archive->errorCode() == PCLZIP_ERR_WRITE_OPEN_FAIL)
{
dol_syslog("dol_compress_file error PCLZIP_ERR_WRITE_OPEN_FAIL", LOG_ERR);
return -4;
}
return -3;
}
else
{
dol_syslog("dol_compress_file success - ".count($result)." files");
return 1;
}
} }
} }
@ -1941,9 +2005,9 @@ function dol_compress_file($inputfile, $outputfile, $mode = "gz")
*/ */
function dol_uncompress($inputfile, $outputdir) function dol_uncompress($inputfile, $outputdir)
{ {
global $langs; global $conf, $langs;
if (defined('ODTPHP_PATHTOPCLZIP')) if (defined('ODTPHP_PATHTOPCLZIP') && empty($conf->global->MAIN_USE_ZIPARCHIVE_FOR_ZIP_UNCOMPRESS))
{ {
dol_syslog("Constant ODTPHP_PATHTOPCLZIP for pclzip library is set to ".ODTPHP_PATHTOPCLZIP.", so we use Pclzip to unzip into ".$outputdir); dol_syslog("Constant ODTPHP_PATHTOPCLZIP for pclzip library is set to ".ODTPHP_PATHTOPCLZIP.", so we use Pclzip to unzip into ".$outputdir);
include_once ODTPHP_PATHTOPCLZIP.'/pclzip.lib.php'; include_once ODTPHP_PATHTOPCLZIP.'/pclzip.lib.php';
@ -2164,6 +2228,12 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity,
$accessallowed=($user->admin && basename($original_file) == $original_file && preg_match('/^dolibarr.*\.log$/', basename($original_file))); $accessallowed=($user->admin && basename($original_file) == $original_file && preg_match('/^dolibarr.*\.log$/', basename($original_file)));
$original_file=$dolibarr_main_data_root.'/'.$original_file; $original_file=$dolibarr_main_data_root.'/'.$original_file;
} }
// Wrapping for *.log files, like when used with url http://.../document.php?modulepart=logs&file=dolibarr.log
elseif ($modulepart == 'doctemplateswebsite' && !empty($dolibarr_main_data_root))
{
$accessallowed=($fuser->rights->website->write && preg_match('/\.jpg$/i', basename($original_file)));
$original_file=$dolibarr_main_data_root.'/doctemplates/websites/'.$original_file;
}
// Wrapping for *.zip files, like when used with url http://.../document.php?modulepart=packages&file=module_myfile.zip // Wrapping for *.zip files, like when used with url http://.../document.php?modulepart=packages&file=module_myfile.zip
elseif ($modulepart == 'packages' && !empty($dolibarr_main_data_root)) elseif ($modulepart == 'packages' && !empty($dolibarr_main_data_root))
{ {
@ -2430,6 +2500,14 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity,
} }
$original_file=$conf->commande->dir_output.'/temp/massgeneration/'.$user->id.'/'.$original_file; $original_file=$conf->commande->dir_output.'/temp/massgeneration/'.$user->id.'/'.$original_file;
} }
elseif ($modulepart == 'massfilesarea_sendings')
{
if ($fuser->rights->expedition->{$lire} || preg_match('/^specimen/i', $original_file))
{
$accessallowed=1;
}
$original_file=$conf->expedition->dir_output.'/sending/temp/massgeneration/'.$user->id.'/'.$original_file;
}
elseif ($modulepart == 'massfilesarea_invoices') elseif ($modulepart == 'massfilesarea_invoices')
{ {
if ($fuser->rights->facture->{$lire} || preg_match('/^specimen/i', $original_file)) if ($fuser->rights->facture->{$lire} || preg_match('/^specimen/i', $original_file))

View File

@ -576,6 +576,7 @@ function isValidVATID($company)
{ {
$vatprefix = $company->country_code; $vatprefix = $company->country_code;
if ($vatprefix == 'GR') $vatprefix = '(EL|GR)'; if ($vatprefix == 'GR') $vatprefix = '(EL|GR)';
elseif ($vatprefix == 'MC') $vatprefix = 'FR'; // Monaco is using french VAT numbers
else $vatprefix = preg_quote($vatprefix, '/'); else $vatprefix = preg_quote($vatprefix, '/');
if (! preg_match('/^'.$vatprefix.'[a-zA-Z0-9\-\.]{5,14}$/i', str_replace(' ', '', $company->tva_intra))) if (! preg_match('/^'.$vatprefix.'[a-zA-Z0-9\-\.]{5,14}$/i', str_replace(' ', '', $company->tva_intra)))
{ {

View File

@ -295,10 +295,9 @@ function user_admin_prepare_head()
* @param boolean $foruserprofile Show for user profile view * @param boolean $foruserprofile Show for user profile view
* @return void * @return void
*/ */
function show_theme($fuser, $edit = 0, $foruserprofile = false) function showSkins($fuser, $edit = 0, $foruserprofile = false)
{ {
global $conf,$langs,$db,$form; global $conf,$langs,$db,$form;
global $bc;
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php';
@ -351,9 +350,7 @@ function show_theme($fuser, $edit = 0, $foruserprofile = false)
{ {
print '<tr class="liste_titre"><th class="titlefield">'.$langs->trans("DefaultSkin").'</th>'; print '<tr class="liste_titre"><th class="titlefield">'.$langs->trans("DefaultSkin").'</th>';
print '<th class="right">'; print '<th class="right">';
$url='https://www.dolistore.com/lang-en/4-skins'; $url='https://www.dolistore.com/4-skins';
if (preg_match('/fr/i', $langs->defaultlang)) $url='https://www.dolistore.com/fr/4-themes';
//if (preg_match('/es/i',$langs->defaultlang)) $url='http://www.dolistore.com/lang-es/4-themes';
print '<a href="'.$url.'" target="_blank">'; print '<a href="'.$url.'" target="_blank">';
print $langs->trans('DownloadMoreSkins'); print $langs->trans('DownloadMoreSkins');
print '</a>'; print '</a>';
@ -432,7 +429,7 @@ function show_theme($fuser, $edit = 0, $foruserprofile = false)
print '<tr class="oddeven">'; print '<tr class="oddeven">';
print '<td>'.$langs->trans("TopMenuDisableImages").'</td>'; print '<td>'.$langs->trans("TopMenuDisableImages").'</td>';
print '<td>'.($conf->global->THEME_TOPMENU_DISABLE_IMAGE?$conf->global->THEME_TOPMENU_DISABLE_IMAGE:$langs->trans("Default")).'</td>'; print '<td>'.($conf->global->THEME_TOPMENU_DISABLE_IMAGE?$conf->global->THEME_TOPMENU_DISABLE_IMAGE:$langs->trans("Default")).'</td>';
print '<td class="left" class="nowrap" width="20%"><input '.$bc[$var].' name="check_THEME_TOPMENU_DISABLE_IMAGE" id="check_THEME_TOPMENU_DISABLE_IMAGE" type="checkbox" '.(! empty($object->conf->THEME_ELDY_TEXTLINK)?" checked":""); print '<td class="left" class="nowrap" width="20%"><input name="check_THEME_TOPMENU_DISABLE_IMAGE" id="check_THEME_TOPMENU_DISABLE_IMAGE" type="checkbox" '.(! empty($object->conf->THEME_ELDY_TEXTLINK)?" checked":"");
print (empty($dolibarr_main_demo) && $edit)?'':' disabled="disabled"'; // Disabled for demo print (empty($dolibarr_main_demo) && $edit)?'':' disabled="disabled"'; // Disabled for demo
print '> '.$langs->trans("UsePersonalValue").'</td>'; print '> '.$langs->trans("UsePersonalValue").'</td>';
print '<td>'; print '<td>';
@ -477,7 +474,7 @@ function show_theme($fuser, $edit = 0, $foruserprofile = false)
print '<tr class="oddeven">'; print '<tr class="oddeven">';
print '<td>'.$langs->trans("TopMenuBackgroundColor").'</td>'; print '<td>'.$langs->trans("TopMenuBackgroundColor").'</td>';
print '<td>'.($conf->global->THEME_ELDY_TOPMENU_BACK1?$conf->global->THEME_ELDY_TOPMENU_BACK1:$langs->trans("Default")).'</td>'; print '<td>'.($conf->global->THEME_ELDY_TOPMENU_BACK1?$conf->global->THEME_ELDY_TOPMENU_BACK1:$langs->trans("Default")).'</td>';
print '<td class="nowrap left" width="20%"><input '.$bc[$var].' name="check_THEME_ELDY_TOPMENU_BACK1" id="check_THEME_ELDY_TOPMENU_BACK1" type="checkbox" '.(! empty($object->conf->THEME_ELDY_TOPMENU_BACK1)?" checked":""); print '<td class="nowrap left" width="20%"><input name="check_THEME_ELDY_TOPMENU_BACK1" id="check_THEME_ELDY_TOPMENU_BACK1" type="checkbox" '.(! empty($object->conf->THEME_ELDY_TOPMENU_BACK1)?" checked":"");
print (empty($dolibarr_main_demo) && $edit)?'':' disabled="disabled"'; // Disabled for demo print (empty($dolibarr_main_demo) && $edit)?'':' disabled="disabled"'; // Disabled for demo
print '> '.$langs->trans("UsePersonalValue").'</td>'; print '> '.$langs->trans("UsePersonalValue").'</td>';
print '<td>'; print '<td>';
@ -524,7 +521,7 @@ function show_theme($fuser, $edit = 0, $foruserprofile = false)
print '<tr class="oddeven">'; print '<tr class="oddeven">';
print '<td>'.$langs->trans("TopMenuBackgroundColor").'</td>'; print '<td>'.$langs->trans("TopMenuBackgroundColor").'</td>';
print '<td>'.($conf->global->THEME_ELDY_TOPMENU_BACK1?$conf->global->THEME_ELDY_TOPMENU_BACK1:$langs->trans("Default")).'</td>'; print '<td>'.($conf->global->THEME_ELDY_TOPMENU_BACK1?$conf->global->THEME_ELDY_TOPMENU_BACK1:$langs->trans("Default")).'</td>';
print '<td class="nowrap left" width="20%"><input '.$bc[$var].' name="check_THEME_ELDY_TOPMENU_BACK1" id="check_THEME_ELDY_TOPMENU_BACK1" type="checkbox" '.(! empty($object->conf->THEME_ELDY_TOPMENU_BACK1)?" checked":""); print '<td class="nowrap left" width="20%"><input name="check_THEME_ELDY_TOPMENU_BACK1" id="check_THEME_ELDY_TOPMENU_BACK1" type="checkbox" '.(! empty($object->conf->THEME_ELDY_TOPMENU_BACK1)?" checked":"");
print (empty($dolibarr_main_demo) && $edit)?'':' disabled="disabled"'; // Disabled for demo print (empty($dolibarr_main_demo) && $edit)?'':' disabled="disabled"'; // Disabled for demo
print '> '.$langs->trans("UsePersonalValue").'</td>'; print '> '.$langs->trans("UsePersonalValue").'</td>';
print '<td>'; print '<td>';
@ -573,7 +570,7 @@ function show_theme($fuser, $edit = 0, $foruserprofile = false)
print '<tr class="oddeven">'; print '<tr class="oddeven">';
print '<td>'.$langs->trans("TopMenuBackgroundColor").'</td>'; print '<td>'.$langs->trans("TopMenuBackgroundColor").'</td>';
print '<td>'.($conf->global->THEME_ELDY_TOPMENU_BACK1?$conf->global->THEME_ELDY_VERMENU_BACK1:$langs->trans("Default")).'</td>'; print '<td>'.($conf->global->THEME_ELDY_TOPMENU_BACK1?$conf->global->THEME_ELDY_VERMENU_BACK1:$langs->trans("Default")).'</td>';
print '<td class="nowrap left" width="20%"><input '.$bc[$var].' name="check_THEME_ELDY_VERMENU_BACK1" id="check_THEME_ELDY_VERMENU_BACK1" type="checkbox" '.(! empty($object->conf->THEME_ELDY_TOPMENU_BACK1)?" checked":""); print '<td class="nowrap left" width="20%"><input name="check_THEME_ELDY_VERMENU_BACK1" id="check_THEME_ELDY_VERMENU_BACK1" type="checkbox" '.(! empty($object->conf->THEME_ELDY_TOPMENU_BACK1)?" checked":"");
print (empty($dolibarr_main_demo) && $edit)?'':' disabled="disabled"'; // Disabled for demo print (empty($dolibarr_main_demo) && $edit)?'':' disabled="disabled"'; // Disabled for demo
print '> '.$langs->trans("UsePersonalValue").'</td>'; print '> '.$langs->trans("UsePersonalValue").'</td>';
print '<td>'; print '<td>';
@ -763,7 +760,7 @@ function show_theme($fuser, $edit = 0, $foruserprofile = false)
print '<tr class="oddeven">'; print '<tr class="oddeven">';
print '<td>'.$langs->trans("TopMenuBackgroundColor").'</td>'; print '<td>'.$langs->trans("TopMenuBackgroundColor").'</td>';
print '<td>'.($conf->global->THEME_ELDY_TOPMENU_BACK1?$conf->global->THEME_ELDY_TEXTLINK:$langs->trans("Default")).'</td>'; print '<td>'.($conf->global->THEME_ELDY_TOPMENU_BACK1?$conf->global->THEME_ELDY_TEXTLINK:$langs->trans("Default")).'</td>';
print '<td class="nowrap left" width="20%"><input '.$bc[$var].' name="check_THEME_ELDY_TEXTLINK" id="check_THEME_ELDY_TEXTLINK" type="checkbox" '.(! empty($object->conf->THEME_ELDY_TEXTLINK)?" checked":""); print '<td class="nowrap left" width="20%"><input name="check_THEME_ELDY_TEXTLINK" id="check_THEME_ELDY_TEXTLINK" type="checkbox" '.(! empty($object->conf->THEME_ELDY_TEXTLINK)?" checked":"");
print (empty($dolibarr_main_demo) && $edit)?'':' disabled="disabled"'; // Disabled for demo print (empty($dolibarr_main_demo) && $edit)?'':' disabled="disabled"'; // Disabled for demo
print '> '.$langs->trans("UsePersonalValue").'</td>'; print '> '.$langs->trans("UsePersonalValue").'</td>';
print '<td>'; print '<td>';
@ -813,9 +810,9 @@ function show_theme($fuser, $edit = 0, $foruserprofile = false)
/* Must first change option to choose color of highlight instead of yes or no. /* Must first change option to choose color of highlight instead of yes or no.
print '<tr class="oddeven">'; print '<tr class="oddeven">';
print '<td>'.$langs->trans("HighlightLinesOnMouseHover").'</td>'; print '<td>'.$langs->trans("HighlightLinesOnMouseHover").'</td>';
print '<td><input '.$bc[$var].' name="check_THEME_ELDY_USE_HOVER" disabled="disabled" type="checkbox" '.($conf->global->THEME_ELDY_USE_HOVER?" checked":"").'></td>'; print '<td><input name="check_THEME_ELDY_USE_HOVER" disabled="disabled" type="checkbox" '.($conf->global->THEME_ELDY_USE_HOVER?" checked":"").'></td>';
print '<td class="nowrap left" width="20%"><input '.$bc[$var].' name="check_MAIN_THEME"'.($edit?'':' disabled').' type="checkbox" '.($selected_theme?" checked":"").'> '.$langs->trans("UsePersonalValue").'</td>'; print '<td class="nowrap left" width="20%"><input name="check_MAIN_THEME"'.($edit?'':' disabled').' type="checkbox" '.($selected_theme?" checked":"").'> '.$langs->trans("UsePersonalValue").'</td>';
print '<td><input '.$bc[$var].' name="check_THEME_ELDY_USE_HOVER"'.($edit?'':' disabled="disabled"').' type="checkbox" '.($hoverdisabled?"":" checked").'>'; print '<td><input name="check_THEME_ELDY_USE_HOVER"'.($edit?'':' disabled="disabled"').' type="checkbox" '.($hoverdisabled?"":" checked").'>';
print ' &nbsp; ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')'; print ' &nbsp; ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')';
print '</td>'; print '</td>';
print '</tr>'; print '</tr>';
@ -825,7 +822,7 @@ function show_theme($fuser, $edit = 0, $foruserprofile = false)
print '<tr class="oddeven">'; print '<tr class="oddeven">';
print '<td>'.$langs->trans("HighlightLinesColor").'</td>'; print '<td>'.$langs->trans("HighlightLinesColor").'</td>';
print '<td colspan="'.($colspan-1).'">'; print '<td colspan="'.($colspan-1).'">';
//print '<input '.$bc[$var].' name="check_THEME_ELDY_USE_HOVER"'.($edit?'':' disabled').' type="checkbox" '.($hoverdisabled?"":" checked").'>'; //print '<input name="check_THEME_ELDY_USE_HOVER"'.($edit?'':' disabled').' type="checkbox" '.($hoverdisabled?"":" checked").'>';
//print ' &nbsp; ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')'; //print ' &nbsp; ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')';
if ($edit) if ($edit)
{ {
@ -856,9 +853,9 @@ function show_theme($fuser, $edit = 0, $foruserprofile = false)
/* Must first change option to choose color of highlight instead of yes or no. /* Must first change option to choose color of highlight instead of yes or no.
print '<tr class="oddeven">'; print '<tr class="oddeven">';
print '<td>'.$langs->trans("HighlightLinesOnMouseHover").'</td>'; print '<td>'.$langs->trans("HighlightLinesOnMouseHover").'</td>';
print '<td><input '.$bc[$var].' name="check_THEME_ELDY_USE_HOVER" disabled="disabled" type="checkbox" '.($conf->global->THEME_ELDY_USE_HOVER?" checked":"").'></td>'; print '<td><input name="check_THEME_ELDY_USE_HOVER" disabled="disabled" type="checkbox" '.($conf->global->THEME_ELDY_USE_HOVER?" checked":"").'></td>';
print '<td class="nowrap left" width="20%"><input '.$bc[$var].' name="check_MAIN_THEME"'.($edit?'':' disabled').' type="checkbox" '.($selected_theme?" checked":"").'> '.$langs->trans("UsePersonalValue").'</td>'; print '<td class="nowrap left" width="20%"><input name="check_MAIN_THEME"'.($edit?'':' disabled').' type="checkbox" '.($selected_theme?" checked":"").'> '.$langs->trans("UsePersonalValue").'</td>';
print '<td><input '.$bc[$var].' name="check_THEME_ELDY_USE_HOVER"'.($edit?'':' disabled="disabled"').' type="checkbox" '.($hoverdisabled?"":" checked").'>'; print '<td><input name="check_THEME_ELDY_USE_HOVER"'.($edit?'':' disabled="disabled"').' type="checkbox" '.($hoverdisabled?"":" checked").'>';
print ' &nbsp; ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')'; print ' &nbsp; ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')';
print '</td>'; print '</td>';
print '</tr>'; print '</tr>';
@ -869,7 +866,7 @@ function show_theme($fuser, $edit = 0, $foruserprofile = false)
print '<tr class="oddeven">'; print '<tr class="oddeven">';
print '<td>'.$langs->trans("HighlightLinesChecked").'</td>'; print '<td>'.$langs->trans("HighlightLinesChecked").'</td>';
print '<td colspan="'.($colspan-1).'">'; print '<td colspan="'.($colspan-1).'">';
//print '<input '.$bc[$var].' name="check_THEME_ELDY_USE_HOVER"'.($edit?'':' disabled').' type="checkbox" '.($hoverdisabled?"":" checked").'>'; //print '<input name="check_THEME_ELDY_USE_HOVER"'.($edit?'':' disabled').' type="checkbox" '.($hoverdisabled?"":" checked").'>';
//print ' &nbsp; ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')'; //print ' &nbsp; ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')';
if ($edit) if ($edit)
{ {
@ -947,5 +944,44 @@ function show_theme($fuser, $edit = 0, $foruserprofile = false)
*/ */
} }
// Use MAIN_OPTIMIZEFORTEXTBROWSER
if ($foruserprofile)
{
//$default=yn($conf->global->MAIN_OPTIMIZEFORCOLORBLIND);
$default=$langs->trans('No');
print '<tr class="oddeven">';
print '<td>'.$langs->trans("MAIN_OPTIMIZEFORCOLORBLIND").'</td>';
print '<td colspan="'.($colspan-1).'">';
$colorBlindOptions = array(
0 => $langs->trans('No'),
'protanopia' => $langs->trans('Protanopia'),
'deuteranopes' => $langs->trans('Deuteranopes'),
'tritanopes' => $langs->trans('Tritanopes'),
);
if ($edit)
{
print $form->selectArray('MAIN_OPTIMIZEFORCOLORBLIND', $colorBlindOptions, $fuser->conf->MAIN_OPTIMIZEFORCOLORBLIND, 0);
}
else
{
if (!empty($fuser->conf->MAIN_OPTIMIZEFORCOLORBLIND) && isset($colorBlindOptions[$fuser->conf->MAIN_OPTIMIZEFORCOLORBLIND])){
print $colorBlindOptions[$fuser->conf->MAIN_OPTIMIZEFORCOLORBLIND];
}
else{
print yn(0);
}
}
print ' &nbsp; ('.$langs->trans("Default").': <strong>'.$default.'</strong>) ';
print $form->textwithpicto('', $langs->trans("MAIN_OPTIMIZEFORCOLORBLINDDesc"));
print '</td>';
print '</tr>';
}
else
{
}
print '</table>'; print '</table>';
} }

View File

@ -22,78 +22,6 @@
*/ */
/**
* Convert a page content to have correct links (based on DOL_URL_ROOT) into an html content.
* Used to ouput the page on the Preview from backoffice.
*
* @param Website $website Web site object
* @param string $content Content to replace
* @param int $removephppart 0=Replace PHP sections with a PHP badge. 1=Remove completely PHP sections.
* @return boolean True if OK
* @see dolWebsiteOutput() for function used to replace content in a web server context
*/
function dolWebsiteReplacementOfLinks($website, $content, $removephppart = 0)
{
$nbrep = 0;
// Replace php code. Note $content may come from database and does not contains body tags.
$replacewith='...php...';
if ($removephppart) $replacewith='';
$content = preg_replace('/value="<\?php((?!\?>).)*\?>\n*/ims', 'value="'.$replacewith.'"', $content);
$replacewith='"callto=#';
if ($removephppart) $replacewith='';
$content = preg_replace('/"callto:<\?php((?!\?>).)*\?>\n*/ims', $replacewith, $content);
$replacewith='"mailto=#';
if ($removephppart) $replacewith='';
$content = preg_replace('/"mailto:<\?php((?!\?>).)*\?>\n*/ims', $replacewith, $content);
$replacewith='src="php';
if ($removephppart) $replacewith='';
$content = preg_replace('/src="<\?php((?!\?>).)*\?>\n*/ims', $replacewith, $content);
$replacewith='href="php';
if ($removephppart) $replacewith='';
$content = preg_replace('/href="<\?php((?!\?>).)*\?>\n*/ims', $replacewith, $content);
//$replacewith='<span class="phptag">...php...</span>';
$replacewith='<span class="phptag">...php...</span>';
if ($removephppart) $replacewith='';
//$content = preg_replace('/<\?php((?!\?toremove>).)*\?toremove>\n*/ims', $replacewith, $content);
/*if ($content === null) {
if (preg_last_error() == PREG_JIT_STACKLIMIT_ERROR) $content = 'preg_replace error (when removing php tags) PREG_JIT_STACKLIMIT_ERROR';
}*/
$content = dolStripPhpCode($content, $replacewith);
//var_dump($content);
// Replace relative link / with dolibarr URL
$content = preg_replace('/(href=")\/\"/', '\1'.DOL_URL_ROOT.'/website/index.php?website='.$website->ref.'&pageid='.$website->fk_default_home.'"', $content, -1, $nbrep);
// Replace relative link /xxx.php with dolibarr URL
$content = preg_replace('/(href=")\/?([^:\"]*)(\.php\")/', '\1'.DOL_URL_ROOT.'/website/index.php?website='.$website->ref.'&pageref=\2"', $content, -1, $nbrep);
// Fix relative link into medias with correct URL after the DOL_URL_ROOT: ../url("medias/
$content = preg_replace('/url\((["\']?)medias\//', 'url(\1'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
$content = preg_replace('/data-slide-bg=(["\']?)medias\//', 'data-slide-bg=\1'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
// <img src="medias/image.png... => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png...
$content = preg_replace('/(<img[^>]*src=")(medias\/)/', '\1'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
// <img src="image.png... => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png...
$content = preg_replace('/(<img[^>]*src=")(?!(http|\/?viewimage|'.preg_quote(DOL_URL_ROOT, '/').'\/viewimage))/', '\1'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
// <img src="viewimage.php/modulepart=medias&file=image.png" => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png"
$content = preg_replace('/(<img[^>]*src=")(\/?viewimage\.php)/', '\1'.DOL_URL_ROOT.'/viewimage.php', $content, -1, $nbrep);
// action="newpage.php" => action="dolibarr/website/index.php?website=...&pageref=newpage
$content = preg_replace('/(action=")\/?([^:\"]*)(\.php\")/', '\1'.DOL_URL_ROOT.'/website/index.php?website='.$website->ref.'&pageref=\2"', $content, -1, $nbrep);
// Fix relative link /document.php with correct URL after the DOL_URL_ROOT: ...href="/document.php?modulepart="
$content=preg_replace('/(href=")(\/?document\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
$content=preg_replace('/(src=")(\/?document\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
return $content;
}
/** /**
* Remove PHP code part from a string. * Remove PHP code part from a string.
* *
@ -119,14 +47,15 @@ function dolStripPhpCode($str, $replacewith = '')
$newstr .= $part; $newstr .= $part;
continue; continue;
} }
//split on closing tag // The second part is the php code. We split on closing tag
$partlings = explode('?>', $part); $partlings = explode('?>', $part);
if (!empty($partlings)) if (!empty($partlings))
{ {
$phppart = $partlings[0];
//remove content before closing tag //remove content before closing tag
if (count($partlings) > 1) $partlings[0] = ''; if (count($partlings) > 1) $partlings[0] = ''; // Todo why a count > 1 and not >= 1 ?
//append to out string //append to out string
$newstr .= $replacewith.implode('', $partlings); $newstr .= '<span class="phptag">'.$replacewith.'<!-- '.$phppart.' --></span>'.implode('', $partlings);
} }
} }
} }
@ -142,50 +71,142 @@ function dolStripPhpCode($str, $replacewith = '')
*/ */
function dolKeepOnlyPhpCode($str) function dolKeepOnlyPhpCode($str)
{ {
$newstr = ''; $newstr = '';
//split on each opening tag //split on each opening tag
$parts = explode('<?php', $str); $parts = explode('<?php', $str);
if (!empty($parts)) if (!empty($parts))
{ {
$i=0; $i=0;
foreach($parts as $part) foreach($parts as $part)
{ {
if ($i == 0) // The first part is never php code if ($i == 0) // The first part is never php code
{ {
$i++; $i++;
continue; continue;
} }
$newstr.='<?php'; $newstr.='<?php';
//split on closing tag //split on closing tag
$partlings = explode('?>', $part, 2); $partlings = explode('?>', $part, 2);
if (!empty($partlings)) if (!empty($partlings))
{ {
$newstr .= $partlings[0].'?>'; $newstr .= $partlings[0].'?>';
} }
else else
{ {
$newstr .= $part.'?>'; $newstr .= $part.'?>';
} }
} }
} }
return $newstr; return $newstr;
}
/**
* Convert a page content to have correct links (based on DOL_URL_ROOT) into an html content. It replaces also dynamic content with '...php...'
* Used to ouput the page on the Preview from backoffice.
*
* @param Website $website Web site object
* @param string $content Content to replace
* @param int $removephppart 0=Replace PHP sections with a PHP badge. 1=Remove completely PHP sections.
* @param string $contenttype Content type
* @param int $containerid Contenair id
* @return boolean True if OK
* @see dolWebsiteOutput() for function used to replace content in a web server context
*/
function dolWebsiteReplacementOfLinks($website, $content, $removephppart = 0, $contenttype = 'html', $containerid = '')
{
$nbrep = 0;
dol_syslog('dolWebsiteReplacementOfLinks start (contenttype='.$contenttype." containerid=".$containerid." USEDOLIBARREDITOR=".(defined('USEDOLIBARREDITOR')?'1':'')." USEDOLIBARRSERVER=".(defined('USEDOLIBARRSERVER')?'1':'').')', LOG_DEBUG);
//if ($contenttype == 'html') { print $content;exit; }
// Replace php code. Note $content may come from database and does not contains body tags.
$replacewith='...php...';
if ($removephppart) $replacewith='';
$content = preg_replace('/value="<\?php((?!\?>).)*\?>\n*/ims', 'value="'.$replacewith.'"', $content);
$replacewith='"callto=#';
if ($removephppart) $replacewith='';
$content = preg_replace('/"callto:<\?php((?!\?>).)*\?>\n*/ims', $replacewith, $content);
$replacewith='"mailto=#';
if ($removephppart) $replacewith='';
$content = preg_replace('/"mailto:<\?php((?!\?>).)*\?>\n*/ims', $replacewith, $content);
$replacewith='src="php';
if ($removephppart) $replacewith='';
$content = preg_replace('/src="<\?php((?!\?>).)*\?>\n*/ims', $replacewith, $content);
$replacewith='href="php';
if ($removephppart) $replacewith='';
$content = preg_replace('/href="<\?php((?!\?>).)*\?>\n*/ims', $replacewith, $content);
//$replacewith='<span class="phptag">...php...</span>';
$replacewith='...php...';
if ($removephppart) $replacewith='';
//$content = preg_replace('/<\?php((?!\?toremove>).)*\?toremove>\n*/ims', $replacewith, $content);
/*if ($content === null) {
if (preg_last_error() == PREG_JIT_STACKLIMIT_ERROR) $content = 'preg_replace error (when removing php tags) PREG_JIT_STACKLIMIT_ERROR';
}*/
$content = dolStripPhpCode($content, $replacewith);
//var_dump($content);
// Protect the link styles.css.php to any replacement that we make after.
$content = str_replace('href="styles.css.php', 'href="!~!~!~styles.css.php', $content);
// Replace relative link / with dolibarr URL
$content = preg_replace('/(href=")\/\"/', '\1!~!~!~'.DOL_URL_ROOT.'/website/index.php?website='.$website->ref.'&pageid='.$website->fk_default_home.'"', $content, -1, $nbrep);
// Replace relative link /xxx.php#aaa or /xxx.php with dolibarr URL (we discard param ?...)
$content = preg_replace('/(href=")\/?([^:\"\!]*)\.php(#[^\"<>]*)?\"/', '\1!~!~!~'.DOL_URL_ROOT.'/website/index.php?website='.$website->ref.'&pageref=\2\4"', $content, -1, $nbrep);
// Replace relative link /xxx.php?a=b&c=d#aaa or /xxx.php?a=b&c=d with dolibarr URL
$content = preg_replace('/(href=")\/?([^:\"\!]*)\.php\?([^#\"<>]*)(#[^\"<>]*)?\"/', '\1!~!~!~'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'&pageref=\2&\3\4"', $content, -1, $nbrep);
// Fix relative link into medias with correct URL after the DOL_URL_ROOT: ../url("medias/
$content = preg_replace('/url\((["\']?)medias\//', 'url(\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
$content = preg_replace('/data-slide-bg=(["\']?)medias\//', 'data-slide-bg=\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
// <img src="medias/image.png... => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png...
$content = preg_replace('/(<img[^>]*src=")(medias\/)/', '\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
// <img src="image.png... => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png...
$content = preg_replace('/(<img[^>]*src=")(?!(http|\/?viewimage|'.preg_quote(DOL_URL_ROOT, '/').'\/viewimage))/', '\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
// <img src="viewimage.php/modulepart=medias&file=image.png" => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png"
$content = preg_replace('/(<img[^>]*src=")(\/?viewimage\.php)/', '\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php', $content, -1, $nbrep);
// action="newpage.php" => action="dolibarr/website/index.php?website=...&pageref=newpage
$content = preg_replace('/(action=")\/?([^:\"]*)(\.php\")/', '\1!~!~!~'.DOL_URL_ROOT.'/website/index.php?website='.$website->ref.'&pageref=\2"', $content, -1, $nbrep);
// Fix relative link /document.php with correct URL after the DOL_URL_ROOT: ...href="/document.php?modulepart="
$content=preg_replace('/(href=")(\/?document\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1!~!~!~'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
$content=preg_replace('/(src=")(\/?document\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1!~!~!~'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
// Fix relative link /viewimage.php with correct URL after the DOL_URL_ROOT: ...href="/viewimage.php?modulepart="
$content=preg_replace('/(url\(")(\/?viewimage\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1!~!~!~'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
// Remove the protection tag !~!~!~
$content = str_replace('!~!~!~', '', $content);
dol_syslog('dolWebsiteReplacementOfLinks end', LOG_DEBUG);
//if ($contenttype == 'html') { print $content;exit; }
return $content;
} }
/** /**
* Render a string of an HTML content and output it. * Render a string of an HTML content and output it.
* Used to ouput the page when viewed from server (Dolibarr or Apache). * Used to ouput the page when viewed from server (Dolibarr or Apache).
* *
* @param string $content Content string * @param string $content Content string
* @param string $contenttype Content type
* @param int $containerid Contenair id
* @return void * @return void
* @see dolWebsiteReplacementOfLinks() for function used to replace content in the backoffice context when USEDOLIBARREDITOR is not on * @see dolWebsiteReplacementOfLinks() for function used to replace content in the backoffice context.
*/ */
function dolWebsiteOutput($content) function dolWebsiteOutput($content, $contenttype = 'html', $containerid = '')
{ {
global $db, $langs, $conf, $user; global $db, $langs, $conf, $user;
global $dolibarr_main_url_root, $dolibarr_main_data_root; global $dolibarr_main_url_root, $dolibarr_main_data_root;
dol_syslog("dolWebsiteOutput start (USEDOLIBARRSERVER=".(defined('USEDOLIBARRSERVER')?'1':'')." USEDOLIBARREDITOR=".(defined('USEDOLIBARREDITOR')?'1':'').')'); dol_syslog("dolWebsiteOutput start (contenttype=".$contenttype." containerid=".$containerid." USEDOLIBARREDITOR=".(defined('USEDOLIBARREDITOR')?'1':'')." USEDOLIBARRSERVER=".(defined('USEDOLIBARRSERVER')?'1':'').')');
// Define $urlwithroot // Define $urlwithroot
$urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root)); $urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root));
@ -195,43 +216,54 @@ function dolWebsiteOutput($content)
if (defined('USEDOLIBARREDITOR')) // REPLACEMENT OF LINKS When page called from Dolibarr editor if (defined('USEDOLIBARREDITOR')) // REPLACEMENT OF LINKS When page called from Dolibarr editor
{ {
// We remove the <head> part of content // We remove the <head> part of content
$content = preg_replace('/<head>.*<\/head>/ims', '', $content); if ($contenttype == 'html')
$content = preg_replace('/^.*<body(\s[^>]*)*>/ims', '', $content); {
$content = preg_replace('/<\/body(\s[^>]*)*>.*$/ims', '', $content); $content = preg_replace('/<head>.*<\/head>/ims', '', $content);
$content = preg_replace('/^.*<body(\s[^>]*)*>/ims', '', $content);
$content = preg_replace('/<\/body(\s[^>]*)*>.*$/ims', '', $content);
}
} }
elseif (defined('USEDOLIBARRSERVER')) // REPLACEMENT OF LINKS When page called from Dolibarr server elseif (defined('USEDOLIBARRSERVER')) // REPLACEMENT OF LINKS When page called from Dolibarr server
{ {
global $website; global $website;
// Protect the link styles.css.php to any replacement that we make after.
$content = str_replace('href="styles.css.php', 'href="!~!~!~styles.css.php', $content);
// Replace relative link / with dolibarr URL: ...href="/"... // Replace relative link / with dolibarr URL: ...href="/"...
$content=preg_replace('/(href=")\/\"/', '\1'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'"', $content, -1, $nbrep); $content = preg_replace('/(href=")\/\"/', '\1!~!~!~'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'"', $content, -1, $nbrep);
// Replace relative link /xxx.php with dolibarr URL: ...href="....php" // Replace relative link /xxx.php#aaa or /xxx.php with dolibarr URL: ...href="....php" (we discard param ?...)
$content=preg_replace('/(href=")\/?([^:\"]*)(\.php\")/', '\1'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'&pageref=\2"', $content, -1, $nbrep); $content = preg_replace('/(href=")\/?([^:\"\!]*)\.php(#[^\"<>]*)?\"/', '\1!~!~!~'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'&pageref=\2\3"', $content, -1, $nbrep);
// Replace relative link /xxx with dolibarr URL: ...href="....php" // Replace relative link /xxx.php?a=b&c=d#aaa or /xxx.php?a=b&c=d with dolibarr URL
$content=preg_replace('/(href=")\/?([a-zA-Z0-9\-]+)(\")/', '\1'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'&pageref=\2\3', $content, -1, $nbrep); $content = preg_replace('/(href=")\/?([^:\"\!]*)\.php\?([^#\"<>]*)(#[^\"<>]*)?\"/', '\1!~!~!~'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'&pageref=\2&\3\4"', $content, -1, $nbrep);
$content=preg_replace('/(href=")\/?([a-zA-Z0-9\-]+)(\?)/', '\1'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'&pageref=\2\3', $content, -1, $nbrep); // Replace relative link without .php like /xxx#aaa or /xxx with dolibarr URL: ...href="....php"
$content = preg_replace('/(href=")\/?([a-zA-Z0-9\-_#]+)(\"|\?)/', '\1!~!~!~'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'&pageref=\2\3', $content, -1, $nbrep);
// Fix relative link /document.php with correct URL after the DOL_URL_ROOT: href="/document.php?modulepart=" => href="/dolibarr/document.php?modulepart=" // Fix relative link /document.php with correct URL after the DOL_URL_ROOT: href="/document.php?modulepart=" => href="/dolibarr/document.php?modulepart="
$content=preg_replace('/(href=")(\/?document\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep); $content = preg_replace('/(href=")(\/?document\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1!~!~!~'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
$content=preg_replace('/(src=")(\/?document\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep); $content = preg_replace('/(src=")(\/?document\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1!~!~!~'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
// Fix relative link /viewimage.php with correct URL after the DOL_URL_ROOT: href="/viewimage.php?modulepart=" => href="/dolibarr/viewimage.php?modulepart=" // Fix relative link /viewimage.php with correct URL after the DOL_URL_ROOT: href="/viewimage.php?modulepart=" => href="/dolibarr/viewimage.php?modulepart="
$content=preg_replace('/(href=")(\/?viewimage\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep); $content = preg_replace('/(href=")(\/?viewimage\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1!~!~!~'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
$content=preg_replace('/(src=")(\/?viewimage\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep); $content = preg_replace('/(src=")(\/?viewimage\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1!~!~!~'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
$content = preg_replace('/(url\(")(\/?viewimage\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1!~!~!~'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
// Fix relative link into medias with correct URL after the DOL_URL_ROOT: ../url("medias/ // Fix relative link into medias with correct URL after the DOL_URL_ROOT: ../url("medias/
$content=preg_replace('/url\((["\']?)medias\//', 'url(\1'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep); $content = preg_replace('/url\((["\']?)medias\//', 'url(\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
$content=preg_replace('/data-slide-bg=(["\']?)medias\//', 'data-slide-bg=\1'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep); $content = preg_replace('/data-slide-bg=(["\']?)medias\//', 'data-slide-bg=\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
// <img src="medias/image.png... => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png... // <img src="medias/image.png... => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png...
$content = preg_replace('/(<img[^>]*src=")(medias\/)/', '\1'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep); $content = preg_replace('/(<img[^>]*src=")(medias\/)/', '\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
// <img src="image.png... => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png... // <img src="image.png... => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png...
$content = preg_replace('/(<img[^>]*src=")(?!(http|\/?viewimage|'.preg_quote(DOL_URL_ROOT, '/').'\/viewimage))/', '\1'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep); $content = preg_replace('/(<img[^>]*src=")(?!(http|\/?viewimage|'.preg_quote(DOL_URL_ROOT, '/').'\/viewimage))/', '\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
// <img src="viewimage.php/modulepart=medias&file=image.png" => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png" // <img src="viewimage.php/modulepart=medias&file=image.png" => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png"
$content = preg_replace('/(<img[^>]*src=")(\/?viewimage\.php)/', '\1'.DOL_URL_ROOT.'/viewimage.php', $content, -1, $nbrep); $content = preg_replace('/(<img[^>]*src=")(\/?viewimage\.php)/', '\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php', $content, -1, $nbrep);
// action="newpage.php" => action="dolibarr/website/index.php?website=...&pageref=newpage // action="newpage.php" => action="dolibarr/website/index.php?website=...&pageref=newpage
$content = preg_replace('/(action=")\/?([^:\"]*)(\.php\")/', '\1'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'&pageref=\2"', $content, -1, $nbrep); $content = preg_replace('/(action=")\/?([^:\"]*)(\.php\")/', '\1!~!~!~'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'&pageref=\2"', $content, -1, $nbrep);
// Remove the protection tag !~!~!~
$content = str_replace('!~!~!~', '', $content);
} }
else // REPLACEMENT OF LINKS When page called from virtual host else // REPLACEMENT OF LINKS When page called from virtual host
{ {
@ -285,7 +317,7 @@ function dolWebsiteOutput($content)
* *
* @param string $content Content string * @param string $content Content string
* @return void * @return void
* @see dolWebsiteOutput * @see dolWebsiteOutput()
*/ */
/* /*
function dolWebsiteSaveContent($content) function dolWebsiteSaveContent($content)
@ -342,9 +374,9 @@ function redirectToContainer($containerref, $containeraliasalt = '', $containeri
if (defined('USEDOLIBARREDITOR')) if (defined('USEDOLIBARREDITOR'))
{ {
print '<div class="margintoponly marginleftonly">'; print '<div class="margintoponly marginleftonly">';
print "This page contains dynamic code that make a redirect to '".$containerref."' in your current context. There is no preview for this page."; print "This page contains dynamic code that make a redirect to '".$containerref."' in your current context. Redirect has been canceled as it is not supported in edition mode.";
print '</div>'; print '</div>';
exit; return;
} }
if (defined('USEDOLIBARRSERVER')) // When page called from Dolibarr server if (defined('USEDOLIBARRSERVER')) // When page called from Dolibarr server
@ -452,8 +484,6 @@ function includeContainer($containerref)
function getStructuredData($type, $data = array()) function getStructuredData($type, $data = array())
{ {
global $conf, $db, $hookmanager, $langs, $mysoc, $user, $website, $websitepage, $weblangs; // Very important. Required to have var available when running inluded containers. global $conf, $db, $hookmanager, $langs, $mysoc, $user, $website, $websitepage, $weblangs; // Very important. Required to have var available when running inluded containers.
global $includehtmlcontentopened;
global $websitekey, $websitepagefile;
if ($type == 'software') if ($type == 'software')
{ {
@ -561,6 +591,108 @@ function getStructuredData($type, $data = array())
return $ret; return $ret;
} }
/**
* Return list of containers object that match a criteria
*
* @param string $type Type of container to search into (Example: 'page')
* @param string $algo Algorithm used for search (Example: 'meta' is searching into meta information like title and description, 'metacontent')
* @param string $searchstring Search string
* @param int $max Max number of answers
* @return string HTML content
*/
function getPagesFromSearchCriterias($type, $algo, $searchstring, $max = 25)
{
global $conf, $db, $hookmanager, $langs, $mysoc, $user, $website, $websitepage, $weblangs; // Very important. Required to have var available when running inluded containers.
$error = 0;
$arrayresult = array('code'=>'', 'list'=>array());
if (! is_object($weblangs)) $weblangs = $langs;
if (empty($searchstring))
{
$error++;
$arrayresult['code']='KO';
$arrayresult['message']=$weblangs->trans("EmptySearchString");
}
elseif (dol_strlen($searchstring) < 2)
{
$weblangs->load("errors");
$error++;
$arrayresult['code']='KO';
$arrayresult['message']=$weblangs->trans("ErrorSearchCriteriaTooSmall");
}
elseif (! in_array($type, array('', 'page')))
{
$error++;
$arrayresult['code']='KO';
$arrayresult['message']='Bad value for parameter $type';
}
$searchdone = 0;
if (! $error && in_array($algo, array('meta', 'metacontent', 'content')))
{
$sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.'website_page';
$sql.= " WHERE fk_website = ".$website->id;
if ($type) $sql.= " AND type_container = '".$db->escape($type)."'";
$sql.= " AND (";
$searchalgo = '';
if ($algo == 'meta' || $algo == 'metacontent')
{
$searchalgo.= ($searchalgo?' OR ':'')."title LIKE '%".$db->escape($searchstring)."%' OR description LIKE '%".$db->escape($searchstring)."%'";
$searchalgo.= ($searchalgo?' OR ':'')."keywords LIKE '".$db->escape($searchstring).",%' OR keywords LIKE '% ".$db->escape($searchstring)."%'"; // TODO Use a better way to scan keywords
}
if ($algo == 'metacontent' || $algo == 'content')
{
$searchalgo.= ($searchalgo?' OR ':'')."content LIKE '%".$db->escape($searchstring)."%'";
}
$sql.=$searchalgo;
$sql.= ")";
$sql.= $db->plimit($max);
$resql = $db->query($sql);
if ($resql)
{
$i = 0;
while (($obj = $db->fetch_object($resql)) && ($i < $max || $max == 0))
{
if ($obj->rowid > 0)
{
$tmpwebsitepage = new WebsitePage($db);
$tmpwebsitepage->fetch($obj->rowid);
if ($tmpwebsitepage->id > 0) $arrayresult['list'][]=$tmpwebsitepage;
}
$i++;
}
$arrayresult['code']='OK';
if (empty($arrayresult['list']))
{
$arrayresult['code']='KO';
$arrayresult['message']=$weblangs->trans("NoRecordFound");
}
}
else
{
$error++;
$arrayresult['code']=$db->lasterrno();
$arrayresult['message']=$db->lasterror();
}
$searchdone = 1;
}
if (! $searchdone)
{
$error++;
$arrayresult['code']='KO';
$arrayresult['message']='No supported algorithm found';
}
return $arrayresult;
}
/** /**
* Download all images found into page content $tmp. * Download all images found into page content $tmp.
* If $modifylinks is set, links to images will be replace with a link to viewimage wrapper. * If $modifylinks is set, links to images will be replace with a link to viewimage wrapper.
@ -744,313 +876,3 @@ function getAllImages($object, $objectpage, $urltograb, &$tmp, &$action, $modify
} }
} }
} }
/**
* Save content of a page on disk
*
* @param string $filemaster Full path of filename master.inc.php for website to generate
* @return boolean True if OK
*/
function dolSaveMasterFile($filemaster)
{
global $conf;
// Now generate the master.inc.php page
dol_syslog("We regenerate the master file");
dol_delete_file($filemaster);
$mastercontent = '<?php'."\n";
$mastercontent.= '// File generated to link to the master file - DO NOT MODIFY - It is just an include'."\n";
$mastercontent.= "if (! defined('USEDOLIBARRSERVER') && ! defined('USEDOLIBARREDITOR')) require_once '".DOL_DOCUMENT_ROOT."/master.inc.php';\n";
$mastercontent.= '?>'."\n";
$result = file_put_contents($filemaster, $mastercontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filemaster, octdec($conf->global->MAIN_UMASK));
return $result;
}
/**
* Save content of a page on disk
*
* @param string $filealias Full path of filename to generate
* @param Website $object Object website
* @param WebsitePage $objectpage Object websitepage
* @return boolean True if OK
*/
function dolSavePageAlias($filealias, $object, $objectpage)
{
global $conf;
// Now create the .tpl file (duplicate code with actions updatesource or updatecontent but we need this to save new header)
dol_syslog("We regenerate the alias page filealias=".$filealias);
$aliascontent = '<?php'."\n";
$aliascontent.= "// File generated to wrap the alias page - DO NOT MODIFY - It is just a wrapper to real page\n";
$aliascontent.= 'global $dolibarr_main_data_root;'."\n";
$aliascontent.= 'if (empty($dolibarr_main_data_root)) require \'./page'.$objectpage->id.'.tpl.php\'; ';
$aliascontent.= 'else require $dolibarr_main_data_root.\'/website/\'.$website->ref.\'/page'.$objectpage->id.'.tpl.php\';'."\n";
$aliascontent.= '?>'."\n";
$result = file_put_contents($filealias, $aliascontent);
if (! empty($conf->global->MAIN_UMASK)) {
@chmod($filealias, octdec($conf->global->MAIN_UMASK));
}
return ($result?true:false);
}
/**
* Save content of a page on disk
*
* @param string $filetpl Full path of filename to generate
* @param Website $object Object website
* @param WebsitePage $objectpage Object websitepage
* @return boolean True if OK
*/
function dolSavePageContent($filetpl, $object, $objectpage)
{
global $conf;
// Now create the .tpl file (duplicate code with actions updatesource or updatecontent but we need this to save new header)
dol_syslog("We regenerate the tpl page filetpl=".$filetpl);
dol_delete_file($filetpl);
$shortlangcode = '';
if ($objectpage->lang) $shortlangcode=preg_replace('/[_-].*$/', '', $objectpage->lang); // en_US or en-US -> en
$tplcontent ='';
$tplcontent.= "<?php // BEGIN PHP\n";
$tplcontent.= '$websitekey=basename(__DIR__); if (empty($websitepagefile)) $websitepagefile=__FILE__;'."\n";
$tplcontent.= "if (! defined('USEDOLIBARRSERVER') && ! defined('USEDOLIBARREDITOR')) { require_once './master.inc.php'; } // Not already loaded"."\n";
$tplcontent.= "require_once DOL_DOCUMENT_ROOT.'/core/lib/website.lib.php';\n";
$tplcontent.= "require_once DOL_DOCUMENT_ROOT.'/core/website.inc.php';\n";
$tplcontent.= "ob_start();\n";
$tplcontent.= "// END PHP ?>\n";
if (! empty($conf->global->WEBSITE_FORCE_DOCTYPE_HTML5))
{
$tplcontent.= "<!DOCTYPE html>\n";
}
$tplcontent.= '<html'.($shortlangcode ? ' lang="'.$shortlangcode.'"':'').'>'."\n";
$tplcontent.= '<head>'."\n";
$tplcontent.= '<title>'.dol_string_nohtmltag($objectpage->title, 0, 'UTF-8').'</title>'."\n";
$tplcontent.= '<meta charset="UTF-8">'."\n";
$tplcontent.= '<meta http-equiv="content-type" content="text/html; charset=utf-8" />'."\n";
$tplcontent.= '<meta name="robots" content="index, follow" />'."\n";
$tplcontent.= '<meta name="viewport" content="width=device-width, initial-scale=1.0">'."\n";
$tplcontent.= '<meta name="keywords" content="'.dol_string_nohtmltag($objectpage->keywords).'" />'."\n";
$tplcontent.= '<meta name="title" content="'.dol_string_nohtmltag($objectpage->title, 0, 'UTF-8').'" />'."\n";
$tplcontent.= '<meta name="description" content="'.dol_string_nohtmltag($objectpage->description, 0, 'UTF-8').'" />'."\n";
$tplcontent.= '<meta name="generator" content="'.DOL_APPLICATION_TITLE.' '.DOL_VERSION.' (https://www.dolibarr.org)" />'."\n";
$tplcontent.= '<meta name="dolibarr:pageid" content="'.dol_string_nohtmltag($objectpage->id).'" />'."\n";
$tplcontent.= '<link href="/'.(($objectpage->id == $object->fk_default_home) ? '' : ($objectpage->pageurl.'.php')).'" rel="canonical" />'."\n";
$tplcontent.= '<!-- Include link to CSS file -->'."\n";
$tplcontent.= '<link rel="stylesheet" href="styles.css.php?website=<?php echo $websitekey; ?>" type="text/css" />'."\n";
$tplcontent.= '<!-- Include HTML header from common file -->'."\n";
$tplcontent.= '<?php print preg_replace(\'/<\/?html>/ims\', \'\', file_get_contents(DOL_DATA_ROOT."/website/".$websitekey."/htmlheader.html")); ?>'."\n";
$tplcontent.= '<!-- Include HTML header from page header block -->'."\n";
$tplcontent.= preg_replace('/<\/?html>/ims', '', $objectpage->htmlheader)."\n";
$tplcontent.= '</head>'."\n";
$tplcontent.= '<!-- File generated by Dolibarr website module editor -->'."\n";
$tplcontent.= '<body id="bodywebsite" class="bodywebsite">'."\n";
$tplcontent.= $objectpage->content."\n";
$tplcontent.= '</body>'."\n";
$tplcontent.= '</html>'."\n";
$tplcontent.= '<?php // BEGIN PHP'."\n";
$tplcontent.= '$tmp = ob_get_contents(); ob_end_clean(); dolWebsiteOutput($tmp);'."\n";
$tplcontent.= "// END PHP ?>"."\n";
//var_dump($filetpl);exit;
$result = file_put_contents($filetpl, $tplcontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filetpl, octdec($conf->global->MAIN_UMASK));
return $result;
}
/**
* Save content of the index.php and wrapper.php page
*
* @param string $pathofwebsite Path of website root
* @param string $fileindex Full path of file index.php
* @param string $filetpl File tpl to index.php page redirect to
* @param string $filewrapper Full path of file wrapper.php
* @return boolean True if OK
*/
function dolSaveIndexPage($pathofwebsite, $fileindex, $filetpl, $filewrapper)
{
global $conf;
$result1=false;
$result2=false;
dol_mkdir($pathofwebsite);
dol_delete_file($fileindex);
$indexcontent = '<?php'."\n";
$indexcontent.= "// BEGIN PHP File generated to provide an index.php as Home Page or alias redirector - DO NOT MODIFY - It is just a generated wrapper.\n";
$indexcontent.= '$websitekey=basename(__DIR__); if (empty($websitepagefile)) $websitepagefile=__FILE__;'."\n";
$indexcontent.= "if (! defined('USEDOLIBARRSERVER') && ! defined('USEDOLIBARREDITOR')) { require_once './master.inc.php'; } // Load master if not already loaded\n";
$indexcontent.= 'if (! empty($_GET[\'pageref\']) || ! empty($_GET[\'pagealiasalt\']) || ! empty($_GET[\'pageid\'])) {'."\n";
$indexcontent.= " require_once DOL_DOCUMENT_ROOT.'/core/lib/website.lib.php';\n";
$indexcontent.= " require_once DOL_DOCUMENT_ROOT.'/core/website.inc.php';\n";
$indexcontent.= ' redirectToContainer($_GET[\'pageref\'], $_GET[\'pagealiasalt\'], $_GET[\'pageid\']);'."\n";
$indexcontent.= "}\n";
$indexcontent.= "include_once './".basename($filetpl)."'\n";
$indexcontent.= '// END PHP ?>'."\n";
$result1 = file_put_contents($fileindex, $indexcontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($fileindex, octdec($conf->global->MAIN_UMASK));
dol_delete_file($filewrapper);
$wrappercontent=file_get_contents(DOL_DOCUMENT_ROOT.'/website/samples/wrapper.html');
$result2 = file_put_contents($filewrapper, $wrappercontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filewrapper, octdec($conf->global->MAIN_UMASK));
return ($result1 && $result2);
}
/**
* Save content of a page on disk
*
* @param string $filehtmlheader Full path of filename to generate
* @param string $htmlheadercontent Content of file
* @return boolean True if OK
*/
function dolSaveHtmlHeader($filehtmlheader, $htmlheadercontent)
{
global $conf, $pathofwebsite;
dol_syslog("Save html header into ".$filehtmlheader);
dol_mkdir($pathofwebsite);
$result = file_put_contents($filehtmlheader, $htmlheadercontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filehtmlheader, octdec($conf->global->MAIN_UMASK));
if (! $result)
{
setEventMessages('Failed to write file '.$filehtmlheader, null, 'errors');
return false;
}
return true;
}
/**
* Save content of a page on disk
*
* @param string $filecss Full path of filename to generate
* @param string $csscontent Content of file
* @return boolean True if OK
*/
function dolSaveCssFile($filecss, $csscontent)
{
global $conf, $pathofwebsite;
dol_syslog("Save css file into ".$filecss);
dol_mkdir($pathofwebsite);
$result = file_put_contents($filecss, $csscontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filecss, octdec($conf->global->MAIN_UMASK));
if (! $result)
{
setEventMessages('Failed to write file '.$filecss, null, 'errors');
return false;
}
return true;
}
/**
* Save content of a page on disk
*
* @param string $filejs Full path of filename to generate
* @param string $jscontent Content of file
* @return boolean True if OK
*/
function dolSaveJsFile($filejs, $jscontent)
{
global $conf, $pathofwebsite;
dol_syslog("Save js file into ".$filejs);
dol_mkdir($pathofwebsite);
$result = file_put_contents($filejs, $jscontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filejs, octdec($conf->global->MAIN_UMASK));
if (! $result)
{
setEventMessages('Failed to write file '.$filejs, null, 'errors');
return false;
}
return true;
}
/**
* Save content of a page on disk
*
* @param string $filerobot Full path of filename to generate
* @param string $robotcontent Content of file
* @return boolean True if OK
*/
function dolSaveRobotFile($filerobot, $robotcontent)
{
global $conf, $pathofwebsite;
dol_syslog("Save robot file into ".$filerobot);
dol_mkdir($pathofwebsite);
$result = file_put_contents($filerobot, $robotcontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filerobot, octdec($conf->global->MAIN_UMASK));
if (! $result)
{
setEventMessages('Failed to write file '.$filerobot, null, 'errors');
return false;
}
return true;
}
/**
* Save content of a page on disk
*
* @param string $filehtaccess Full path of filename to generate
* @param string $htaccess Content of file
* @return boolean True if OK
*/
function dolSaveHtaccessFile($filehtaccess, $htaccess)
{
global $conf, $pathofwebsite;
dol_syslog("Save htaccess file into ".$filehtaccess);
dol_mkdir($pathofwebsite);
$result = file_put_contents($filehtaccess, $htaccess);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filehtaccess, octdec($conf->global->MAIN_UMASK));
if (! $result)
{
setEventMessages('Failed to write file '.$filehtaccess, null, 'errors');
return false;
}
return true;
}

View File

@ -0,0 +1,455 @@
<?php
/* Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/core/lib/website2.lib.php
* \ingroup website
* \brief Library for website module (rare functions not required for execution of website)
*/
/**
* Save content of a page on disk
*
* @param string $filemaster Full path of filename master.inc.php for website to generate
* @return boolean True if OK
*/
function dolSaveMasterFile($filemaster)
{
global $conf;
// Now generate the master.inc.php page
dol_syslog("We regenerate the master file");
dol_delete_file($filemaster);
$mastercontent = '<?php'."\n";
$mastercontent.= '// File generated to link to the master file - DO NOT MODIFY - It is just an include'."\n";
$mastercontent.= "if (! defined('USEDOLIBARRSERVER') && ! defined('USEDOLIBARREDITOR')) require_once '".DOL_DOCUMENT_ROOT."/master.inc.php';\n";
$mastercontent.= '?>'."\n";
$result = file_put_contents($filemaster, $mastercontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filemaster, octdec($conf->global->MAIN_UMASK));
return $result;
}
/**
* Save content of a page on disk
*
* @param string $filealias Full path of filename to generate
* @param Website $object Object website
* @param WebsitePage $objectpage Object websitepage
* @return boolean True if OK
*/
function dolSavePageAlias($filealias, $object, $objectpage)
{
global $conf;
// Now create the .tpl file (duplicate code with actions updatesource or updatecontent but we need this to save new header)
dol_syslog("We regenerate the alias page filealias=".$filealias);
$aliascontent = '<?php'."\n";
$aliascontent.= "// File generated to wrap the alias page - DO NOT MODIFY - It is just a wrapper to real page\n";
$aliascontent.= 'global $dolibarr_main_data_root;'."\n";
$aliascontent.= 'if (empty($dolibarr_main_data_root)) require \'./page'.$objectpage->id.'.tpl.php\'; ';
$aliascontent.= 'else require $dolibarr_main_data_root.\'/website/\'.$website->ref.\'/page'.$objectpage->id.'.tpl.php\';'."\n";
$aliascontent.= '?>'."\n";
$result = file_put_contents($filealias, $aliascontent);
if (! empty($conf->global->MAIN_UMASK)) {
@chmod($filealias, octdec($conf->global->MAIN_UMASK));
}
return ($result?true:false);
}
/**
* Save content of a page on disk
*
* @param string $filetpl Full path of filename to generate
* @param Website $object Object website
* @param WebsitePage $objectpage Object websitepage
* @return boolean True if OK
*/
function dolSavePageContent($filetpl, $object, $objectpage)
{
global $conf;
// Now create the .tpl file (duplicate code with actions updatesource or updatecontent but we need this to save new header)
dol_syslog("We regenerate the tpl page filetpl=".$filetpl);
dol_delete_file($filetpl);
$shortlangcode = '';
if ($objectpage->lang) $shortlangcode=preg_replace('/[_-].*$/', '', $objectpage->lang); // en_US or en-US -> en
$tplcontent ='';
$tplcontent.= "<?php // BEGIN PHP\n";
$tplcontent.= '$websitekey=basename(__DIR__); if (empty($websitepagefile)) $websitepagefile=__FILE__;'."\n";
$tplcontent.= "if (! defined('USEDOLIBARRSERVER') && ! defined('USEDOLIBARREDITOR')) { require_once './master.inc.php'; } // Not already loaded"."\n";
$tplcontent.= "require_once DOL_DOCUMENT_ROOT.'/core/lib/website.lib.php';\n";
$tplcontent.= "require_once DOL_DOCUMENT_ROOT.'/core/website.inc.php';\n";
$tplcontent.= "ob_start();\n";
$tplcontent.= "// END PHP ?>\n";
if (! empty($conf->global->WEBSITE_FORCE_DOCTYPE_HTML5))
{
$tplcontent.= "<!DOCTYPE html>\n";
}
$tplcontent.= '<html'.($shortlangcode ? ' lang="'.$shortlangcode.'"':'').'>'."\n";
$tplcontent.= '<head>'."\n";
$tplcontent.= '<title>'.dol_string_nohtmltag($objectpage->title, 0, 'UTF-8').'</title>'."\n";
$tplcontent.= '<meta charset="UTF-8">'."\n";
$tplcontent.= '<meta http-equiv="content-type" content="text/html; charset=utf-8" />'."\n";
$tplcontent.= '<meta name="robots" content="index, follow" />'."\n";
$tplcontent.= '<meta name="viewport" content="width=device-width, initial-scale=1.0">'."\n";
$tplcontent.= '<meta name="keywords" content="'.dol_string_nohtmltag($objectpage->keywords).'" />'."\n";
$tplcontent.= '<meta name="title" content="'.dol_string_nohtmltag($objectpage->title, 0, 'UTF-8').'" />'."\n";
$tplcontent.= '<meta name="description" content="'.dol_string_nohtmltag($objectpage->description, 0, 'UTF-8').'" />'."\n";
$tplcontent.= '<meta name="generator" content="'.DOL_APPLICATION_TITLE.' '.DOL_VERSION.' (https://www.dolibarr.org)" />'."\n";
$tplcontent.= '<meta name="dolibarr:pageid" content="'.dol_string_nohtmltag($objectpage->id).'" />'."\n";
$tplcontent.= '<link href="/'.(($objectpage->id == $object->fk_default_home) ? '' : ($objectpage->pageurl.'.php')).'" rel="canonical" />'."\n";
$tplcontent.= '<!-- Include link to CSS file -->'."\n";
$tplcontent.= '<link rel="stylesheet" href="styles.css.php?website=<?php echo $websitekey; ?>" type="text/css" />'."\n";
$tplcontent.= '<!-- Include HTML header from common file -->'."\n";
$tplcontent.= '<?php print preg_replace(\'/<\/?html>/ims\', \'\', file_get_contents(DOL_DATA_ROOT."/website/".$websitekey."/htmlheader.html")); ?>'."\n";
$tplcontent.= '<!-- Include HTML header from page header block -->'."\n";
$tplcontent.= preg_replace('/<\/?html>/ims', '', $objectpage->htmlheader)."\n";
$tplcontent.= '</head>'."\n";
$tplcontent.= '<!-- File generated by Dolibarr website module editor -->'."\n";
$tplcontent.= '<body id="bodywebsite" class="bodywebsite">'."\n";
$tplcontent.= $objectpage->content."\n";
$tplcontent.= '</body>'."\n";
$tplcontent.= '</html>'."\n";
$tplcontent.= '<?php // BEGIN PHP'."\n";
$tplcontent.= '$tmp = ob_get_contents(); ob_end_clean(); dolWebsiteOutput($tmp, "html", '.$objectpage->id.');'."\n";
$tplcontent.= "// END PHP ?>"."\n";
//var_dump($filetpl);exit;
$result = file_put_contents($filetpl, $tplcontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filetpl, octdec($conf->global->MAIN_UMASK));
return $result;
}
/**
* Save content of the index.php and wrapper.php page
*
* @param string $pathofwebsite Path of website root
* @param string $fileindex Full path of file index.php
* @param string $filetpl File tpl to index.php page redirect to
* @param string $filewrapper Full path of file wrapper.php
* @return boolean True if OK
*/
function dolSaveIndexPage($pathofwebsite, $fileindex, $filetpl, $filewrapper)
{
global $conf;
$result1=false;
$result2=false;
dol_mkdir($pathofwebsite);
dol_delete_file($fileindex);
$indexcontent = '<?php'."\n";
$indexcontent.= "// BEGIN PHP File generated to provide an index.php as Home Page or alias redirector - DO NOT MODIFY - It is just a generated wrapper.\n";
$indexcontent.= '$websitekey=basename(__DIR__); if (empty($websitepagefile)) $websitepagefile=__FILE__;'."\n";
$indexcontent.= "if (! defined('USEDOLIBARRSERVER') && ! defined('USEDOLIBARREDITOR')) { require_once './master.inc.php'; } // Load master if not already loaded\n";
$indexcontent.= 'if (! empty($_GET[\'pageref\']) || ! empty($_GET[\'pagealiasalt\']) || ! empty($_GET[\'pageid\'])) {'."\n";
$indexcontent.= " require_once DOL_DOCUMENT_ROOT.'/core/lib/website.lib.php';\n";
$indexcontent.= " require_once DOL_DOCUMENT_ROOT.'/core/website.inc.php';\n";
$indexcontent.= ' redirectToContainer($_GET[\'pageref\'], $_GET[\'pagealiasalt\'], $_GET[\'pageid\']);'."\n";
$indexcontent.= "}\n";
$indexcontent.= "include_once './".basename($filetpl)."'\n";
$indexcontent.= '// END PHP ?>'."\n";
$result1 = file_put_contents($fileindex, $indexcontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($fileindex, octdec($conf->global->MAIN_UMASK));
dol_delete_file($filewrapper);
$wrappercontent=file_get_contents(DOL_DOCUMENT_ROOT.'/website/samples/wrapper.html');
$result2 = file_put_contents($filewrapper, $wrappercontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filewrapper, octdec($conf->global->MAIN_UMASK));
return ($result1 && $result2);
}
/**
* Save content of a page on disk
*
* @param string $filehtmlheader Full path of filename to generate
* @param string $htmlheadercontent Content of file
* @return boolean True if OK
*/
function dolSaveHtmlHeader($filehtmlheader, $htmlheadercontent)
{
global $conf, $pathofwebsite;
dol_syslog("Save html header into ".$filehtmlheader);
dol_mkdir($pathofwebsite);
$result = file_put_contents($filehtmlheader, $htmlheadercontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filehtmlheader, octdec($conf->global->MAIN_UMASK));
return $result;
}
/**
* Save content of a page on disk
*
* @param string $filecss Full path of filename to generate
* @param string $csscontent Content of file
* @return boolean True if OK
*/
function dolSaveCssFile($filecss, $csscontent)
{
global $conf, $pathofwebsite;
dol_syslog("Save css file into ".$filecss);
dol_mkdir($pathofwebsite);
$result = file_put_contents($filecss, $csscontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filecss, octdec($conf->global->MAIN_UMASK));
return $result;
}
/**
* Save content of a page on disk
*
* @param string $filejs Full path of filename to generate
* @param string $jscontent Content of file
* @return boolean True if OK
*/
function dolSaveJsFile($filejs, $jscontent)
{
global $conf, $pathofwebsite;
dol_syslog("Save js file into ".$filejs);
dol_mkdir($pathofwebsite);
$result = file_put_contents($filejs, $jscontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filejs, octdec($conf->global->MAIN_UMASK));
return $result;
}
/**
* Save content of a page on disk
*
* @param string $filerobot Full path of filename to generate
* @param string $robotcontent Content of file
* @return boolean True if OK
*/
function dolSaveRobotFile($filerobot, $robotcontent)
{
global $conf, $pathofwebsite;
dol_syslog("Save robot file into ".$filerobot);
dol_mkdir($pathofwebsite);
$result = file_put_contents($filerobot, $robotcontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filerobot, octdec($conf->global->MAIN_UMASK));
return $result;
}
/**
* Save content of a page on disk
*
* @param string $filehtaccess Full path of filename to generate
* @param string $htaccess Content of file
* @return boolean True if OK
*/
function dolSaveHtaccessFile($filehtaccess, $htaccess)
{
global $conf, $pathofwebsite;
dol_syslog("Save htaccess file into ".$filehtaccess);
dol_mkdir($pathofwebsite);
$result = file_put_contents($filehtaccess, $htaccess);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filehtaccess, octdec($conf->global->MAIN_UMASK));
return $result;
}
/**
* Save content of a page on disk
*
* @param string $file Full path of filename to generate
* @param string $content Content of file
* @return boolean True if OK
*/
function dolSaveManifestJson($file, $content)
{
global $conf, $pathofwebsite;
dol_syslog("Save manifest.js.php file into ".$file);
dol_mkdir($pathofwebsite);
$result = file_put_contents($file, $content);
if (! empty($conf->global->MAIN_UMASK))
@chmod($file, octdec($conf->global->MAIN_UMASK));
return $result;
}
/**
* Save content of a page on disk
*
* @param string $file Full path of filename to generate
* @param string $content Content of file
* @return boolean True if OK
*/
function dolSaveReadme($file, $content)
{
global $conf, $pathofwebsite;
dol_syslog("Save README.md file into ".$file);
dol_mkdir($pathofwebsite);
$result = file_put_contents($file, $content);
if (! empty($conf->global->MAIN_UMASK))
@chmod($file, octdec($conf->global->MAIN_UMASK));
return $result;
}
/**
* Show list of themes. Show all thumbs of themes/skins
*
* @param Website $website Object website to load the tempalte into
* @return void
*/
function showWebsiteTemplates(Website $website)
{
global $conf,$langs,$db,$form;
global $bc;
$dirthemes=array('/doctemplates/websites');
if (! empty($conf->modules_parts['websitetemplates'])) // Using this feature slow down application
{
foreach($conf->modules_parts['websitetemplates'] as $reldir)
{
$dirthemes=array_merge($dirthemes, (array) ($reldir.'doctemplates/websites'));
}
}
$dirthemes=array_unique($dirthemes);
// Now dir_themes=array('/themes') or dir_themes=array('/theme','/mymodule/theme')
$colspan=2;
$thumbsbyrow=6;
print '<table class="noborder" width="100%">';
// Title
print '<tr class="liste_titre"><th class="titlefield"></th>';
print '<th class="right">';
$url='https://www.dolistore.com/43-web-site-templates';
print '<a href="'.$url.'" target="_blank">';
print $langs->trans('DownloadMoreSkins');
print '</a>';
print '</th></tr>';
print '<tr>';
print '<td>'.$langs->trans("ThemeDir").'</td>';
print '<td>';
foreach($dirthemes as $dirtheme)
{
echo '"'.$dirtheme.'" ';
}
print '</td>';
print '</tr>';
print '<tr><td colspan="'.$colspan.'">';
print '<table class="nobordernopadding" width="100%"><tr><td><div class="center">';
$i=0;
foreach($dirthemes as $dir)
{
//print $dirroot.$dir;exit;
$dirtheme=DOL_DATA_ROOT.$dir; // This include loop on $conf->file->dol_document_root
if (is_dir($dirtheme))
{
$handle=opendir($dirtheme);
if (is_resource($handle))
{
while (($subdir = readdir($handle))!==false)
{
if (is_file($dirtheme."/".$subdir) && substr($subdir, 0, 1) <> '.'
&& substr($subdir, 0, 3) <> 'CVS' && preg_match('/\.zip$/i', $subdir))
{
$subdirwithoutzip = preg_replace('/\.zip$/i', '', $subdir);
// Disable not stable themes (dir ends with _exp or _dev)
if ($conf->global->MAIN_FEATURES_LEVEL < 2 && preg_match('/_dev$/i', $subdir)) continue;
if ($conf->global->MAIN_FEATURES_LEVEL < 1 && preg_match('/_exp$/i', $subdir)) continue;
print '<div class="inline-block" style="margin-top: 10px; margin-bottom: 10px; margin-right: 20px; margin-left: 20px;">';
$file = $dirtheme."/".$subdirwithoutzip.".jpg";
$url=DOL_URL_ROOT.'/viewimage.php?modulepart=doctemplateswebsite&file='.$subdirwithoutzip.".jpg";
if (! file_exists($file)) $url=DOL_URL_ROOT.'/public/theme/common/nophoto.png';
$originalfile = basename($file);
$entity = $conf->entity;
$modulepart = 'doctemplateswebsite';
$cache = '';
$title = $file;
$ret='';
$urladvanced=getAdvancedPreviewUrl($modulepart, $originalfile, 1, '&entity='.$entity);
if (! empty($urladvanced)) $ret.='<a class="'.$urladvanced['css'].'" target="'.$urladvanced['target'].'" mime="'.$urladvanced['mime'].'" href="'.$urladvanced['url'].'">';
else $ret.='<a href="'.DOL_URL_ROOT.'/viewimage.php?modulepart='.$modulepart.'&entity='.$entity.'&file='.urlencode($originalfile).'&cache='.$cache.'">';
print $ret;
print '<img class="websiteskinthumb shadow" src="'.$url.'" border="0" width="80" height="60" alt="'.$title.'" title="'.$title.'" style="margin-bottom: 5px;">';
print '</a>';
print '<br>';
print $subdir.' ('.dol_print_size(dol_filesize($dirtheme."/".$subdir), 1, 1).')';
print '<br><a href="'.$_SERVER["PHP_SELF"].'?action=importsiteconfirm&website='.$website->ref.'&templateuserfile='.$subdir.'" class="button">'.$langs->trans("Load").'</a>';
print '</div>';
$i++;
}
}
}
}
}
print '</div></td></tr></table>';
print '</td></tr>';
print '</table>';
}

View File

@ -1227,7 +1227,7 @@ class pdf_einstein extends ModelePDFCommandes
* @param int $showaddress 0=no, 1=yes * @param int $showaddress 0=no, 1=yes
* @param Translate $outputlangs Object lang for output * @param Translate $outputlangs Object lang for output
* @param string $titlekey Translation key to show as title of document * @param string $titlekey Translation key to show as title of document
* @return void * @return int Return topshift value
*/ */
protected function _pagehead(&$pdf, $object, $showaddress, $outputlangs, $titlekey = "PdfOrderTitle") protected function _pagehead(&$pdf, $object, $showaddress, $outputlangs, $titlekey = "PdfOrderTitle")
{ {

View File

@ -67,13 +67,13 @@ class pdf_proforma extends pdf_einstein
* @param int $showaddress 0=no, 1=yes * @param int $showaddress 0=no, 1=yes
* @param Translate $outputlangs Object lang for output * @param Translate $outputlangs Object lang for output
* @param string $titlekey Translation key to show as title of document * @param string $titlekey Translation key to show as title of document
* @return void * @return int Return topshift value
*/ */
protected function _pagehead(&$pdf, $object, $showaddress, $outputlangs, $titlekey = "InvoiceProForma") protected function _pagehead(&$pdf, $object, $showaddress, $outputlangs, $titlekey = "InvoiceProForma")
{ {
// phpcs:enable // phpcs:enable
global $conf,$langs,$hookmanager; global $conf,$langs,$hookmanager;
parent::_pagehead($pdf, $object, $showaddress, $outputlangs, $titlekey); return parent::_pagehead($pdf, $object, $showaddress, $outputlangs, $titlekey);
} }
} }

View File

@ -581,8 +581,27 @@ class ImportCsv extends ModeleImports
if (is_numeric($defaultref) && $defaultref <= 0) $defaultref=''; if (is_numeric($defaultref) && $defaultref <= 0) $defaultref='';
$newval=$defaultref; $newval=$defaultref;
} }
elseif ($objimport->array_import_convertvalue[0][$val]['rule']=='compute')
{
$file=(empty($objimport->array_import_convertvalue[0][$val]['classfile'])?$objimport->array_import_convertvalue[0][$val]['file']:$objimport->array_import_convertvalue[0][$val]['classfile']);
$class=$objimport->array_import_convertvalue[0][$val]['class'];
$method=$objimport->array_import_convertvalue[0][$val]['method'];
$resultload = dol_include_once($file);
if (empty($resultload))
{
dol_print_error('', 'Error trying to call file='.$file.', class='.$class.', method='.$method);
break;
}
$classinstance=new $class($this->db);
$res = call_user_func_array(array($classinstance, $method), array(&$arrayrecord));
if ($res<0) {
if (!empty($objimport->array_import_convertvalue[0][$val]['dict'])) $this->errors[$error]['lib']=$langs->trans('ErrorFieldValueNotIn', $key, $newval, 'code', $langs->transnoentitiesnoconv($objimport->array_import_convertvalue[0][$val]['dict']));
else $this->errors[$error]['lib']='ErrorFieldValueNotIn';
$this->errors[$error]['type']='FOREIGNKEY';
$errorforthistable++;
$error++;
}
}
elseif ($objimport->array_import_convertvalue[0][$val]['rule']=='numeric') elseif ($objimport->array_import_convertvalue[0][$val]['rule']=='numeric')
{ {
$newval = price2num($newval); $newval = price2num($newval);

View File

@ -608,8 +608,27 @@ class ImportXlsx extends ModeleImports
if (is_numeric($defaultref) && $defaultref <= 0) $defaultref=''; if (is_numeric($defaultref) && $defaultref <= 0) $defaultref='';
$newval=$defaultref; $newval=$defaultref;
} }
elseif ($objimport->array_import_convertvalue[0][$val]['rule']=='compute')
{
$file=(empty($objimport->array_import_convertvalue[0][$val]['classfile'])?$objimport->array_import_convertvalue[0][$val]['file']:$objimport->array_import_convertvalue[0][$val]['classfile']);
$class=$objimport->array_import_convertvalue[0][$val]['class'];
$method=$objimport->array_import_convertvalue[0][$val]['method'];
$resultload = dol_include_once($file);
if (empty($resultload))
{
dol_print_error('', 'Error trying to call file='.$file.', class='.$class.', method='.$method);
break;
}
$classinstance=new $class($this->db);
$res = call_user_func_array(array($classinstance, $method), array(&$arrayrecord));
if ($res<0) {
if (!empty($objimport->array_import_convertvalue[0][$val]['dict'])) $this->errors[$error]['lib']=$langs->trans('ErrorFieldValueNotIn', $key, $newval, 'code', $langs->transnoentitiesnoconv($objimport->array_import_convertvalue[0][$val]['dict']));
else $this->errors[$error]['lib']='ErrorFieldValueNotIn';
$this->errors[$error]['type']='FOREIGNKEY';
$errorforthistable++;
$error++;
}
}
elseif ($objimport->array_import_convertvalue[0][$val]['rule']=='numeric') elseif ($objimport->array_import_convertvalue[0][$val]['rule']=='numeric')
{ {
$newval = price2num($newval); $newval = price2num($newval);

View File

@ -158,7 +158,7 @@ class modWebsite extends DolibarrModules
// Remove permissions and default values // Remove permissions and default values
$this->remove($options); $this->remove($options);
// Copy flags and octicons directoru // Copy flags and octicons directory
$dirarray=array('common/flags', 'common/octicons'); $dirarray=array('common/flags', 'common/octicons');
foreach($dirarray as $dir) foreach($dirarray as $dir)
{ {
@ -179,6 +179,26 @@ class modWebsite extends DolibarrModules
} }
} }
// Website templates
$srcroot=DOL_DOCUMENT_ROOT.'/install/doctemplates/websites';
$destroot=DOL_DATA_ROOT.'/doctemplates/websites';
dol_mkdir($destroot);
$docs=dol_dir_list($srcroot, 'files', 0, 'website_.*(\.zip|\.jpg)$');
foreach($docs as $cursorfile)
{
$src=$srcroot.'/'.$cursorfile['name'];
$dest=$destroot.'/'.$cursorfile['name'];
$result=dol_copy($src, $dest, 0, 0);
if ($result < 0)
{
$langs->load("errors");
$this->error=$langs->trans('ErrorFailToCopyFile', $src, $dest);
}
}
$sql = array(); $sql = array();
return $this->_init($sql, $options); return $this->_init($sql, $options);

View File

@ -209,7 +209,10 @@ if ($captcha) {
<div id="login_line2" style="clear: both"> <div id="login_line2" style="clear: both">
<!-- Button Connection --> <!-- Button Connection -->
<br><input type="submit" class="button" value="&nbsp; <?php echo $langs->trans('Connection'); ?> &nbsp;" tabindex="5" /> <br>
<div id="login-submit-wrapper">
<input type="submit" class="button" value="&nbsp; <?php echo $langs->trans('Connection'); ?> &nbsp;" tabindex="5" />
</div>
<?php <?php
if ($forgetpasslink || $helpcenterlink) if ($forgetpasslink || $helpcenterlink)
@ -221,7 +224,7 @@ if ($forgetpasslink || $helpcenterlink)
if ($dol_use_jmobile) $moreparam.=(strpos($moreparam, '?')===false?'?':'&').'dol_use_jmobile='.$dol_use_jmobile; if ($dol_use_jmobile) $moreparam.=(strpos($moreparam, '?')===false?'?':'&').'dol_use_jmobile='.$dol_use_jmobile;
echo '<br>'; echo '<br>';
echo '<div class="center" style="margin-top: 15px;">'; echo '<div class="center" style="margin-top: 5px;">';
if ($forgetpasslink) { if ($forgetpasslink) {
$url=DOL_URL_ROOT.'/user/passwordforgotten.php'.$moreparam; $url=DOL_URL_ROOT.'/user/passwordforgotten.php'.$moreparam;
if (! empty($conf->global->MAIN_PASSWORD_FORGOTLINK)) $url=$conf->global->MAIN_PASSWORD_FORGOTLINK; if (! empty($conf->global->MAIN_PASSWORD_FORGOTLINK)) $url=$conf->global->MAIN_PASSWORD_FORGOTLINK;

View File

@ -116,7 +116,6 @@ $coldisplay=0;
$toolbarname='dolibarr_details'; $toolbarname='dolibarr_details';
if (! empty($conf->global->FCKEDITOR_ENABLE_DETAILS_FULL)) $toolbarname='dolibarr_notes'; if (! empty($conf->global->FCKEDITOR_ENABLE_DETAILS_FULL)) $toolbarname='dolibarr_notes';
$doleditor=new DolEditor('product_desc', $line->description, '', (empty($conf->global->MAIN_DOLEDITOR_HEIGHT)?164:$conf->global->MAIN_DOLEDITOR_HEIGHT), $toolbarname, '', false, true, $enable, $nbrows, '98%'); $doleditor=new DolEditor('product_desc', $line->description, '', (empty($conf->global->MAIN_DOLEDITOR_HEIGHT)?164:$conf->global->MAIN_DOLEDITOR_HEIGHT), $toolbarname, '', false, true, $enable, $nbrows, '98%');
$doleditor=new DolEditor('product_desc', $line->description, '', (empty($conf->global->MAIN_DOLEDITOR_HEIGHT)?164:$conf->global->MAIN_DOLEDITOR_HEIGHT), $toolbarname, '', false, true, $enable, $nbrows, '98%');
$doleditor->Create(); $doleditor->Create();
} else { } else {
print '<textarea id="product_desc" class="flat" name="product_desc" readonly style="width: 200px; height:80px;">' . $line->description . '</textarea>'; print '<textarea id="product_desc" class="flat" name="product_desc" readonly style="width: 200px; height:80px;">' . $line->description . '</textarea>';

View File

@ -130,7 +130,8 @@ class InterfaceWorkflowManager extends DolibarrTriggers
if ($action == 'BILL_VALIDATE') if ($action == 'BILL_VALIDATE')
{ {
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
$ret = 0;
// First classify billed the order to allow the proposal classify process // First classify billed the order to allow the proposal classify process
if (! empty($conf->commande->enabled) && ! empty($conf->workflow->enabled) && ! empty($conf->global->WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER)) if (! empty($conf->commande->enabled) && ! empty($conf->workflow->enabled) && ! empty($conf->global->WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER))
{ {
@ -151,7 +152,6 @@ class InterfaceWorkflowManager extends DolibarrTriggers
} }
} }
} }
return $ret;
} }
// Second classify billed the proposal. // Second classify billed the proposal.
@ -174,8 +174,9 @@ class InterfaceWorkflowManager extends DolibarrTriggers
} }
} }
} }
return $ret;
} }
return $ret;
} }
// classify billed order & billed propososal // classify billed order & billed propososal

View File

@ -94,5 +94,11 @@ if ($_SERVER['PHP_SELF'] != DOL_URL_ROOT.'/website/index.php') // If we browsing
} }
} }
// Load websitepage class // Show off line message
include_once DOL_DOCUMENT_ROOT.'/website/class/websitepage.class.php'; if (! defined('USEDOLIBARREDITOR') && empty($website->status))
{
$weblangs->load("website");
http_response_code(503);
print '<center><br><br>'.$weblangs->trans("SorryWebsiteIsCurrentlyOffLine").'</center>';
exit;
}

View File

@ -143,7 +143,7 @@ class TraceableDB extends DoliDB
*/ */
public static function convertSQLFromMysql($line, $type = 'ddl') public static function convertSQLFromMysql($line, $type = 'ddl')
{ {
return $this->db->convertSQLFromMysql($line); return self::$db->convertSQLFromMysql($line);
} }
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps

View File

@ -353,7 +353,7 @@ class Expedition extends CommonObject
{ {
if (! isset($this->lines[$i]->detail_batch)) if (! isset($this->lines[$i]->detail_batch))
{ // no batch management { // no batch management
if (! $this->create_line($this->lines[$i]->entrepot_id, $this->lines[$i]->origin_line_id, $this->lines[$i]->qty, $this->lines[$i]->array_options) > 0) if (! $this->create_line($this->lines[$i]->entrepot_id, $this->lines[$i]->origin_line_id, $this->lines[$i]->qty, $this->lines[$i]->rang, $this->lines[$i]->array_options) > 0)
{ {
$error++; $error++;
} }
@ -441,10 +441,11 @@ class Expedition extends CommonObject
* @param int $entrepot_id Id of warehouse * @param int $entrepot_id Id of warehouse
* @param int $origin_line_id Id of source line * @param int $origin_line_id Id of source line
* @param int $qty Quantity * @param int $qty Quantity
* @param int $rang Rang
* @param array $array_options extrafields array * @param array $array_options extrafields array
* @return int <0 if KO, line_id if OK * @return int <0 if KO, line_id if OK
*/ */
public function create_line($entrepot_id, $origin_line_id, $qty, $array_options = 0) public function create_line($entrepot_id, $origin_line_id, $qty, $rang, $array_options = 0)
{ {
//phpcs:enable //phpcs:enable
global $user; global $user;
@ -454,6 +455,7 @@ class Expedition extends CommonObject
$expeditionline->entrepot_id = $entrepot_id; $expeditionline->entrepot_id = $entrepot_id;
$expeditionline->fk_origin_line = $origin_line_id; $expeditionline->fk_origin_line = $origin_line_id;
$expeditionline->qty = $qty; $expeditionline->qty = $qty;
$expeditionline->rang = $rang;
$expeditionline->array_options = $array_options; $expeditionline->array_options = $array_options;
if (($lineId = $expeditionline->insert($user)) < 0) if (($lineId = $expeditionline->insert($user)) < 0)
@ -490,7 +492,7 @@ class Expedition extends CommonObject
// create shipment lines // create shipment lines
foreach ($stockLocationQty as $stockLocation => $qty) foreach ($stockLocationQty as $stockLocation => $qty)
{ {
if (($line_id = $this->create_line($stockLocation, $line_ext->origin_line_id, $qty, $array_options)) < 0) if (($line_id = $this->create_line($stockLocation, $line_ext->origin_line_id, $qty, $line_ext->rang, $array_options)) < 0)
{ {
$error++; $error++;
} }
@ -926,6 +928,9 @@ class Expedition extends CommonObject
$orderline = new OrderLine($this->db); $orderline = new OrderLine($this->db);
$orderline->fetch($id); $orderline->fetch($id);
// Copy the rang of the order line to the expedition line
$line->rang = $orderline->rang;
if (! empty($conf->stock->enabled) && ! empty($orderline->fk_product)) if (! empty($conf->stock->enabled) && ! empty($orderline->fk_product))
{ {
$fk_product = $orderline->fk_product; $fk_product = $orderline->fk_product;
@ -1383,7 +1388,7 @@ class Expedition extends CommonObject
$sql = "SELECT cd.rowid, cd.fk_product, cd.label as custom_label, cd.description, cd.qty as qty_asked, cd.product_type"; $sql = "SELECT cd.rowid, cd.fk_product, cd.label as custom_label, cd.description, cd.qty as qty_asked, cd.product_type";
$sql.= ", cd.total_ht, cd.total_localtax1, cd.total_localtax2, cd.total_ttc, cd.total_tva"; $sql.= ", cd.total_ht, cd.total_localtax1, cd.total_localtax2, cd.total_ttc, cd.total_tva";
$sql.= ", cd.vat_src_code, cd.tva_tx, cd.localtax1_tx, cd.localtax2_tx, cd.localtax1_type, cd.localtax2_type, cd.info_bits, cd.price, cd.subprice, cd.remise_percent,cd.buy_price_ht as pa_ht"; $sql.= ", cd.vat_src_code, cd.tva_tx, cd.localtax1_tx, cd.localtax2_tx, cd.localtax1_type, cd.localtax2_type, cd.info_bits, cd.price, cd.subprice, cd.remise_percent,cd.buy_price_ht as pa_ht";
$sql.= ", cd.fk_multicurrency, cd.multicurrency_code, cd.multicurrency_subprice, cd.multicurrency_total_ht, cd.multicurrency_total_tva, cd.multicurrency_total_ttc"; $sql.= ", cd.fk_multicurrency, cd.multicurrency_code, cd.multicurrency_subprice, cd.multicurrency_total_ht, cd.multicurrency_total_tva, cd.multicurrency_total_ttc, cd.rang";
$sql.= ", ed.rowid as line_id, ed.qty as qty_shipped, ed.fk_origin_line, ed.fk_entrepot"; $sql.= ", ed.rowid as line_id, ed.qty as qty_shipped, ed.fk_origin_line, ed.fk_entrepot";
$sql.= ", p.ref as product_ref, p.label as product_label, p.fk_product_type"; $sql.= ", p.ref as product_ref, p.label as product_label, p.fk_product_type";
$sql.= ", p.weight, p.weight_units, p.length, p.length_units, p.surface, p.surface_units, p.volume, p.volume_units, p.tobatch as product_tobatch"; $sql.= ", p.weight, p.weight_units, p.length, p.length_units, p.surface, p.surface_units, p.volume, p.volume_units, p.tobatch as product_tobatch";
@ -1452,6 +1457,7 @@ class Expedition extends CommonObject
$line->label = $obj->custom_label; $line->label = $obj->custom_label;
$line->description = $obj->description; $line->description = $obj->description;
$line->qty_asked = $obj->qty_asked; $line->qty_asked = $obj->qty_asked;
$line->rang = $obj->rang;
$line->weight = $obj->weight; $line->weight = $obj->weight;
$line->weight_units = $obj->weight_units; $line->weight_units = $obj->weight_units;
$line->length = $obj->length; $line->length = $obj->length;
@ -2459,6 +2465,11 @@ class ExpeditionLigne extends CommonObjectLine
*/ */
public $product_desc; public $product_desc;
/**
* @var int rang of line
*/
public $rang;
/** /**
* @var float weight * @var float weight
*/ */
@ -2579,16 +2590,28 @@ class ExpeditionLigne extends CommonObjectLine
$this->db->begin(); $this->db->begin();
if (empty($this->rang)) $this->rang = 0;
// Rank to use
$ranktouse = $this->rang;
if ($ranktouse == -1)
{
$rangmax = $this->line_max($fk_expedition);
$ranktouse = $rangmax + 1;
}
$sql = "INSERT INTO ".MAIN_DB_PREFIX."expeditiondet ("; $sql = "INSERT INTO ".MAIN_DB_PREFIX."expeditiondet (";
$sql.= "fk_expedition"; $sql.= "fk_expedition";
$sql.= ", fk_entrepot"; $sql.= ", fk_entrepot";
$sql.= ", fk_origin_line"; $sql.= ", fk_origin_line";
$sql.= ", qty"; $sql.= ", qty";
$sql.= ", rang";
$sql.= ") VALUES ("; $sql.= ") VALUES (";
$sql.= $this->fk_expedition; $sql.= $this->fk_expedition;
$sql.= ", ".(empty($this->entrepot_id) ? 'NULL' : $this->entrepot_id); $sql.= ", ".(empty($this->entrepot_id) ? 'NULL' : $this->entrepot_id);
$sql.= ", ".$this->fk_origin_line; $sql.= ", ".$this->fk_origin_line;
$sql.= ", ".$this->qty; $sql.= ", ".$this->qty;
$sql.= ", ".$ranktouse;
$sql.= ")"; $sql.= ")";
dol_syslog(get_class($this)."::insert", LOG_DEBUG); dol_syslog(get_class($this)."::insert", LOG_DEBUG);

View File

@ -27,6 +27,7 @@
require '../main.inc.php'; require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/expedition/class/expedition.class.php'; require_once DOL_DOCUMENT_ROOT.'/expedition/class/expedition.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
@ -37,13 +38,17 @@ $langs->loadLangs(array("sendings","deliveries",'companies','bills'));
$contextpage= GETPOST('contextpage', 'aZ')?GETPOST('contextpage', 'aZ'):'shipmentlist'; // To manage different context of search $contextpage= GETPOST('contextpage', 'aZ')?GETPOST('contextpage', 'aZ'):'shipmentlist'; // To manage different context of search
$socid=GETPOST('socid', 'int'); $socid=GETPOST('socid', 'int');
$action = GETPOST('action', 'alpha');
$massaction = GETPOST('massaction', 'alpha');
$show_files = GETPOST('show_files', 'int');
$toselect = GETPOST('toselect', 'array');
// Security check // Security check
$expeditionid = GETPOST('id', 'int'); $expeditionid = GETPOST('id', 'int');
if ($user->societe_id) $socid=$user->societe_id; if ($user->societe_id) $socid=$user->societe_id;
$result = restrictedArea($user, 'expedition', $expeditionid, ''); $result = restrictedArea($user, 'expedition', $expeditionid, '');
$diroutputmassaction=$conf->expedition->dir_output . '/temp/massgeneration/'.$user->id;
$search_ref_exp = GETPOST("search_ref_exp", 'alpha'); $search_ref_exp = GETPOST("search_ref_exp", 'alpha');
$search_ref_liv = GETPOST('search_ref_liv', 'alpha'); $search_ref_liv = GETPOST('search_ref_liv', 'alpha');
$search_ref_customer = GETPOST('search_ref_customer', 'alpha'); $search_ref_customer = GETPOST('search_ref_customer', 'alpha');
@ -63,13 +68,15 @@ $sortorder = GETPOST('sortorder', 'alpha');
$page = GETPOST('page', 'int'); $page = GETPOST('page', 'int');
if (! $sortfield) $sortfield="e.ref"; if (! $sortfield) $sortfield="e.ref";
if (! $sortorder) $sortorder="DESC"; if (! $sortorder) $sortorder="DESC";
if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 if (empty($page) || $page == -1 || (empty($toselect) && $massaction === '0')) { $page = 0; } // If $page is not defined, or '' or -1
$offset = $limit * $page; $offset = $limit * $page;
$pageprev = $page - 1; $pageprev = $page - 1;
$pagenext = $page + 1; $pagenext = $page + 1;
$viewstatut=GETPOST('viewstatut'); $viewstatut=GETPOST('viewstatut');
$diroutputmassaction = $conf->expedition->dir_output.'/sending/temp/massgeneration/'.$user->id;
$object = new Expedition($db); $object = new Expedition($db);
// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context // Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context
@ -120,9 +127,10 @@ if (is_array($extrafields->attribute_label) && count($extrafields->attribute_lab
/* /*
* Actions * Actions
*/ */
$error = 0;
if (GETPOST('cancel', 'alpha')) { $action='list'; $massaction=''; } if (GETPOST('cancel', 'alpha')) { $action='list'; $massaction=''; }
if (! GETPOST('confirmmassaction', 'alpha')) { $massaction=''; } if (! GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massaction != 'confirm_presend') { $massaction=''; }
$parameters=array('socid'=>$socid); $parameters=array('socid'=>$socid);
$reshook=$hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks $reshook=$hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
@ -145,34 +153,28 @@ if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x'
$search_type_thirdparty=''; $search_type_thirdparty='';
$search_billed=''; $search_billed='';
$viewstatut=''; $viewstatut='';
$toselect = '';
$search_array_options=array(); $search_array_options=array();
} }
if (empty($reshook)) if (empty($reshook))
{ {
// Mass actions. Controls on number of lines checked $objectclass = 'Expedition';
$maxformassaction=1000; $objectlabel = 'Sendings';
$numtoselect = (is_array($toselect)?count($toselect):0); $permtoread = $user->rights->expedition->lire;
if (! empty($massaction) && $numtoselect < 1) $permtocreate = $user->rights->expedition->creer;
{ $permtodelete = $user->rights->expedition->supprimer;
$error++; $uploaddir = $conf->expedition->dir_output . '/sending';
setEventMessages($langs->trans("NoLineChecked"), null, "warnings"); include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php';
}
if (! $error && $numtoselect > $maxformassaction)
{
setEventMessages($langs->trans('TooManyRecordForMassAction', $maxformassaction), null, 'errors');
$error++;
}
} }
/* /*
* View * View
*/ */
$form=new Form($db); $form=new Form($db);
$formfile = new FormFile($db);
$companystatic=new Societe($db); $companystatic=new Societe($db);
$shipment=new Expedition($db); $shipment=new Expedition($db);
$formcompany=new FormCompany($db); $formcompany=new FormCompany($db);
@ -258,6 +260,8 @@ if ($resql)
{ {
$num = $db->num_rows($resql); $num = $db->num_rows($resql);
$arrayofselected = is_array($toselect) ? $toselect : array();
$expedition = new Expedition($db); $expedition = new Expedition($db);
$param=''; $param='';
@ -275,13 +279,18 @@ if ($resql)
// Add $param from extra fields // Add $param from extra fields
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php'; include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php';
//$massactionbutton=$form->selectMassAction('', $massaction == 'presend' ? array() : array('presend'=>$langs->trans("SendByMail"), 'builddoc'=>$langs->trans("PDFMerge"))); $arrayofmassactions = array(
'builddoc' => $langs->trans("PDFMerge"),
'presend' => $langs->trans("SendByMail"),
);
if (in_array($massaction, array('presend'))) $arrayofmassactions=array();
$massactionbutton = $form->selectMassAction('', $arrayofmassactions);
$newcardbutton=''; $newcardbutton='';
if ($user->rights->expedition->creer) if ($user->rights->expedition->creer)
{ {
$newcardbutton.= dolGetButtonTitle($langs->trans('NewSending'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/expedition/card.php?action=create2'); $newcardbutton.= dolGetButtonTitle($langs->trans('NewSending'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/expedition/card.php?action=create2');
} }
$i = 0; $i = 0;
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">'."\n"; print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">'."\n";
@ -293,7 +302,13 @@ if ($resql)
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">'; print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">'; print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
print_barre_liste($langs->trans('ListOfSendings'), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, '', 0, $newcardbutton, '', $limit); print_barre_liste($langs->trans('ListOfSendings'), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, '', 0, $newcardbutton, '', $limit);
$topicmail = "SendShippingRef";
$modelmail = "shipping_send";
$objecttmp = new Expedition($db);
$trackid = 'shi'.$object->id;
include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php';
if ($sall) if ($sall)
{ {
@ -313,7 +328,8 @@ if ($resql)
} }
$varpage=empty($contextpage)?$_SERVER["PHP_SELF"]:$contextpage; $varpage=empty($contextpage)?$_SERVER["PHP_SELF"]:$contextpage;
$selectedfields=$form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields $selectedfields=$form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage);
if ($massactionbutton) $selectedfields.=$form->showCheckAddButtons('checkforselect', 1);// This also change content of $arrayfields
print '<div class="div-table-responsive">'; print '<div class="div-table-responsive">';
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">'."\n"; print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">'."\n";
@ -460,6 +476,7 @@ if ($resql)
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', '', $sortfield, $sortorder, 'center maxwidthsearch '); print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ');
print "</tr>\n"; print "</tr>\n";
$typenArray = $formcompany->typent_array(1);
$i=0; $i=0;
$totalarray=array(); $totalarray=array();
while ($i < min($num, $limit)) while ($i < min($num, $limit))
@ -537,8 +554,7 @@ if ($resql)
if (! empty($arrayfields['typent.code']['checked'])) if (! empty($arrayfields['typent.code']['checked']))
{ {
print '<td class="center">'; print '<td class="center">';
if (count($typenArray)==0) $typenArray = $formcompany->typent_array(1); if (isset($typenArray[$obj->typent_code])) print $typenArray[$obj->typent_code];
print $typenArray[$obj->typent_code];
print '</td>'; print '</td>';
if (! $i) $totalarray['nbfield']++; if (! $i) $totalarray['nbfield']++;
} }
@ -613,14 +629,22 @@ if ($resql)
if (! $i) $totalarray['nbfield']++; if (! $i) $totalarray['nbfield']++;
} }
// Action column // Action column
print '<td></td>'; print '<td class="nowrap" align="center">';
if ($massactionbutton || $massaction) // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined
{
$selected=0;
if (in_array($obj->rowid, $arrayofselected)) $selected=1;
print '<input id="cb'.$obj->rowid.'" class="flat checkforselect" type="checkbox" name="toselect[]" value="'.$obj->rowid.'"'.($selected?' checked="checked"':'').'>';
}
print '</td>';
if (! $i) $totalarray['nbfield']++; if (! $i) $totalarray['nbfield']++;
print "</tr>\n"; print "</tr>\n";
$i++; $i++;
} }
$db->free($resql);
$parameters=array('arrayfields'=>$arrayfields, 'sql'=>$sql); $parameters=array('arrayfields'=>$arrayfields, 'sql'=>$sql);
$reshook=$hookmanager->executeHooks('printFieldListFooter', $parameters); // Note that $action and $object may have been modified by hook $reshook=$hookmanager->executeHooks('printFieldListFooter', $parameters); // Note that $action and $object may have been modified by hook
@ -629,7 +653,20 @@ if ($resql)
print "</table>"; print "</table>";
print "</div>"; print "</div>";
print '</form>'; print '</form>';
$db->free($resql);
$hidegeneratedfilelistifempty = 1;
if ($massaction == 'builddoc' || $action == 'remove_file' || $show_files) $hidegeneratedfilelistifempty = 0;
// Show list of available documents
$urlsource = $_SERVER['PHP_SELF'].'?sortfield='.$sortfield.'&sortorder='.$sortorder;
$urlsource .= str_replace('&amp;', '&', $param);
$filedir = $diroutputmassaction;
$genallowed = $user->rights->expedition->lire;
$delallowed = $user->rights->expedition->creer;
$title = '';
print $formfile->showdocuments('massfilesarea_sendings', '', $filedir, $urlsource, 0, $delallowed, '', 1, 1, 0, 48, 1, $param, $title, '', '', '', null, $hidegeneratedfilelistifempty);
} }
else else
{ {

View File

@ -1024,6 +1024,34 @@ if (empty($reshook))
} }
} }
if ($action == 'set_unpaid' && $id > 0 && $user->rights->expensereport->to_paid)
{
$object = new ExpenseReport($db);
$object->fetch($id);
$result = $object->set_unpaid($user);
if ($result > 0)
{
// Define output language
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
{
$outputlangs = $langs;
$newlang = '';
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id', 'aZ09')) $newlang = GETPOST('lang_id', 'aZ09');
if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang;
if (! empty($newlang)) {
$outputlangs = new Translate("", $conf);
$outputlangs->setDefaultLang($newlang);
}
$model=$object->modelpdf;
$ret = $object->fetch($id); // Reload to get new records
$object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref);
}
}
}
if ($action == 'set_paid' && $id > 0 && $user->rights->expensereport->to_paid) if ($action == 'set_paid' && $id > 0 && $user->rights->expensereport->to_paid)
{ {
$object = new ExpenseReport($db); $object = new ExpenseReport($db);

View File

@ -80,7 +80,7 @@ class Interventions extends DolibarrApi
$result = $this->fichinter->fetch($id); $result = $this->fichinter->fetch($id);
if( ! $result ) { if( ! $result ) {
throw new RestException(404, 'Intervention report not found'); throw new RestException(404, 'Intervention not found');
} }
if( ! DolibarrApi::_checkAccessToResource('fichinter', $this->fichinter->id)) { if( ! DolibarrApi::_checkAccessToResource('fichinter', $this->fichinter->id)) {
@ -174,10 +174,10 @@ class Interventions extends DolibarrApi
} }
} }
else { else {
throw new RestException(503, 'Error when retrieve fichinter list : '.$db->lasterror()); throw new RestException(503, 'Error when retrieve intervention list : '.$db->lasterror());
} }
if( ! count($obj_ret)) { if( ! count($obj_ret)) {
throw new RestException(404, 'No finchinter found'); throw new RestException(404, 'No intervention found');
} }
return $obj_ret; return $obj_ret;
} }
@ -200,7 +200,7 @@ class Interventions extends DolibarrApi
} }
if ($this->fichinter->create(DolibarrApiAccess::$user) < 0) { if ($this->fichinter->create(DolibarrApiAccess::$user) < 0) {
throw new RestException(500, "Error creating fichinter", array_merge(array($this->fichinter->error), $this->fichinter->errors)); throw new RestException(500, "Error creating intervention", array_merge(array($this->fichinter->error), $this->fichinter->errors));
} }
return $this->fichinter->id; return $this->fichinter->id;
@ -301,7 +301,7 @@ class Interventions extends DolibarrApi
throw new RestException(404, 'Intervention not found'); throw new RestException(404, 'Intervention not found');
} }
if( ! DolibarrApi::_checkAccessToResource('commande', $this->fichinter->id)) { if( ! DolibarrApi::_checkAccessToResource('fichinter', $this->fichinter->id)) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
} }

View File

@ -19,10 +19,12 @@
use Luracast\Restler\RestException; use Luracast\Restler\RestException;
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php';
require_once DOL_DOCUMENT_ROOT . '/fourn/class/paiementfourn.class.php';
/** /**
* API class for supplier invoices * API class for supplier invoices
* *
* @property DoliDB db
* @access protected * @access protected
* @class DolibarrApiAccess {@requires user,external} * @class DolibarrApiAccess {@requires user,external}
*/ */
@ -46,7 +48,7 @@ class SupplierInvoices extends DolibarrApi
*/ */
public function __construct() public function __construct()
{ {
global $db, $conf; global $db;
$this->db = $db; $this->db = $db;
$this->invoice = new FactureFournisseur($this->db); $this->invoice = new FactureFournisseur($this->db);
} }
@ -98,25 +100,27 @@ class SupplierInvoices extends DolibarrApi
*/ */
public function index($sortfield = "t.rowid", $sortorder = 'ASC', $limit = 100, $page = 0, $thirdparty_ids = '', $status = '', $sqlfilters = '') public function index($sortfield = "t.rowid", $sortorder = 'ASC', $limit = 100, $page = 0, $thirdparty_ids = '', $status = '', $sqlfilters = '')
{ {
global $db, $conf; global $db;
$obj_ret = array(); $obj_ret = array();
// case of external user, $thirdparty_ids param is ignored and replaced by user's socid // case of external user, $thirdparty_ids param is ignored and replaced by user's socid
$socids = DolibarrApiAccess::$user->societe_id ? DolibarrApiAccess::$user->societe_id : $thirdparty_ids; $socids = DolibarrApiAccess::$user->socid ? DolibarrApiAccess::$user->socid : $thirdparty_ids;
// If the internal user must only see his customers, force searching by him // If the internal user must only see his customers, force searching by him
$search_sale = 0; $search_sale = 0;
if (! DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) $search_sale = DolibarrApiAccess::$user->id; if (! DolibarrApiAccess::$user->rights->societe->client->voir) $search_sale = DolibarrApiAccess::$user->id;
$sql = "SELECT t.rowid"; $sql = "SELECT t.rowid";
if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql .= ", sc.fk_soc, sc.fk_user"; // We need these fields in order to filter by sale (including the case where the user can only see his prospects) // We need these fields in order to filter by sale (including the case where the user can only see his prospects)
if (!DolibarrApiAccess::$user->rights->societe->client->voir || $search_sale > 0) $sql .= ", sc.fk_soc, sc.fk_user";
$sql.= " FROM ".MAIN_DB_PREFIX."facture_fourn as t"; $sql.= " FROM ".MAIN_DB_PREFIX."facture_fourn as t";
if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We need this table joined to the select in order to filter by sale // We need this table joined to the select in order to filter by sale
if (!DolibarrApiAccess::$user->rights->societe->client->voir || $search_sale > 0) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
$sql.= ' WHERE t.entity IN ('.getEntity('supplier_invoice').')'; $sql.= ' WHERE t.entity IN ('.getEntity('supplier_invoice').')';
if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= " AND t.fk_soc = sc.fk_soc"; if (!DolibarrApiAccess::$user->rights->societe->client->voir || $search_sale > 0) $sql.= " AND t.fk_soc = sc.fk_soc";
if ($socids) $sql.= " AND t.fk_soc IN (".$socids.")"; if ($socids) $sql.= " AND t.fk_soc IN (".$socids.")";
if ($search_sale > 0) $sql.= " AND t.rowid = sc.fk_soc"; // Join for the needed table to filter by sale if ($search_sale > 0) $sql.= " AND t.rowid = sc.fk_soc"; // Join for the needed table to filter by sale
@ -186,8 +190,12 @@ class SupplierInvoices extends DolibarrApi
/** /**
* Create supplier invoice object * Create supplier invoice object
* *
* @param array $request_data Request datas * @param array $request_data Request datas
*
* @return int ID of supplier invoice * @return int ID of supplier invoice
*
* @throws 401
* @throws 500
*/ */
public function post($request_data = null) public function post($request_data = null)
{ {
@ -203,14 +211,6 @@ class SupplierInvoices extends DolibarrApi
if(! array_keys($request_data, 'date')) { if(! array_keys($request_data, 'date')) {
$this->invoice->date = dol_now(); $this->invoice->date = dol_now();
} }
/* We keep lines as an array
if (isset($request_data["lines"])) {
$lines = array();
foreach ($request_data["lines"] as $line) {
array_push($lines, (object) $line);
}
$this->invoice->lines = $lines;
}*/
if ($this->invoice->create(DolibarrApiAccess::$user) < 0) { if ($this->invoice->create(DolibarrApiAccess::$user) < 0) {
throw new RestException(500, "Error creating order", array_merge(array($this->invoice->error), $this->invoice->errors)); throw new RestException(500, "Error creating order", array_merge(array($this->invoice->error), $this->invoice->errors));
@ -223,7 +223,11 @@ class SupplierInvoices extends DolibarrApi
* *
* @param int $id Id of supplier invoice to update * @param int $id Id of supplier invoice to update
* @param array $request_data Datas * @param array $request_data Datas
*
* @return int * @return int
*
* @throws 401
* @throws 404
*/ */
public function put($id, $request_data = null) public function put($id, $request_data = null)
{ {
@ -255,7 +259,12 @@ class SupplierInvoices extends DolibarrApi
* Delete supplier invoice * Delete supplier invoice
* *
* @param int $id Supplier invoice ID * @param int $id Supplier invoice ID
* @return type *
* @return array
*
* @throws 401
* @throws 404
* @throws 500
*/ */
public function delete($id) public function delete($id)
{ {
@ -276,7 +285,7 @@ class SupplierInvoices extends DolibarrApi
throw new RestException(500); throw new RestException(500);
} }
return array( return array(
'success' => array( 'success' => array(
'code' => 200, 'code' => 200,
'message' => 'Supplier invoice deleted' 'message' => 'Supplier invoice deleted'
@ -284,7 +293,6 @@ class SupplierInvoices extends DolibarrApi
); );
} }
/** /**
* Validate an order * Validate an order
* *
@ -295,13 +303,12 @@ class SupplierInvoices extends DolibarrApi
* @url POST {id}/validate * @url POST {id}/validate
* *
* @return array * @return array
* FIXME An error 403 is returned if the request has an empty body. *
* Error message: "Forbidden: Content type `text/plain` is not supported." * @throws 304
* Workaround: send this in the body * @throws 401
* { * @throws 404
* "idwarehouse": 0, * @throws 405
* "notrigger": 0 * @throws 500
* }
*/ */
public function validate($id, $idwarehouse = 0, $notrigger = 0) public function validate($id, $idwarehouse = 0, $notrigger = 0)
{ {
@ -333,6 +340,145 @@ class SupplierInvoices extends DolibarrApi
); );
} }
/**
* Get list of payments of a given supplier invoice
*
* @param int $id Id of SupplierInvoice
*
* @url GET {id}/payments
*
* @return array
* @throws 400
* @throws 401
* @throws 404
* @throws 405
*/
public function getPayments($id)
{
if(! DolibarrApiAccess::$user->rights->fournisseur->facture->lire) {
throw new RestException(401);
}
if(empty($id)) {
throw new RestException(400, 'Invoice ID is mandatory');
}
if( ! DolibarrApi::_checkAccessToResource('fournisseur', $this->invoice->id, 'facture_fourn', 'facture')) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
}
$result = $this->invoice->fetch($id);
if( ! $result ) {
throw new RestException(404, 'Invoice not found');
}
$result = $this->invoice->getListOfPayments();
if( $result < 0) {
throw new RestException(405, $this->invoice->error);
}
return $result;
}
/**
* Add payment line to a specific supplier invoice with the remain to pay as amount.
*
* @param int $id Id of invoice
* @param string $datepaye {@from body} Payment date {@type timestamp}
* @param int $paiementid {@from body} Payment mode Id {@min 1}
* @param string $closepaidinvoices {@from body} Close paid invoices {@choice yes,no}
* @param int $accountid {@from body} Account Id {@min 1}
* @param string $num_paiement {@from body} Payment number (optional)
* @param string $comment {@from body} Note (optional)
* @param string $chqemetteur {@from body} Payment issuer (mandatory if paiementcode = 'CHQ')
* @param string $chqbank {@from body} Issuer bank name (optional)
*
* @url POST {id}/payments
*
* @return int Payment ID
* @throws 400
* @throws 401
* @throws 404
*/
public function addPayment($id, $datepaye, $paiementid, $closepaidinvoices, $accountid, $num_paiement = '', $comment = '', $chqemetteur = '', $chqbank = '')
{
global $conf;
if(! DolibarrApiAccess::$user->rights->fournisseur->facture->creer) {
throw new RestException(403);
}
if(empty($id)) {
throw new RestException(400, 'Invoice ID is mandatory');
}
if( ! DolibarrApi::_checkAccessToResource('fournisseur', $this->invoice->id, 'facture_fourn', 'facture')) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
}
if (! empty($conf->banque->enabled)) {
if(empty($accountid)) {
throw new RestException(400, 'Account ID is mandatory');
}
}
if(empty($paiementid)) {
throw new RestException(400, 'Paiement ID or Paiement Code is mandatory');
}
$result = $this->invoice->fetch($id);
if( ! $result ) {
throw new RestException(404, 'Invoice not found');
}
// Calculate amount to pay
$totalpaye = $this->invoice->getSommePaiement();
$totaldeposits = $this->invoice->getSumDepositsUsed();
$resteapayer = price2num($this->invoice->total_ttc - $totalpaye - $totaldeposits, 'MT');
$this->db->begin();
$amounts = array();
$multicurrency_amounts = array();
$resteapayer = price2num($resteapayer, 'MT');
$amounts[$id] = $resteapayer;
// Multicurrency
$newvalue = price2num($this->invoice->multicurrency_total_ttc, 'MT');
$multicurrency_amounts[$id] = $newvalue;
// Creation of payment line
$paiement = new PaiementFourn($this->db);
$paiement->datepaye = $datepaye;
$paiement->amounts = $amounts; // Array with all payments dispatching with invoice id
$paiement->multicurrency_amounts = $multicurrency_amounts; // Array with all payments dispatching
$paiement->paiementid = $paiementid;
$paiement->paiementcode = dol_getIdFromCode($this->db, $paiementid, 'c_paiement', 'id', 'code', 1);
$paiement->num_payment = $num_paiement;
$paiement->note_public = $comment;
$paiement_id = $paiement->create(DolibarrApiAccess::$user, ($closepaidinvoices=='yes'?1:0)); // This include closing invoices
if ($paiement_id < 0)
{
$this->db->rollback();
throw new RestException(400, 'Payment error : '.$paiement->error);
}
if (! empty($conf->banque->enabled)) {
$result=$paiement->addPaymentToBank(DolibarrApiAccess::$user, 'payment_supplier', '(SupplierInvoicePayment)', $accountid, $chqemetteur, $chqbank);
if ($result < 0)
{
$this->db->rollback();
throw new RestException(400, 'Add payment to bank error : '.$paiement->error);
}
}
$this->db->commit();
return $paiement_id;
}
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
/** /**
* Clean sensible object datas * Clean sensible object datas

View File

@ -98,7 +98,7 @@ class EvalMath
'sin','sinh','arcsin','asin','arcsinh','asinh', 'sin','sinh','arcsin','asin','arcsinh','asinh',
'cos','cosh','arccos','acos','arccosh','acosh', 'cos','cosh','arccos','acos','arccosh','acosh',
'tan','tanh','arctan','atan','arctanh','atanh', 'tan','tanh','arctan','atan','arctanh','atanh',
'sqrt','abs','ln','log'); 'sqrt','abs','ln','log','intval');
/** /**
* Constructor * Constructor

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

View File

@ -128,12 +128,6 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (11
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1162, 116, '7','0','VAT reduced rate',1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1162, 116, '7','0','VAT reduced rate',1);
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1163, 116, '0','0','VAT rate 0',1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1163, 116, '0','0','VAT rate 0',1);
-- ITALY (id country=3)
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 31, 3, '22','0','VAT standard rate',1);
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 32, 3, '10','0','VAT reduced rate',1);
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 33, 3, '4','0','VAT super-reduced rate',1);
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 34, 3, '0','0','VAT Rate 0',1);
-- INDIA (id country=117) -- INDIA (id country=117)
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1171, 117, '0','0','VAT Rate 0', 0); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1171, 117, '0','0','VAT Rate 0', 0);
@ -153,6 +147,12 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 8
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 84, 8, '9','0','VAT reduced rate',1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 84, 8, '9','0','VAT reduced rate',1);
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 85, 8, '4.8','0','VAT reduced rate',1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 85, 8, '4.8','0','VAT reduced rate',1);
-- ITALY (id country=3)
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 31, 3, '22','0','VAT standard rate',1);
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 32, 3, '10','0','VAT reduced rate',1);
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 33, 3, '4','0','VAT super-reduced rate',1);
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 34, 3, '0','0','VAT Rate 0',1);
-- IVORY COST (id country=21) -- IVORY COST (id country=21)
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values (211, 21, '0','0',0,0,0,0,'IVA Rate 0',1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values (211, 21, '0','0',0,0,0,0,'IVA Rate 0',1);
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values (212, 21, '18','0',7.5,2,0,0,'IVA standard rate',1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values (212, 21, '18','0',7.5,2,0,0,'IVA standard rate',1);

View File

@ -71,4 +71,8 @@ create table llx_payment_salary_extrafields
ALTER TABLE llx_payment_salary_extrafields ADD INDEX idx_payment_salary_extrafields (fk_object); ALTER TABLE llx_payment_salary_extrafields ADD INDEX idx_payment_salary_extrafields (fk_object);
ALTER TABLE llx_c_price_expression MODIFY COLUMN expression varchar(255) NOT NULL;
UPDATE llx_bank_url set url = REPLACE( url, 'compta/salaries/', 'salaries/'); UPDATE llx_bank_url set url = REPLACE( url, 'compta/salaries/', 'salaries/');
ALTER TABLE llx_stock_mouvement ADD COLUMN fk_projet INTEGER NOT NULL DEFAULT 0 AFTER model_pdf;

View File

@ -20,5 +20,5 @@ create table llx_c_price_expression
( (
rowid integer AUTO_INCREMENT PRIMARY KEY, rowid integer AUTO_INCREMENT PRIMARY KEY,
title varchar(20) NOT NULL, title varchar(20) NOT NULL,
expression varchar(80) NOT NULL expression varchar(255) NOT NULL
)ENGINE=innodb; )ENGINE=innodb;

View File

@ -36,5 +36,6 @@ create table llx_stock_mouvement
fk_project integer, fk_project integer,
fk_origin integer, fk_origin integer,
origintype varchar(32), origintype varchar(32),
model_pdf varchar(255) model_pdf varchar(255),
fk_projet integer NOT NULL DEFAULT 0
)ENGINE=innodb; )ENGINE=innodb;

View File

@ -265,7 +265,7 @@ AccountingJournals=Accounting journals
AccountingJournal=Accounting journal AccountingJournal=Accounting journal
NewAccountingJournal=New accounting journal NewAccountingJournal=New accounting journal
ShowAccoutingJournal=Show accounting journal ShowAccoutingJournal=Show accounting journal
Nature=طبيعة NatureOfJournal=Nature of Journal
AccountingJournalType1=Miscellaneous operations AccountingJournalType1=Miscellaneous operations
AccountingJournalType2=مبيعات AccountingJournalType2=مبيعات
AccountingJournalType3=مشتريات AccountingJournalType3=مشتريات
@ -291,6 +291,7 @@ Modelcsv_quadratus=Export for Quadratus QuadraCompta
Modelcsv_ebp=Export for EBP Modelcsv_ebp=Export for EBP
Modelcsv_cogilog=Export for Cogilog Modelcsv_cogilog=Export for Cogilog
Modelcsv_agiris=Export for Agiris Modelcsv_agiris=Export for Agiris
Modelcsv_LDCompta=Export for LD Compta (v9 & higher) (Test)
Modelcsv_openconcerto=Export for OpenConcerto (Test) Modelcsv_openconcerto=Export for OpenConcerto (Test)
Modelcsv_configurable=Export Configurable Modelcsv_configurable=Export Configurable
Modelcsv_FEC=Export FEC Modelcsv_FEC=Export FEC
@ -301,7 +302,7 @@ ChartofaccountsId=Chart of accounts Id
InitAccountancy=Init accountancy InitAccountancy=Init accountancy
InitAccountancyDesc=This page can be used to initialize an accounting account on products and services that does not have accounting account defined for sales and purchases. InitAccountancyDesc=This page can be used to initialize an accounting account on products and services that does not have accounting account defined for sales and purchases.
DefaultBindingDesc=This page can be used to set a default account to use to link transactions record about payment salaries, donation, taxes and vat when no specific accounting account were already set. DefaultBindingDesc=This page can be used to set a default account to use to link transactions record about payment salaries, donation, taxes and vat when no specific accounting account were already set.
DefaultClosureDesc=This page can be used to set parameters to use to enclose a balance sheet. DefaultClosureDesc=This page can be used to set parameters used for accounting closures.
Options=الخيارات Options=الخيارات
OptionModeProductSell=Mode sales OptionModeProductSell=Mode sales
OptionModeProductSellIntra=Mode sales exported in EEC OptionModeProductSellIntra=Mode sales exported in EEC

View File

@ -574,7 +574,7 @@ Module510Name=الرواتب
Module510Desc=Record and track employee payments Module510Desc=Record and track employee payments
Module520Name=القروض Module520Name=القروض
Module520Desc=إدارة القروض Module520Desc=إدارة القروض
Module600Name=الإخطارات Module600Name=Notifications on business event
Module600Desc=Send email notifications triggered by a business event: per user (setup defined on each user), per third-party contacts (setup defined on each third party) or by specific emails Module600Desc=Send email notifications triggered by a business event: per user (setup defined on each user), per third-party contacts (setup defined on each third party) or by specific emails
Module600Long=Note that this module sends emails in real-time when a specific business event occurs. If you are looking for a feature to send email reminders for agenda events, go into the setup of module Agenda. Module600Long=Note that this module sends emails in real-time when a specific business event occurs. If you are looking for a feature to send email reminders for agenda events, go into the setup of module Agenda.
Module610Name=Product Variants Module610Name=Product Variants
@ -1193,6 +1193,7 @@ ExtraFieldsSupplierOrders=سمات التكميلية (أوامر)
ExtraFieldsSupplierInvoices=سمات التكميلية (الفواتير) ExtraFieldsSupplierInvoices=سمات التكميلية (الفواتير)
ExtraFieldsProject=سمات التكميلية (مشاريع) ExtraFieldsProject=سمات التكميلية (مشاريع)
ExtraFieldsProjectTask=سمات التكميلية (المهام) ExtraFieldsProjectTask=سمات التكميلية (المهام)
ExtraFieldsSalaries=Complementary attributes (salaries)
ExtraFieldHasWrongValue=السمة %s له قيمة خاطئة. ExtraFieldHasWrongValue=السمة %s له قيمة خاطئة.
AlphaNumOnlyLowerCharsAndNoSpace=alphanumericals فقط وشخصيات الحالة الأدنى دون الفضاء AlphaNumOnlyLowerCharsAndNoSpace=alphanumericals فقط وشخصيات الحالة الأدنى دون الفضاء
SendmailOptionNotComplete=تحذير، في بعض أنظمة لينكس، لإرسال البريد الإلكتروني من البريد الإلكتروني الخاص بك، يجب أن تنسخ الإعداد تنفيذ conatins الخيار، على درجة البكالوريوس (mail.force_extra_parameters المعلمة في ملف php.ini الخاص بك). إذا كان بعض المستفيدين لم تلقي رسائل البريد الإلكتروني، في محاولة لتعديل هذه المعلمة PHP مع mail.force_extra_parameters =-BA). SendmailOptionNotComplete=تحذير، في بعض أنظمة لينكس، لإرسال البريد الإلكتروني من البريد الإلكتروني الخاص بك، يجب أن تنسخ الإعداد تنفيذ conatins الخيار، على درجة البكالوريوس (mail.force_extra_parameters المعلمة في ملف php.ini الخاص بك). إذا كان بعض المستفيدين لم تلقي رسائل البريد الإلكتروني، في محاولة لتعديل هذه المعلمة PHP مع mail.force_extra_parameters =-BA).
@ -1220,13 +1221,14 @@ SuhosinSessionEncrypt=تخزين جلسة المشفرة بواسطة Suhosin
ConditionIsCurrently=الشرط هو حاليا %s ConditionIsCurrently=الشرط هو حاليا %s
YouUseBestDriver=You use driver %s which is the best driver currently available. YouUseBestDriver=You use driver %s which is the best driver currently available.
YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended.
NbOfProductIsLowerThanNoPb=You have only %s products/services in the database. This does not require any particular optimization. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization.
SearchOptim=البحث الأمثل SearchOptim=البحث الأمثل
YouHaveXProductUseSearchOptim=You have %s products in the database. You should add the constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Home-Setup-Other. Limit the search to the beginning of strings which makes it possible for the database to use indexes and you should get an immediate response. YouHaveXObjectUseSearchOptim=You have %s %s in the database. You should add the constant %s to 1 in Home-Setup-Other. Limit the search to the beginning of strings which makes it possible for the database to use indexes and you should get an immediate response.
YouHaveXObjectAndSearchOptimOn=You have %s %s in the database and constant %s is set to 1 in Home-Setup-Other.
BrowserIsOK=You are using the %s web browser. This browser is ok for security and performance. BrowserIsOK=You are using the %s web browser. This browser is ok for security and performance.
BrowserIsKO=You are using the %s web browser. This browser is known to be a bad choice for security, performance and reliability. We recommend using Firefox, Chrome, Opera or Safari. BrowserIsKO=You are using the %s web browser. This browser is known to be a bad choice for security, performance and reliability. We recommend using Firefox, Chrome, Opera or Safari.
XDebugInstalled=XDebug غير محملة. PHPModuleLoaded=PHP component %s is loaded
XCacheInstalled=XCache غير محملة. PreloadOPCode=Preloaded OPCode is used
AddRefInList=Display Customer/Vendor ref. info list (select list or combobox) and most of hyperlink.<br>Third Parties will appear with a name format of "CC12345 - SC45678 - The Big Company corp." instead of "The Big Company corp". AddRefInList=Display Customer/Vendor ref. info list (select list or combobox) and most of hyperlink.<br>Third Parties will appear with a name format of "CC12345 - SC45678 - The Big Company corp." instead of "The Big Company corp".
AddAdressInList=Display Customer/Vendor adress info list (select list or combobox)<br>Third Parties will appear with a name format of "The Big Company corp. - 21 jump street 123456 Big town - USA" instead of "The Big Company corp". AddAdressInList=Display Customer/Vendor adress info list (select list or combobox)<br>Third Parties will appear with a name format of "The Big Company corp. - 21 jump street 123456 Big town - USA" instead of "The Big Company corp".
AskForPreferredShippingMethod=Ask for preferred shipping method for Third Parties. AskForPreferredShippingMethod=Ask for preferred shipping method for Third Parties.
@ -1734,9 +1736,9 @@ ExpenseReportsRulesSetup=Setup of module Expense Reports - Rules
ExpenseReportNumberingModules=Expense reports numbering module ExpenseReportNumberingModules=Expense reports numbering module
NoModueToManageStockIncrease=تم تفعيل أي وحدة قادرة على إدارة زيادة المخزون التلقائي. وسوف يتم زيادة الأسهم على الإدخال اليدوي فقط. NoModueToManageStockIncrease=تم تفعيل أي وحدة قادرة على إدارة زيادة المخزون التلقائي. وسوف يتم زيادة الأسهم على الإدخال اليدوي فقط.
YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for email notifications by enabling and configuring the module "Notification". YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for email notifications by enabling and configuring the module "Notification".
ListOfNotificationsPerUser=List of notifications per user* ListOfNotificationsPerUser=List of automatic notifications per user*
ListOfNotificationsPerUserOrContact=List of notifications (events) available per user* or per contact** ListOfNotificationsPerUserOrContact=List of possible automatic notifications (on business event) available per user* or per contact**
ListOfFixedNotifications=List of Fixed Notifications ListOfFixedNotifications=List of automatic fixed notifications
GoOntoUserCardToAddMore=Go to the tab "Notifications" of a user to add or remove notifications for users GoOntoUserCardToAddMore=Go to the tab "Notifications" of a user to add or remove notifications for users
GoOntoContactCardToAddMore=Go on the tab "Notifications" of a third party to add or remove notifications for contacts/addresses GoOntoContactCardToAddMore=Go on the tab "Notifications" of a third party to add or remove notifications for contacts/addresses
Threshold=عتبة Threshold=عتبة
@ -1898,6 +1900,11 @@ OnMobileOnly=On small screen (smartphone) only
DisableProspectCustomerType=Disable the "Prospect + Customer" third party type (so third party must be Prospect or Customer but can't be both) DisableProspectCustomerType=Disable the "Prospect + Customer" third party type (so third party must be Prospect or Customer but can't be both)
MAIN_OPTIMIZEFORTEXTBROWSER=Simplify interface for blind person MAIN_OPTIMIZEFORTEXTBROWSER=Simplify interface for blind person
MAIN_OPTIMIZEFORTEXTBROWSERDesc=Enable this option if you are a blind person, or if you use the application from a text browser like Lynx or Links. MAIN_OPTIMIZEFORTEXTBROWSERDesc=Enable this option if you are a blind person, or if you use the application from a text browser like Lynx or Links.
MAIN_OPTIMIZEFORCOLORBLIND=Change interface's color for color blind person
MAIN_OPTIMIZEFORCOLORBLINDDesc=Enable this option if you are a color blind person, in some case interface will change color setup to increase contrast.
Protanopia=Protanopia
Deuteranopes=Deuteranopes
Tritanopes=Tritanopes
ThisValueCanOverwrittenOnUserLevel=This value can be overwritten by each user from its user page - tab '%s' ThisValueCanOverwrittenOnUserLevel=This value can be overwritten by each user from its user page - tab '%s'
DefaultCustomerType=Default thirdparty type for "New customer" creation form DefaultCustomerType=Default thirdparty type for "New customer" creation form
ABankAccountMustBeDefinedOnPaymentModeSetup=Note: The bank account must be defined on the module of each payment mode (Paypal, Stripe, ...) to have this feature working. ABankAccountMustBeDefinedOnPaymentModeSetup=Note: The bank account must be defined on the module of each payment mode (Paypal, Stripe, ...) to have this feature working.
@ -1911,7 +1918,7 @@ LogsLinesNumber=Number of lines to show on logs tab
UseDebugBar=Use the debug bar UseDebugBar=Use the debug bar
DEBUGBAR_LOGS_LINES_NUMBER=Number of last log lines to keep in console DEBUGBAR_LOGS_LINES_NUMBER=Number of last log lines to keep in console
WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramaticaly output WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramaticaly output
DebugBarModuleActivated=Module debugbar is activated and slows dramaticaly the interface ModuleActivated=Module %s is activated and slows the interface
EXPORTS_SHARE_MODELS=Export models are share with everybody EXPORTS_SHARE_MODELS=Export models are share with everybody
ExportSetup=Setup of module Export ExportSetup=Setup of module Export
InstanceUniqueID=Unique ID of the instance InstanceUniqueID=Unique ID of the instance
@ -1928,3 +1935,5 @@ YouWillFindItOnYourIFTTTAccount=You will find it on your IFTTT account
EndPointFor=End point for %s : %s EndPointFor=End point for %s : %s
DeleteEmailCollector=Delete email collector DeleteEmailCollector=Delete email collector
ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector?
RecipientEmailsWillBeReplacedWithThisValue=Recipient emails will be always replaced with this value
AtLeastOneDefaultBankAccountMandatory=At least 1 default bank account must be defined

View File

@ -95,6 +95,7 @@ PaymentHigherThanReminderToPay=دفع أعلى من دفع تذكرة
HelpPaymentHigherThanReminderToPay=Attention, the payment amount of one or more bills is higher than the outstanding amount to pay. <br> Edit your entry, otherwise confirm and consider creating a credit note for the excess received for each overpaid invoice. HelpPaymentHigherThanReminderToPay=Attention, the payment amount of one or more bills is higher than the outstanding amount to pay. <br> Edit your entry, otherwise confirm and consider creating a credit note for the excess received for each overpaid invoice.
HelpPaymentHigherThanReminderToPaySupplier=Attention, the payment amount of one or more bills is higher than the outstanding amount to pay. <br> Edit your entry, otherwise confirm and consider creating a credit note for the excess paid for each overpaid invoice. HelpPaymentHigherThanReminderToPaySupplier=Attention, the payment amount of one or more bills is higher than the outstanding amount to pay. <br> Edit your entry, otherwise confirm and consider creating a credit note for the excess paid for each overpaid invoice.
ClassifyPaid=تصنيف 'مدفوع' ClassifyPaid=تصنيف 'مدفوع'
ClassifyUnPaid=Classify 'Unpaid'
ClassifyPaidPartially=تصنيف 'مدفوع جزئيا' ClassifyPaidPartially=تصنيف 'مدفوع جزئيا'
ClassifyCanceled=تصنيف 'المهجورة' ClassifyCanceled=تصنيف 'المهجورة'
ClassifyClosed=تصنيف 'مغلقة' ClassifyClosed=تصنيف 'مغلقة'
@ -214,6 +215,20 @@ ShowInvoiceReplace=وتظهر استبدال الفاتورة
ShowInvoiceAvoir=وتظهر المذكرة الائتمان ShowInvoiceAvoir=وتظهر المذكرة الائتمان
ShowInvoiceDeposit=Show down payment invoice ShowInvoiceDeposit=Show down payment invoice
ShowInvoiceSituation=Show situation invoice ShowInvoiceSituation=Show situation invoice
UseSituationInvoices=Allow situation invoice
UseSituationInvoicesCreditNote=Allow situation invoice credit note
Retainedwarranty=Retained warranty
RetainedwarrantyDefaultPercent=Retained warranty default percent
ToPayOn=To pay on %s
toPayOn=to pay on %s
RetainedWarranty=Retained Warranty
PaymentConditionsShortRetainedWarranty=Retained warranty payment terms
DefaultPaymentConditionsRetainedWarranty=Default retained warranty payment terms
setPaymentConditionsShortRetainedWarranty=Set retained warranty payment terms
setretainedwarranty=Set retained warranty
setretainedwarrantyDateLimit=Set retained warranty date limit
RetainedWarrantyDateLimit=Retained warranty date limit
RetainedWarrantyNeed100Percent=The situation invoice need to be at 100%% progress to be displayed on PDF
ShowPayment=وتظهر الدفع ShowPayment=وتظهر الدفع
AlreadyPaid=دفعت بالفعل AlreadyPaid=دفعت بالفعل
AlreadyPaidBack=دفعت بالفعل العودة AlreadyPaidBack=دفعت بالفعل العودة

View File

@ -90,7 +90,7 @@ ErrorSpecialCharNotAllowedForField=غير مسموح الأحرف الخاصة
ErrorNumRefModel=إشارة إلى وجود قاعدة بيانات (%s) ، وغير متوافق مع هذه القاعدة الترقيم. سجل إزالة أو إعادة تسميته اشارة الى تفعيل هذه الوحدة. ErrorNumRefModel=إشارة إلى وجود قاعدة بيانات (%s) ، وغير متوافق مع هذه القاعدة الترقيم. سجل إزالة أو إعادة تسميته اشارة الى تفعيل هذه الوحدة.
ErrorQtyTooLowForThisSupplier=Quantity too low for this vendor or no price defined on this product for this vendor ErrorQtyTooLowForThisSupplier=Quantity too low for this vendor or no price defined on this product for this vendor
ErrorOrdersNotCreatedQtyTooLow=Some orders haven't been created because of too-low quantities ErrorOrdersNotCreatedQtyTooLow=Some orders haven't been created because of too-low quantities
ErrorModuleSetupNotComplete=Setup of module looks to be uncomplete. Go on Home - Setup - Modules to complete. ErrorModuleSetupNotComplete=Setup of module %s looks to be uncomplete. Go on Home - Setup - Modules to complete.
ErrorBadMask=خطأ في قناع ErrorBadMask=خطأ في قناع
ErrorBadMaskFailedToLocatePosOfSequence=خطأ، من دون قناع رقم التسلسل ErrorBadMaskFailedToLocatePosOfSequence=خطأ، من دون قناع رقم التسلسل
ErrorBadMaskBadRazMonth=خطأ، قيمة إعادة سيئة ErrorBadMaskBadRazMonth=خطأ، قيمة إعادة سيئة
@ -219,6 +219,7 @@ ErrorURLMustStartWithHttp=URL %s must start with http:// or https://
ErrorNewRefIsAlreadyUsed=Error, the new reference is already used ErrorNewRefIsAlreadyUsed=Error, the new reference is already used
ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=Error, delete payment linked to a closed invoice is not possible. ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=Error, delete payment linked to a closed invoice is not possible.
# Warnings # 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. ويمكن استخدامه من قبل وحدة / واجهة خارجية ولكن إذا كنت لا تحتاج إلى تعريف أي تسجيل دخول أو كلمة المرور لأحد أفراد، يمكنك تعطيل خيار "إدارة تسجيل دخول لكل عضو" من إعداد وحدة الأعضاء. إذا كنت بحاجة إلى إدارة تسجيل الدخول ولكن لا تحتاج إلى أي كلمة المرور، يمكنك الحفاظ على هذا الحقل فارغا لتجنب هذا التحذير. ملاحظة: يمكن أيضا أن تستخدم البريد الإلكتروني لتسجيل الدخول إذا تم ربط عضو إلى المستخدم. WarningPasswordSetWithNoAccount=تم تعيين كلمة مرور لهذا العضو. ومع ذلك، تم إنشاء أي حساب المستخدم. لذلك يتم تخزين كلمة المرور هذه ولكن لا يمكن استخدامها للدخول إلى Dolibarr. ويمكن استخدامه من قبل وحدة / واجهة خارجية ولكن إذا كنت لا تحتاج إلى تعريف أي تسجيل دخول أو كلمة المرور لأحد أفراد، يمكنك تعطيل خيار "إدارة تسجيل دخول لكل عضو" من إعداد وحدة الأعضاء. إذا كنت بحاجة إلى إدارة تسجيل الدخول ولكن لا تحتاج إلى أي كلمة المرور، يمكنك الحفاظ على هذا الحقل فارغا لتجنب هذا التحذير. ملاحظة: يمكن أيضا أن تستخدم البريد الإلكتروني لتسجيل الدخول إذا تم ربط عضو إلى المستخدم.
WarningMandatorySetupNotComplete=Click here to setup mandatory parameters WarningMandatorySetupNotComplete=Click here to setup mandatory parameters
WarningEnableYourModulesApplications=Click here to enable your modules and applications WarningEnableYourModulesApplications=Click here to enable your modules and applications

View File

@ -445,6 +445,7 @@ ContactsAddressesForCompany=اتصالات / عناوين لهذا الطرف ا
AddressesForCompany=عناوين لهذا الطرف الثالث AddressesForCompany=عناوين لهذا الطرف الثالث
ActionsOnCompany=Events for this third party ActionsOnCompany=Events for this third party
ActionsOnContact=Events for this contact/address ActionsOnContact=Events for this contact/address
ActionsOnContract=Events for this contract
ActionsOnMember=الأحداث عن هذا العضو ActionsOnMember=الأحداث عن هذا العضو
ActionsOnProduct=Events about this product ActionsOnProduct=Events about this product
NActionsLate=٪ في وقت متأخر الصورة NActionsLate=٪ في وقت متأخر الصورة
@ -759,6 +760,7 @@ LinkToSupplierProposal=Link to vendor proposal
LinkToSupplierInvoice=Link to vendor invoice LinkToSupplierInvoice=Link to vendor invoice
LinkToContract=Link to contract LinkToContract=Link to contract
LinkToIntervention=Link to intervention LinkToIntervention=Link to intervention
LinkToTicket=Link to ticket
CreateDraft=إنشاء مشروع CreateDraft=إنشاء مشروع
SetToDraft=العودة إلى مشروع SetToDraft=العودة إلى مشروع
ClickToEdit=انقر للتحرير ClickToEdit=انقر للتحرير

View File

@ -2,6 +2,7 @@
ProductRef=مرجع المنتج ProductRef=مرجع المنتج
ProductLabel=وصف المنتج ProductLabel=وصف المنتج
ProductLabelTranslated=تسمية المنتج مترجمة ProductLabelTranslated=تسمية المنتج مترجمة
ProductDescription=Product description
ProductDescriptionTranslated=ترجمة وصف المنتج ProductDescriptionTranslated=ترجمة وصف المنتج
ProductNoteTranslated=ترجمة مذكرة المنتج ProductNoteTranslated=ترجمة مذكرة المنتج
ProductServiceCard=منتجات / بطاقة الخدمات ProductServiceCard=منتجات / بطاقة الخدمات

View File

@ -65,3 +65,5 @@ StripeUserAccountForActions=User account to use for email notification of some S
StripePayoutList=List of Stripe payouts StripePayoutList=List of Stripe payouts
ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mode) ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mode)
ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode)
PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period.
ClickHereToTryAgain=<a href="%s">Click here to try again...</a>

View File

@ -76,7 +76,8 @@ WithdrawalFile=ملف الانسحاب
SetToStatusSent=تعيين إلى حالة "المرسلة ملف" SetToStatusSent=تعيين إلى حالة "المرسلة ملف"
ThisWillAlsoAddPaymentOnInvoice=This will also record payments to invoices and will classify them as "Paid" if remain to pay is null ThisWillAlsoAddPaymentOnInvoice=This will also record payments to invoices and will classify them as "Paid" if remain to pay is null
StatisticsByLineStatus=إحصاءات عن طريق وضع خطوط StatisticsByLineStatus=إحصاءات عن طريق وضع خطوط
RUM=UMR RUM=Unique Mandate Reference (UMR)
DateRUM=Mandate signature date
RUMLong=Unique Mandate Reference RUMLong=Unique Mandate Reference
RUMWillBeGenerated=If empty, a UMR (Unique Mandate Reference) will be generated once the bank account information is saved. RUMWillBeGenerated=If empty, a UMR (Unique Mandate Reference) will be generated once the bank account information is saved.
WithdrawMode=Direct debit mode (FRST or RECUR) WithdrawMode=Direct debit mode (FRST or RECUR)

View File

@ -1,347 +1,348 @@
# Dolibarr language file - en_US - Accounting Expert # Dolibarr language file - en_US - Accounting Expert
Accounting=Accounting Accounting=Счетоводство
ACCOUNTING_EXPORT_SEPARATORCSV=Разделител за колона за експорт на файл ACCOUNTING_EXPORT_SEPARATORCSV=Разделител на колони в експортен файл
ACCOUNTING_EXPORT_DATE=Формат на дата за експорт на файл ACCOUNTING_EXPORT_DATE=Формат на дата в експортен файл
ACCOUNTING_EXPORT_PIECE=Експортирай номера от частта ACCOUNTING_EXPORT_PIECE=Експортиране на пореден номер
ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Експортирай глобалния акаунт ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Експортиране с глобална сметка
ACCOUNTING_EXPORT_LABEL=Export label ACCOUNTING_EXPORT_LABEL=Етикет на експортиране
ACCOUNTING_EXPORT_AMOUNT=Сума за износ ACCOUNTING_EXPORT_AMOUNT=Сума за експортиране
ACCOUNTING_EXPORT_DEVISE=Експортна валута ACCOUNTING_EXPORT_DEVISE=Валута за експортиране
Selectformat=Избери формата за файла Selectformat=Изберете формата за файла
ACCOUNTING_EXPORT_FORMAT=Избери формата за файла ACCOUNTING_EXPORT_FORMAT=Изберете формата за файла
ACCOUNTING_EXPORT_ENDLINE=Select the carriage return type ACCOUNTING_EXPORT_ENDLINE=Изберете типа пренасяне на нов ред
ACCOUNTING_EXPORT_PREFIX_SPEC=Уточнете префикса за името на файла ACCOUNTING_EXPORT_PREFIX_SPEC=Посочете префикса в името на файла
ThisService=Тази услуга ThisService=Тази услуга
ThisProduct=Този продукт ThisProduct=Този продукт
DefaultForService=Default for service DefaultForService=По подразбиране за услуга
DefaultForProduct=По подразбиране за продукт DefaultForProduct=По подразбиране за продукт
CantSuggest=Не мога да предложа CantSuggest=Не може да се предложи
AccountancySetupDoneFromAccountancyMenu=Most setup of the accountancy is done from the menu %s AccountancySetupDoneFromAccountancyMenu=Повечето настройки на счетоводството се извършват от менюто %s
ConfigAccountingExpert=Configuration of the module accounting expert ConfigAccountingExpert=Конфигурация на модул за експертно счетоводство
Journalization=Осчетоводяване Journalization=Осчетоводяване
Journaux=Журнали Journaux=Журнали
JournalFinancial=Financial journals JournalFinancial=Финансови журнали
BackToChartofaccounts=Return chart of accounts BackToChartofaccounts=Връщане към сметкоплана
Chartofaccounts=Chart of accounts Chartofaccounts=Сметкоплан
CurrentDedicatedAccountingAccount=Current dedicated account CurrentDedicatedAccountingAccount=Текуща специална сметка
AssignDedicatedAccountingAccount=New account to assign AssignDedicatedAccountingAccount=Нова сметка за присвояване
InvoiceLabel=Invoice label InvoiceLabel=Етикет за фактура
OverviewOfAmountOfLinesNotBound=Overview of amount of lines not bound to an accounting account OverviewOfAmountOfLinesNotBound=Преглед на количеството редове, които не са обвързани със счетоводна сметка
OverviewOfAmountOfLinesBound=Overview of amount of lines already bound to an accounting account OverviewOfAmountOfLinesBound=Преглед на количеството редове, които вече са свързани към счетоводна сметка
OtherInfo=Друга информация OtherInfo=Друга информация
DeleteCptCategory=Remove accounting account from group DeleteCptCategory=Премахване на счетоводна сметка от група
ConfirmDeleteCptCategory=Are you sure you want to remove this accounting account from the accounting account group? ConfirmDeleteCptCategory=Сигурни ли сте, че искате да премахнете тази счетоводна сметка от групата счетоводни сметки?
JournalizationInLedgerStatus=Status of journalization JournalizationInLedgerStatus=Статус на осчетоводяване
AlreadyInGeneralLedger=Already journalized in ledgers AlreadyInGeneralLedger=Вече осчетоводено в главната счетоводна книга
NotYetInGeneralLedger=Not yet journalized in ledgers NotYetInGeneralLedger=Все още не е осчетоводено в главната счетоводна книга
GroupIsEmptyCheckSetup=Group is empty, check setup of the personalized accounting group GroupIsEmptyCheckSetup=Групата е празна, проверете настройката на персонализираната счетоводна група
DetailByAccount=Show detail by account DetailByAccount=Показване на детайли по сметка
AccountWithNonZeroValues=Accounts with non-zero values AccountWithNonZeroValues=Сметки с различни от нула стойности
ListOfAccounts=List of accounts ListOfAccounts=Списък на сметки
CountriesInEEC=Countries in EEC CountriesInEEC=Държави в ЕИО
CountriesNotInEEC=Countries not in EEC CountriesNotInEEC=Държави извън ЕИО
CountriesInEECExceptMe=Countries in EEC except %s CountriesInEECExceptMe=Държави в ЕИО, с изключение на %s
CountriesExceptMe=All countries except %s CountriesExceptMe=Всички държави с изключение на %s
AccountantFiles=Export accounting documents AccountantFiles=Експортиране на счетоводни документи
MainAccountForCustomersNotDefined=Main accounting account for customers not defined in setup MainAccountForCustomersNotDefined=Основна счетоводна сметка за клиенти, която не е дефинирана в настройката
MainAccountForSuppliersNotDefined=Main accounting account for vendors not defined in setup MainAccountForSuppliersNotDefined=Основна счетоводна сметка за доставчици, която не е дефинирана в настройката
MainAccountForUsersNotDefined=Main accounting account for users not defined in setup MainAccountForUsersNotDefined=Основна счетоводна сметка за потребители, която не е дефинирана в настройката
MainAccountForVatPaymentNotDefined=Main accounting account for VAT payment not defined in setup MainAccountForVatPaymentNotDefined=Основна счетоводна сметка за плащане на ДДС, която не е дефинирана в настройката
MainAccountForSubscriptionPaymentNotDefined=Main accounting account for subscription payment not defined in setup MainAccountForSubscriptionPaymentNotDefined=Основна счетоводна сметка за плащане на абонамент, която не е дефинирана в настройката
AccountancyArea=Accounting area AccountancyArea=Секция за счетоводство
AccountancyAreaDescIntro=Usage of the accountancy module is done in several step: AccountancyAreaDescIntro=Използването на счетоводния модул се извършва на няколко стъпки:
AccountancyAreaDescActionOnce=The following actions are usually executed one time only, or once per year... AccountancyAreaDescActionOnce=Следните действия се изпълняват обикновено само веднъж или веднъж годишно...
AccountancyAreaDescActionOnceBis=Next steps should be done to save you time in future by suggesting you the correct default accounting account when making the journalization (writing record in Journals and General ledger) AccountancyAreaDescActionOnceBis=Следващите стъпки трябва да се направят, за да ви спестят време в бъдеще, като ви предлагат правилната счетоводна сметка по подразбиране при извършване на осчетоводяване (добавяне на записи в журнали и в главната счетоводна книга)
AccountancyAreaDescActionFreq=The following actions are usually executed every month, week or day for very large companies... AccountancyAreaDescActionFreq=Следните действия се изпълняват обикновено всеки месец, седмица или ден при много големи компании...
AccountancyAreaDescJournalSetup=STEP %s: Create or check content of your journal list from menu %s AccountancyAreaDescJournalSetup=СТЪПКА %s: Създайте или проверете съдържанието на списъка с журнали от меню %s
AccountancyAreaDescChartModel=STEP %s: Create a model of chart of account from menu %s AccountancyAreaDescChartModel=СТЪПКА %s: Създайте модел на сметкоплана от меню %s
AccountancyAreaDescChart=STEP %s: Create or check content of your chart of account from menu %s AccountancyAreaDescChart=СТЪПКА %s: Създайте или проверете съдържанието на вашият сметкоплан от меню %s
AccountancyAreaDescVat=STEP %s: Define accounting accounts for each VAT Rates. For this, use the menu entry %s. AccountancyAreaDescVat=СТЪПКА %s: Определете счетоводните сметки за всяка ставка на ДДС. За това използвайте менюто %s.
AccountancyAreaDescDefault=STEP %s: Define default accounting accounts. For this, use the menu entry %s. AccountancyAreaDescDefault=СТЪПКА %s: Определете счетоводните сметки по подразбиране. За това използвайте менюто %s.
AccountancyAreaDescExpenseReport=STEP %s: Define default accounting accounts for each type of expense report. For this, use the menu entry %s. AccountancyAreaDescExpenseReport=СТЪПКА %s: Определете счетоводните сметки по подразбиране за всеки вид разходен отчет. За това използвайте менюто %s.
AccountancyAreaDescSal=STEP %s: Define default accounting accounts for payment of salaries. For this, use the menu entry %s. AccountancyAreaDescSal=СТЪПКА %s: Определете счетоводните сметки по подразбиране за плащане на заплати. За това използвайте менюто %s.
AccountancyAreaDescContrib=STEP %s: Define default accounting accounts for special expenses (miscellaneous taxes). For this, use the menu entry %s. AccountancyAreaDescContrib=СТЪПКА %s: Определете счетоводните сметки по подразбиране за специални разходи (различни данъци). За това използвайте менюто %s.
AccountancyAreaDescDonation=STEP %s: Define default accounting accounts for donation. For this, use the menu entry %s. AccountancyAreaDescDonation=СТЪПКА %s: Определете счетоводните сметки по подразбиране за дарения. За това използвайте менюто %s.
AccountancyAreaDescSubscription=STEP %s: Define default accounting accounts for member subscription. For this, use the menu entry %s. AccountancyAreaDescSubscription=СТЪПКА %s: Определете счетоводните сметки по подразбиране за членски внос. За това използвайте менюто %s.
AccountancyAreaDescMisc=STEP %s: Define mandatory default account and default accounting accounts for miscellaneous transactions. For this, use the menu entry %s. AccountancyAreaDescMisc=СТЪПКА %s: Определете задължителната сметка по подразбиране и счетоводните сметки по подразбиране за различни транзакции. За това използвайте менюто %s.
AccountancyAreaDescLoan=STEP %s: Define default accounting accounts for loans. For this, use the menu entry %s. AccountancyAreaDescLoan=СТЪПКА %s: Определете счетоводните сметки по подразбиране за кредити. За това използвайте менюто %s.
AccountancyAreaDescBank=STEP %s: Define accounting accounts and journal code for each bank and financial accounts. For this, use the menu entry %s. AccountancyAreaDescBank=СТЪПКА %s: Определете счетоводните сметки и кодът на журнала за всяка банка и финансови сметки. За това използвайте менюто %s.
AccountancyAreaDescProd=STEP %s: Define accounting accounts on your products/services. For this, use the menu entry %s. AccountancyAreaDescProd=СТЪПКА %s: Определете счетоводните сметки за вашите продукти / услуги. За това използвайте менюто %s.
AccountancyAreaDescBind=STEP %s: Check the binding between existing %s lines and accounting account is done, so application will be able to journalize transactions in Ledger in one click. Complete missing bindings. For this, use the menu entry %s. AccountancyAreaDescBind=СТЪПКА %s: Проверете обвързването между съществуващите %s реда и готовия счетоводен акаунт, така че системата да е в състояние да осчетоводи транзакции в главната счетоводна книга с едно кликване. Осъществете липсващите връзки. За това използвайте менюто %s.
AccountancyAreaDescWriteRecords=STEP %s: Write transactions into the Ledger. For this, go into menu <strong>%s</strong>, and click into button <strong>%s</strong>. AccountancyAreaDescWriteRecords=СТЪПКА %s: Запишете транзакции в главната счетоводна книга. За това влезте в меню <strong>%s</strong> и кликнете върху бутон <strong>%s</strong>.
AccountancyAreaDescAnalyze=STEP %s: Add or edit existing transactions and generate reports and exports. AccountancyAreaDescAnalyze=СТЪПКА %s: Добавете или променете съществуващите транзакции и генерирайте отчети и експортни данни.
AccountancyAreaDescClosePeriod=STEP %s: Close period so we can't make modification in a future. AccountancyAreaDescClosePeriod=СТЪПКА %s: Приключете периода, за да не може да се правят промени в бъдеще.
TheJournalCodeIsNotDefinedOnSomeBankAccount=A mandatory step in setup was not complete (accounting code journal not defined for all bank accounts) TheJournalCodeIsNotDefinedOnSomeBankAccount=Задължителна стъпка в настройката не е завършена (счетоводен код на журнал не е определен за всички банкови сметки)
Selectchartofaccounts=Select active chart of accounts Selectchartofaccounts=Изберете активен сметкоплан
ChangeAndLoad=Change and load ChangeAndLoad=Променяне и зареждане
Addanaccount=Add an accounting account Addanaccount=Добавяне на счетоводна сметка
AccountAccounting=Accounting account AccountAccounting=Счетоводна сметка
AccountAccountingShort=Сметка AccountAccountingShort=Сметка
SubledgerAccount=Subledger account SubledgerAccount=Счетоводна сметка
SubledgerAccountLabel=Subledger account label SubledgerAccountLabel=Етикет на счетоводна сметка
ShowAccountingAccount=Show accounting account ShowAccountingAccount=Показване на счетоводна сметка
ShowAccountingJournal=Show accounting journal ShowAccountingJournal=Показване на счетоводен журнал
AccountAccountingSuggest=Accounting account suggested AccountAccountingSuggest=Предложена счетоводна сметка
MenuDefaultAccounts=Default accounts MenuDefaultAccounts=Сметки по подразбиране
MenuBankAccounts=Банкови сметки MenuBankAccounts=Банкови сметки
MenuVatAccounts=Vat accounts MenuVatAccounts=Сметки за ДДС
MenuTaxAccounts=Tax accounts MenuTaxAccounts=Сметки за данъци
MenuExpenseReportAccounts=Expense report accounts MenuExpenseReportAccounts=Сметки за разходни отчети
MenuLoanAccounts=Loan accounts MenuLoanAccounts=Сметки за кредити
MenuProductsAccounts=Product accounts MenuProductsAccounts=Сметки за продукти
MenuClosureAccounts=Closure accounts MenuClosureAccounts=Сметки за приключване
ProductsBinding=Products accounts ProductsBinding=Сметки за продукти
TransferInAccounting=Transfer in accounting TransferInAccounting=Трансфер към счетоводство
RegistrationInAccounting=Registration in accounting RegistrationInAccounting=Регистрация в счетоводство
Binding=Binding to accounts Binding=Обвързване към сметки
CustomersVentilation=Customer invoice binding CustomersVentilation=Обвързване на фактура за продажба
SuppliersVentilation=Vendor invoice binding SuppliersVentilation=Обвързване на фактура за доставка
ExpenseReportsVentilation=Expense report binding ExpenseReportsVentilation=Обвързващ на разходен отчет
CreateMvts=Create new transaction CreateMvts=Създаване на нова транзакция
UpdateMvts=Modification of a transaction UpdateMvts=Променяне на транзакция
ValidTransaction=Validate transaction ValidTransaction=Валидиране на транзакция
WriteBookKeeping=Register transactions in Ledger WriteBookKeeping=Регистриране на транзакции в главната счетоводна книга
Bookkeeping=Ledger Bookkeeping=Главна счетоводна книга
AccountBalance=Account balance AccountBalance=Салдо по сметка
ObjectsRef=Source object ref ObjectsRef=Реф. източник на обект
CAHTF=Total purchase vendor before tax CAHTF=Обща покупка от доставчик преди ДДС
TotalExpenseReport=Total expense report TotalExpenseReport=Общ разходен отчет
InvoiceLines=Lines of invoices to bind InvoiceLines=Редове на фактури за свързване
InvoiceLinesDone=Bound lines of invoices InvoiceLinesDone=Свързани редове на фактури
ExpenseReportLines=Lines of expense reports to bind ExpenseReportLines=Редове на разходни отчети за свързване
ExpenseReportLinesDone=Bound lines of expense reports ExpenseReportLinesDone=Свързани редове на разходни отчети
IntoAccount=Bind line with the accounting account IntoAccount=Свързване на ред със счетоводна сметка
Ventilate=Bind Ventilate=Свързване
LineId=Id line LineId=Идентификатор на ред
Processing=Processing Processing=Обработване
EndProcessing=Process terminated. EndProcessing=Обработването е прекратено.
SelectedLines=Selected lines SelectedLines=Избрани редове
Lineofinvoice=Line of invoice Lineofinvoice=Ред на фактура
LineOfExpenseReport=Line of expense report LineOfExpenseReport=Ред на разходен отчет
NoAccountSelected=No accounting account selected NoAccountSelected=Не е избрана счетоводна сметка
VentilatedinAccount=Binded successfully to the accounting account VentilatedinAccount=Успешно свързване към счетоводната сметка
NotVentilatedinAccount=Not bound to the accounting account NotVentilatedinAccount=Не е свързан със счетоводната сметка
XLineSuccessfullyBinded=%s products/services successfully bound to an accounting account XLineSuccessfullyBinded=%s продукти / услуги успешно са свързани към счетоводна сметка
XLineFailedToBeBinded=%s products/services were not bound to any accounting account XLineFailedToBeBinded=%s продукти / услуги, които не са свързани с нито една счетоводна сметка
ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to bind shown by page (maximum recommended: 50) ACCOUNTING_LIMIT_LIST_VENTILATION=Брой елементи за свързване, показани на страница (препоръчително: 50)
ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the page "Binding to do" by the most recent elements ACCOUNTING_LIST_SORT_VENTILATION_TODO=Започнете сортирането на страницата „За свързване“, използвайки най-новите елементи
ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the page "Binding done" by the most recent elements ACCOUNTING_LIST_SORT_VENTILATION_DONE=Започнете сортирането на страницата „Извършено свързване“, използвайки най-новите елементи
ACCOUNTING_LENGTH_DESCRIPTION=Truncate product & services description in listings after x chars (Best = 50) ACCOUNTING_LENGTH_DESCRIPTION=Съкращаване на описанието на продукти и услуги в списъци след х символа (препоръчително: 50)
ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=Truncate product & services account description form in listings after x chars (Best = 50) ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=Съкращаване на описанието на сметката на продукти и услуги в списъци след x символа (препоръчително: 50)
ACCOUNTING_LENGTH_GACCOUNT=Length of the general accounting accounts (If you set value to 6 here, the account '706' will appear like '706000' on screen) ACCOUNTING_LENGTH_GACCOUNT=Дължина на главните счетоводни сметки (ако тук зададете стойност "6", сметката "706" ще се появи на екрана като "706000")
ACCOUNTING_LENGTH_AACCOUNT=Дължина на счетоводните сметки на контрагенти (ако тук зададете стойност 6, сметка '401' ще се появи на екрана като '401000') ACCOUNTING_LENGTH_AACCOUNT=Дължина на счетоводните сметки на контрагенти (ако тук зададете стойност "6", сметката "401" ще се появи на екрана като "401000")
ACCOUNTING_MANAGE_ZERO=Allow to manage different number of zeros at the end of an accounting account. Needed by some countries (like Switzerland). If set to off (default), you can set the following two parameters to ask the application to add virtual zeros. ACCOUNTING_MANAGE_ZERO=Разрешава управление на различен брой нули в края на счетоводна сметка. Необходимо е в някои страни като Швейцария. Ако е изключено (по подразбиране) може да зададете следните два параметъра, за да поискате от системата да добави виртуални нули.
BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account BANK_DISABLE_DIRECT_INPUT=Деактивиране на директно добавяне на транзакция в банкова сметка
ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on journal ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Активиране на експортиране на журнали в състояние на чернова
ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) ACCOUNTANCY_COMBO_FOR_AUX=Активиране на комбиниран списък за дъщерна сметка (може да създаде забавяне, ако имате много контрагенти)
ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_SELL_JOURNAL=Журнал за продажби
ACCOUNTING_PURCHASE_JOURNAL=Purchase journal ACCOUNTING_PURCHASE_JOURNAL=Журнал за покупки
ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Общ журнал
ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_EXPENSEREPORT_JOURNAL=Журнал за разходни отчети
ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_SOCIAL_JOURNAL=Журнал за данъци
ACCOUNTING_HAS_NEW_JOURNAL=Has new Journal ACCOUNTING_HAS_NEW_JOURNAL=Има нов журнал
ACCOUNTING_RESULT_PROFIT=Result accounting account (Profit) ACCOUNTING_RESULT_PROFIT=Счетоводна сметка за резултат (печалба)
ACCOUNTING_RESULT_LOSS=Result accounting account (Loss) ACCOUNTING_RESULT_LOSS=Счетоводна сметка за резултат (загуба)
ACCOUNTING_CLOSURE_DEFAULT_JOURNAL=Journal of closure ACCOUNTING_CLOSURE_DEFAULT_JOURNAL=Журнал за приключване
ACCOUNTING_ACCOUNT_TRANSFER_CASH=Accounting account of transitional bank transfer ACCOUNTING_ACCOUNT_TRANSFER_CASH=Счетоводна сметка на преходен банков превод
TransitionalAccount=Transitional bank transfer account TransitionalAccount=Преходна сметка за банков превод
ACCOUNTING_ACCOUNT_SUSPENSE=Accounting account of wait ACCOUNTING_ACCOUNT_SUSPENSE=Счетоводна сметка за изчакване
DONATION_ACCOUNTINGACCOUNT=Accounting account to register donations DONATION_ACCOUNTINGACCOUNT=Счетоводна сметка за регистриране на дарения
ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=Accounting account to register subscriptions ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=Счетоводен акаунт за регистриране на членски внос
ACCOUNTING_PRODUCT_BUY_ACCOUNT=Accounting account by default for bought products (used if not defined in the product sheet) ACCOUNTING_PRODUCT_BUY_ACCOUNT=Счетоводна сметка по подразбиране за закупени продукти (използва се, ако не е дефинирана в продуктовата карта)
ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Accounting account by default for the sold products (used if not defined in the product sheet) ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Счетоводна сметка по подразбиране за продадени продукти (използва се, ако не е дефинирана в продуктовата карта)
ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT=Accounting account by default for the sold products in EEC (used if not defined in the product sheet) ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT=Счетоводна сметка по подразбиране за продадени продукти в ЕИО (използва се, ако не е дефинирана в продуктовата карта)
ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT=Accounting account by default for the sold products export out of EEC (used if not defined in the product sheet) ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT=Счетоводна сметка по подразбиране за продадени продукти извън ЕИО (използва се, ако не е дефинирана в продуктовата карта)
ACCOUNTING_SERVICE_BUY_ACCOUNT=Accounting account by default for the bought services (used if not defined in the service sheet) ACCOUNTING_SERVICE_BUY_ACCOUNT=Счетоводна сметка по подразбиране за закупени услуги (използва се, ако не е дефинирана в картата на услугата)
ACCOUNTING_SERVICE_SOLD_ACCOUNT=Accounting account by default for the sold services (used if not defined in the service sheet) ACCOUNTING_SERVICE_SOLD_ACCOUNT=Счетоводна сметка по подразбиране за продадени услуги (използва се, ако не е дефинирана в картата на услугата)
Doctype=Тип на документа Doctype=Вид документ
Docdate=Дата Docdate=Дата
Docref=Справка Docref=Референция
LabelAccount=Етикет на сметка LabelAccount=Етикет на сметка
LabelOperation=Label operation LabelOperation=Етикет на операция
Sens=Sens Sens=Значение
LetteringCode=Lettering code LetteringCode=Буквен код
Lettering=Lettering Lettering=Означение
Codejournal=Дневник Codejournal=Журнал
JournalLabel=Journal label JournalLabel=Етикет на журнал
NumPiece=Номер на част NumPiece=Пореден номер
TransactionNumShort=Num. transaction TransactionNumShort=Транзакция №
AccountingCategory=Personalized groups AccountingCategory=Персонализирани групи
GroupByAccountAccounting=Group by accounting account GroupByAccountAccounting=Групиране по счетоводна сметка
AccountingAccountGroupsDesc=You can define here some groups of accounting account. They will be used for personalized accounting reports. AccountingAccountGroupsDesc=Тук може да определите някои групи счетоводни сметки. Те ще бъдат използвани за персонализирани счетоводни отчети.
ByAccounts=By accounts ByAccounts=По сметки
ByPredefinedAccountGroups=By predefined groups ByPredefinedAccountGroups=По предварително определени групи
ByPersonalizedAccountGroups=By personalized groups ByPersonalizedAccountGroups=По персонализирани групи
ByYear=С години ByYear=По година
NotMatch=Not Set NotMatch=Не е зададено
DeleteMvt=Delete Ledger lines DeleteMvt=Изтриване на редове от книгата
DelYear=Year to delete DelYear=Година за изтриване
DelJournal=Journal to delete DelJournal=Журнал за изтриване
ConfirmDeleteMvt=This will delete all lines of the Ledger for year and/or from a specific journal. At least one criterion is required. ConfirmDeleteMvt=Това ще изтрие всички редове в книгата за година и / или от конкретен журнал. Изисква се поне един критерий.
ConfirmDeleteMvtPartial=This will delete the transaction from the Ledger (all lines related to same transaction will be deleted) ConfirmDeleteMvtPartial=Това ще изтрие транзакцията от книгата (всички редове, свързани с една и съща транзакция ще бъдат изтрити)
FinanceJournal=Finance journal FinanceJournal=Финансов журнал
ExpenseReportsJournal=Expense reports journal ExpenseReportsJournal=Журнал за разходни отчети
DescFinanceJournal=Finance journal including all the types of payments by bank account DescFinanceJournal=Финансов журнал, включващ всички видове плащания по банкова сметка
DescJournalOnlyBindedVisible=This is a view of record that are bound to an accounting account and can be recorded into the Ledger. DescJournalOnlyBindedVisible=Това е преглед на запис, който е свързан към счетоводна сметка и може да бъде добавен в книгата.
VATAccountNotDefined=Account for VAT not defined VATAccountNotDefined= Не е определена сметка за ДДС
ThirdpartyAccountNotDefined=Account for third party not defined ThirdpartyAccountNotDefined=Не е определена сметка за контрагент
ProductAccountNotDefined=Account for product not defined ProductAccountNotDefined=Не е определена сметка за продукт
FeeAccountNotDefined=Account for fee not defined FeeAccountNotDefined=Не е определена сметка за такса
BankAccountNotDefined=Account for bank not defined BankAccountNotDefined=Не е определена сметка за банка
CustomerInvoicePayment=Payment of invoice customer CustomerInvoicePayment=Плащане на фактура за продажба
ThirdPartyAccount=Сметка на контрагент ThirdPartyAccount=Сметка на контрагент
NewAccountingMvt=New transaction NewAccountingMvt=Нова транзакция
NumMvts=Numero of transaction NumMvts=Брой транзакции
ListeMvts=List of movements ListeMvts=Списък на движения
ErrorDebitCredit=Debit and Credit cannot have a value at the same time ErrorDebitCredit=Дебитът и кредитът не могат да имат стойност по едно и също време
AddCompteFromBK=Add accounting accounts to the group AddCompteFromBK=Добавяне на счетоводни сметки към групата
ReportThirdParty=Списък със сметки на контрагенти ReportThirdParty=Списък на сметки на контрагенти
DescThirdPartyReport=Консултирайте се тук със списъка на контрагенти клиенти и доставчици и техните счетоводни сметки DescThirdPartyReport=Преглед на списъка с клиенти и доставчици, и техните счетоводни сметки
ListAccounts=List of the accounting accounts ListAccounts=Списък на счетоводни сметки
UnknownAccountForThirdparty=Неизвестен профил на контрагента. Ще използваме %s UnknownAccountForThirdparty=Неизвестна сметна на контрагент. Ще използваме %s
UnknownAccountForThirdpartyBlocking=Неизвестен профил на контрагента. Блокираща грешка UnknownAccountForThirdpartyBlocking=Неизвестна сметка на контрагент. Блокираща грешка.
ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Сметката на контрагента не е определена или контрагента е неизвестен. Ще използваме %s
ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Сметката на контрагента не е определена или контрагента е неизвестен. Блокираща грешка.
UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Неизвестен профил на контрагента и чакаща сметка не са определени. Блокираща грешка UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Неизвестна сметка на контрагент и сметка за изчакване не са определени. Блокираща грешка.
PaymentsNotLinkedToProduct=Payment not linked to any product / service PaymentsNotLinkedToProduct=Плащането не е свързано с нито един продукт / услуга
Pcgtype=Group of account Pcgtype=Група от сметки
Pcgsubtype=Subgroup of account Pcgsubtype=Подгрупа от сметки
PcgtypeDesc=Group and subgroup 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. PcgtypeDesc=Групата и подгрупата на акаунта се използват като предварително зададени критерии за „филтриране“ и „групиране“ за някои счетоводни справки. Например „Приход“ или „Разход“ се използват като групи за счетоводни сметки на продукти за съставяне на справка за разходите / приходите.
TotalVente=Total turnover before tax TotalVente=Общ оборот преди ДДС
TotalMarge=Total sales margin TotalMarge=Общ марж на продажби
DescVentilCustomer=Consult here the list of customer invoice lines bound (or not) to a product accounting account DescVentilCustomer=Преглед на списъка с редове на фактури за продажба, свързани (или не) със счетоводна сметка на продукт
DescVentilMore=In most cases, if you use predefined products or services and you set the account number on the product/service card, the application will be able to make all the binding between your invoice 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 product/service cards or if you still have some lines not bound to an account, you will have to make a manual binding from the menu "<strong>%s</strong>". DescVentilMore=В повечето случаи, ако използвате предварително дефинирани продукти или услуги и зададете номер на сметка в картата на продукта / услугата, то системата ще може да извърши всички свързвания между вашите редове на фактури и счетоводната сметка във вашия сметкоплан, просто с едно щракване с бутона <strong>"%s"</strong>. Ако сметката не е зададена в картата на продукта / услугата или ако все още имате някои редове, които не са свързани към сметка, то ще трябва да направите ръчно свързване от менюто "<strong>%s</strong>".
DescVentilDoneCustomer=Consult here the list of the lines of invoices customers and their product accounting account DescVentilDoneCustomer=Преглед на списъка с редове на фактури за продажба и тяхната счетоводна сметка за продукти
DescVentilTodoCustomer=Bind invoice lines not already bound with a product accounting account DescVentilTodoCustomer=Свързване на редове на фактури, които все още не са свързани със счетоводна сметка за продукт
ChangeAccount=Change the product/service accounting account for selected lines with the following accounting account: ChangeAccount=Променете счетоводната сметка на продукта / услугата за избрани редове със следната счетоводна сметка:
Vide=- Vide=-
DescVentilSupplier=Consult here the list of vendor invoice lines bound or not yet bound to a product accounting account DescVentilSupplier=Преглед на списъка с редове на фактури за доставка, свързани (или все още не) със счетоводна сметка за продукт
DescVentilDoneSupplier=Consult here the list of the lines of vendor invoices and their accounting account DescVentilDoneSupplier=Преглед на списъка с редове на фактури за доставка и тяхната счетоводна сметка
DescVentilTodoExpenseReport=Bind expense report lines not already bound with a fee accounting account DescVentilTodoExpenseReport=Свържете редове на разходни отчети, които все още не са свързани със счетоводна сметка за такса
DescVentilExpenseReport=Consult here the list of expense report lines bound (or not) to a fee accounting account DescVentilExpenseReport=Преглед на списъка с редове на разходни отчети, свързани (или не) със счетоводна сметка за такса
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>". DescVentilExpenseReportMore=Ако настроите счетоводна сметка за видовете разходен отчет, то системата ще може да извърши всички свързвания между редовете на разходния отчет и счетоводната сметка във вашия сметкоплан, просто с едно щракване с бутона <strong>"%s"</strong>. Ако сметката не е зададена в речника с таксите или ако все още имате някои редове, които не са свързани с нито една сметка ще трябва да направите ръчно свързване от менюто "<strong>%s</strong>".
DescVentilDoneExpenseReport=Consult here the list of the lines of expenses reports and their fees accounting account DescVentilDoneExpenseReport=Преглед на списъка с редове на разходни отчети и тяхната счетоводна сметка за такса
ValidateHistory=Bind Automatically ValidateHistory=Автоматично свързване
AutomaticBindingDone=Automatic binding done AutomaticBindingDone=Автоматичното свързване завърши
ErrorAccountancyCodeIsAlreadyUse=Възникна грешка, вие не можете да изтриете тази счетоводна сметка, защото се използва. ErrorAccountancyCodeIsAlreadyUse=Грешка, не може да изтриете тази счетоводна сметка, защото се използва.
MvtNotCorrectlyBalanced=Movement not correctly balanced. Debit = %s | Credit = %s MvtNotCorrectlyBalanced=Движението не е правилно балансирано. Дебит = %s | Credit = %s
Balancing=Balancing Balancing=Балансиране
FicheVentilation=Binding card FicheVentilation=Свързваща карта
GeneralLedgerIsWritten=Transactions are written in the Ledger GeneralLedgerIsWritten=Транзакциите са записани в главната счетоводна книга
GeneralLedgerSomeRecordWasNotRecorded=Some of the transactions could not be journalized. If there is no other error message, this is probably because they were already journalized. GeneralLedgerSomeRecordWasNotRecorded=Някои от транзакциите не бяха осчетоводени. Ако няма друго съобщение за грешка, то това вероятно е, защото те вече са били осчетоводени.
NoNewRecordSaved=No more record to journalize NoNewRecordSaved=Няма повече записи за осчетоводяване
ListOfProductsWithoutAccountingAccount=List of products not bound to any accounting account ListOfProductsWithoutAccountingAccount=Списък на продукти, които не са свързани с нито една счетоводна сметка
ChangeBinding=Change the binding ChangeBinding=Промяна на свързване
Accounted=Accounted in ledger Accounted=Осчетоводено в книгата
NotYetAccounted=Not yet accounted in ledger NotYetAccounted=Все още не е осчетоводено в книгата
## Admin ## Admin
ApplyMassCategories=Apply mass categories ApplyMassCategories=Прилагане на масови категории
AddAccountFromBookKeepingWithNoCategories=Available account not yet in the personalized group AddAccountFromBookKeepingWithNoCategories=Наличната сметка не е част от персонализирана група
CategoryDeleted=Category for the accounting account has been removed CategoryDeleted=Категорията за счетоводната сметка е премахната
AccountingJournals=Счетоводни дневници AccountingJournals=Счетоводни журнали
AccountingJournal=Accounting journal AccountingJournal=Счетоводен журнал
NewAccountingJournal=New accounting journal NewAccountingJournal=Нов счетоводен журнал
ShowAccoutingJournal=Show accounting journal ShowAccoutingJournal=Показване на счетоводен журнал
Nature=Същност NatureOfJournal=Nature of Journal
AccountingJournalType1=Miscellaneous operations AccountingJournalType1=Разнородни операции
AccountingJournalType2=Sales AccountingJournalType2=Продажби
AccountingJournalType3=Purchases AccountingJournalType3=Покупки
AccountingJournalType4=Банка AccountingJournalType4=Банка
AccountingJournalType5=Expenses report AccountingJournalType5=Разходни отчети
AccountingJournalType8=Складова наличност AccountingJournalType8=Инвентар
AccountingJournalType9=Has-new AccountingJournalType9=Има нови
ErrorAccountingJournalIsAlreadyUse=This journal is already use ErrorAccountingJournalIsAlreadyUse=Този журнал вече се използва
AccountingAccountForSalesTaxAreDefinedInto=Note: Accounting account for Sales tax are defined into menu <b>%s</b> - <b>%s</b> AccountingAccountForSalesTaxAreDefinedInto=Бележка: Счетоводната сметка за данък върху продажбите е дефинирана в меню <b>%s</b> - <b>%s</b>
NumberOfAccountancyEntries=Number of entries NumberOfAccountancyEntries=Брой записи
NumberOfAccountancyMovements=Number of movements NumberOfAccountancyMovements=Брой движения
## Export ## Export
ExportDraftJournal=Export draft journal ExportDraftJournal=Експортиране на журнал в чернова
Modelcsv=Model of export Modelcsv=Модел на експортиране
Selectmodelcsv=Select a model of export Selectmodelcsv=Изберете модел на експортиране
Modelcsv_normal=Classic export Modelcsv_normal=Класическо експортиране
Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_CEGID=Експортиране за CEGID Expert Comptabilité
Modelcsv_COALA=Export for Sage Coala Modelcsv_COALA=Експортиране за Sage Coala
Modelcsv_bob50=Export for Sage BOB 50 Modelcsv_bob50=Експортиране за Sage BOB 50
Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution Modelcsv_ciel=Експортиране за Sage Ciel Compta или Compta Evolution
Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_quadratus=Експортиране за Quadratus QuadraCompta
Modelcsv_ebp=Export for EBP Modelcsv_ebp=Експортиране за EBP
Modelcsv_cogilog=Export for Cogilog Modelcsv_cogilog=Експортиране за Cogilog
Modelcsv_agiris=Export for Agiris Modelcsv_agiris=Експортиране за Agiris
Modelcsv_openconcerto=Export for OpenConcerto (Test) Modelcsv_LDCompta=Export for LD Compta (v9 & higher) (Test)
Modelcsv_configurable=Export CSV Configurable Modelcsv_openconcerto=Експортиране за OpenConcerto (Тест)
Modelcsv_FEC=Export FEC Modelcsv_configurable=Експортиране в конфигурируем CSV
Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland Modelcsv_FEC=Експортиране за FEC
ChartofaccountsId=Chart of accounts Id Modelcsv_Sage50_Swiss=Експортиране за Sage 50 Швейцария
ChartofaccountsId=Идентификатор на сметкоплан
## Tools - Init accounting account on product / service ## Tools - Init accounting account on product / service
InitAccountancy=Init accountancy InitAccountancy=Инициализиране на счетоводство
InitAccountancyDesc=This page can be used to initialize an accounting account on products and services that does not have accounting account defined for sales and purchases. InitAccountancyDesc=Тази страница може да се използва за инициализиране на счетоводна сметка за продукти и услуги, за които няма определена счетоводна сметка за продажби и покупки.
DefaultBindingDesc=This page can be used to set a default account to use to link transactions record about payment salaries, donation, taxes and vat when no specific accounting account were already set. DefaultBindingDesc=Тази страница може да се използва за задаване на сметка по подразбиране, която да се използва за свързване на записи за транзакции на плащания на заплати, дарения, данъци и ДДС, когато все още не е зададена конкретна счетоводна сметка.
DefaultClosureDesc=This page can be used to set parameters to use to enclose a balance sheet. DefaultClosureDesc=This page can be used to set parameters used for accounting closures.
Options=Options Options=Опции
OptionModeProductSell=Mode sales OptionModeProductSell=Режим продажби
OptionModeProductSellIntra=Mode sales exported in EEC OptionModeProductSellIntra=Режим продажби, изнасяни в ЕИО
OptionModeProductSellExport=Mode sales exported in other countries OptionModeProductSellExport=Режим продажби, изнасяни в други държави
OptionModeProductBuy=Mode purchases OptionModeProductBuy=Режим покупки
OptionModeProductSellDesc=Show all products with accounting account for sales. OptionModeProductSellDesc=Показване на всички продукти със счетоводна сметка за продажби.
OptionModeProductSellIntraDesc=Show all products with accounting account for sales in EEC. OptionModeProductSellIntraDesc=Показване на всички продукти със счетоводна сметка за продажби в ЕИО.
OptionModeProductSellExportDesc=Show all products with accounting account for other foreign sales. OptionModeProductSellExportDesc=Показване на всички продукти със счетоводна сметка за други чуждестранни продажби.
OptionModeProductBuyDesc=Show all products with accounting account for purchases. OptionModeProductBuyDesc=Показване на всички продукти със счетоводна сметка за покупки.
CleanFixHistory=Remove accounting code from lines that not exists into charts of account CleanFixHistory=Премахване на счетоводния код от редове, които не съществуват в сметкоплана
CleanHistory=Reset all bindings for selected year CleanHistory=Нулиране на всички връзки за избраната година
PredefinedGroups=Predefined groups PredefinedGroups=Предварително определени групи
WithoutValidAccount=Without valid dedicated account WithoutValidAccount=Без валидна специална сметка
WithValidAccount=With valid dedicated account WithValidAccount=С валидна специална сметка
ValueNotIntoChartOfAccount=This value of accounting account does not exist into chart of account ValueNotIntoChartOfAccount=Тази стойност на счетоводната сметка не съществува в сметкоплана
AccountRemovedFromGroup=Account removed from group AccountRemovedFromGroup=Сметката е премахната от групата
SaleLocal=Local sale SaleLocal=Локална продажба
SaleExport=Export sale SaleExport=Експортна продажба
SaleEEC=Sale in EEC SaleEEC=Вътреобщностна продажба
## Dictionary ## Dictionary
Range=Range of accounting account Range=Обхват на счетоводна сметка
Calculated=Calculated Calculated=Изчислено
Formula=Formula Formula=Формула
## Error ## Error
SomeMandatoryStepsOfSetupWereNotDone=Some mandatory steps of setup was not done, please complete them SomeMandatoryStepsOfSetupWereNotDone=Някои задължителни стъпки за настройка не са направени, моля изпълнете ги.
ErrorNoAccountingCategoryForThisCountry=No accounting account group available for country %s (See Home - Setup - Dictionaries) ErrorNoAccountingCategoryForThisCountry=Няма налична група счетоводни сметки за държава %s (Вижте Начално -> Настройка -> Речници)
ErrorInvoiceContainsLinesNotYetBounded=You try to journalize some lines of the invoice <strong>%s</strong>, but some other lines are not yet bounded to accounting account. Journalization of all invoice lines for this invoice are refused. ErrorInvoiceContainsLinesNotYetBounded=Опитвате се да осчетоводите някои редове на фактура <strong>%s</strong>, но някои други редове все още не са свързани към счетоводна сметка. Осчетоводяването на всички редове във фактурата е отхвърлено.
ErrorInvoiceContainsLinesNotYetBoundedShort=Some lines on invoice are not bound to accounting account. ErrorInvoiceContainsLinesNotYetBoundedShort=Някои редове във фактурата не са свързани със счетоводна сметка.
ExportNotSupported=The export format setuped is not supported into this page ExportNotSupported=Настроеният формат за експортиране не се поддържа в тази страница
BookeppingLineAlreayExists=Lines already existing into bookkeeping BookeppingLineAlreayExists=Вече съществуващи редове в счетоводството
NoJournalDefined=No journal defined NoJournalDefined=Няма определен журнал
Binded=Lines bound Binded=Свързани редове
ToBind=Lines to bind ToBind=Редове за свързване
UseMenuToSetBindindManualy=Lines not yet bound, use menu <a href="%s">%s</a> to make the binding manually UseMenuToSetBindindManualy=Редовете все още не са свързани, използвайте меню <a href="%s">%s</a>, за да направите връзката ръчно
## Import ## Import
ImportAccountingEntries=Accounting entries ImportAccountingEntries=Счетоводни записи
DateExport=Date export DateExport=Дата на експортиране
WarningReportNotReliable=Warning, this report is not based on the Ledger, so does not contains transaction modified manually in the Ledger. If your journalization is up to date, the bookkeeping view is more accurate. WarningReportNotReliable=Внимание, тази справка не се основава на главната счетоводна книга, така че не съдържа транзакция, ръчно променена в книгата. Ако осчетоводяването ви е актуално, то прегледът на счетоводството е по-точен.
ExpenseReportJournal=Expense Report Journal ExpenseReportJournal=Журнал за разходни отчети
InventoryJournal=Inventory Journal InventoryJournal=Журнал за инвентар

View File

@ -574,7 +574,7 @@ Module510Name=Заплати
Module510Desc=Записване и проследяване на плащанията към служители Module510Desc=Записване и проследяване на плащанията към служители
Module520Name=Кредити Module520Name=Кредити
Module520Desc=Управление на кредити Module520Desc=Управление на кредити
Module600Name=Известия Module600Name=Notifications on business event
Module600Desc=Изпращане на известия по имейл, предизвикани от дадено събитие: за потребител (настройка, определена за всеки потребител), за контакти на контрагенти (настройка, определена за всеки контрагент) или за определени имейли Module600Desc=Изпращане на известия по имейл, предизвикани от дадено събитие: за потребител (настройка, определена за всеки потребител), за контакти на контрагенти (настройка, определена за всеки контрагент) или за определени имейли
Module600Long=Имайте предвид, че този модул изпраща имейли в реално време, когато настъпи дадено събитие. Ако търсите функция за изпращане на напомняния по имейл за събития от календара отидете в настройката на модула Календар. Module600Long=Имайте предвид, че този модул изпраща имейли в реално време, когато настъпи дадено събитие. Ако търсите функция за изпращане на напомняния по имейл за събития от календара отидете в настройката на модула Календар.
Module610Name=Продуктови варианти Module610Name=Продуктови варианти
@ -672,7 +672,7 @@ Permission34=Изтриване на продукти
Permission36=Преглед / управление на скрити продукти Permission36=Преглед / управление на скрити продукти
Permission38=Експортиране на продукти Permission38=Експортиране на продукти
Permission41=Преглед на проекти и задачи (споделени проекти и проекти, в които съм определен за контакт). Въвеждане на отделено време, за служителя или неговите подчинени, по възложени задачи (График) Permission41=Преглед на проекти и задачи (споделени проекти и проекти, в които съм определен за контакт). Въвеждане на отделено време, за служителя или неговите подчинени, по възложени задачи (График)
Permission42=Създаване / редактиране на проекти (споделени проекти и проекти, в които съм определен за контакт). Създаване на задачи и възлагане на проекти и задачи на потребители Permission42=Създаване / променяне на проекти (споделени проекти и проекти, в които съм определен за контакт). Създаване на задачи и възлагане на проекти и задачи на потребители
Permission44=Изтриване на проекти (споделени проекти и проекти, в които съм определен за контакт) Permission44=Изтриване на проекти (споделени проекти и проекти, в които съм определен за контакт)
Permission45=Експортиране на проекти Permission45=Експортиране на проекти
Permission61=Преглед на интервенции Permission61=Преглед на интервенции
@ -715,12 +715,12 @@ Permission122=Създаване / промяна на контрагенти,
Permission125=Изтриване на контрагенти, свързани с потребителя Permission125=Изтриване на контрагенти, свързани с потребителя
Permission126=Експортиране на контрагенти Permission126=Експортиране на контрагенти
Permission141=Преглед на всички проекти и задачи (включително частни проекти, в които служителя не е определен за контакт) Permission141=Преглед на всички проекти и задачи (включително частни проекти, в които служителя не е определен за контакт)
Permission142=Създаване / редактиране на всички проекти и задачи (включително частни проекти, в които служителя не е определен за контакт) Permission142=Създаване / променяне на всички проекти и задачи (включително частни проекти, в които служителя не е определен за контакт)
Permission144=Изтриване на всички проекти и задачи (включително частни проекти, в които служителя не е определен за контакт) Permission144=Изтриване на всички проекти и задачи (включително частни проекти, в които служителя не е определен за контакт)
Permission146=Преглед на доставчици Permission146=Преглед на доставчици
Permission147=Преглед на статистически данни Permission147=Преглед на статистически данни
Permission151=Преглед на платежни нареждания за директен дебит Permission151=Преглед на платежни нареждания за директен дебит
Permission152=Създаване / редактиране на платежни нареждания за директен дебит Permission152=Създаване / променяне на платежни нареждания за директен дебит
Permission153=Изпращане / предаване на платежни нареждания за директен дебит Permission153=Изпращане / предаване на платежни нареждания за директен дебит
Permission154=Записване на кредити / отхвърляния на платежни нареждания за директен дебит Permission154=Записване на кредити / отхвърляния на платежни нареждания за директен дебит
Permission161=Преглед на договори / абонаменти Permission161=Преглед на договори / абонаменти
@ -736,12 +736,12 @@ Permission174=Преглед на всички пътувания и разхо
Permission178=Експортиране на пътувания и разходи Permission178=Експортиране на пътувания и разходи
Permission180=Преглед на доставчици Permission180=Преглед на доставчици
Permission181=Преглед на поръчки за покупка Permission181=Преглед на поръчки за покупка
Permission182=Създаване / редактиране на поръчки за покупка Permission182=Създаване / променяне на поръчки за покупка
Permission183=Валидиране на поръчки за покупка Permission183=Валидиране на поръчки за покупка
Permission184=Одобряване на поръчки за покупка Permission184=Одобряване на поръчки за покупка
Permission185=Потвърждаване или анулиране на поръчки за покупка Permission185=Потвърждаване или анулиране на поръчки за покупка
Permission186=Получаване на поръчки за покупка Permission186=Получаване на поръчки за покупка
Permission187=Затваряне на поръчки за покупка Permission187=Приключване на поръчки за покупка
Permission188=Анулиране на поръчки за покупка Permission188=Анулиране на поръчки за покупка
Permission192=Създаване на линии Permission192=Създаване на линии
Permission193=Анулиране на линии Permission193=Анулиране на линии
@ -770,7 +770,7 @@ Permission244=Преглед на съдържание на скрити кат
Permission251=Преглед на други потребители и групи Permission251=Преглед на други потребители и групи
PermissionAdvanced251=Преглед на други потребители PermissionAdvanced251=Преглед на други потребители
Permission252=Преглед на права на други потребители Permission252=Преглед на права на други потребители
Permission253=Създаване / редактиране на други потребители, групи и разрешения Permission253=Създаване / променяне на други потребители, групи и разрешения
PermissionAdvanced253=Създаване / промяна на вътрешни / външни потребители и права PermissionAdvanced253=Създаване / промяна на вътрешни / външни потребители и права
Permission254=Създаване / променя само на външни потребители Permission254=Създаване / променя само на външни потребители
Permission255=Промяна на парола на други потребители Permission255=Промяна на парола на други потребители
@ -787,7 +787,7 @@ Permission291=Преглед на тарифи
Permission292=Задаване на права за тарифи Permission292=Задаване на права за тарифи
Permission293=Промяна на тарифите на клиента Permission293=Промяна на тарифите на клиента
Permission300=Преглед на баркодове Permission300=Преглед на баркодове
Permission301=Създаване / редактиране на баркодове Permission301=Създаване / променяне на баркодове
Permission302=Изтриване на баркодове Permission302=Изтриване на баркодове
Permission311=Преглед на услуги Permission311=Преглед на услуги
Permission312=Възлагане на услуга / абонамент към договор Permission312=Възлагане на услуга / абонамент към договор
@ -809,7 +809,7 @@ Permission403=Валидиране на отстъпки
Permission404=Изтриване на отстъпки Permission404=Изтриване на отстъпки
Permission430=Използване на инструменти за отстраняване на грешки Permission430=Използване на инструменти за отстраняване на грешки
Permission511=Преглед на плащания на заплати Permission511=Преглед на плащания на заплати
Permission512=Създаване / редактиране на плащания на заплати Permission512=Създаване / променяне на плащания на заплати
Permission514=Изтриване на плащания на заплати Permission514=Изтриване на плащания на заплати
Permission517=Експортиране на заплати Permission517=Експортиране на заплати
Permission520=Преглед на кредити Permission520=Преглед на кредити
@ -852,7 +852,7 @@ Permission1125=Изтриване на запитвания към достав
Permission1126=Приключване на запитвания към доставчици Permission1126=Приключване на запитвания към доставчици
Permission1181=Преглед на доставчици Permission1181=Преглед на доставчици
Permission1182=Преглед на поръчки за покупка Permission1182=Преглед на поръчки за покупка
Permission1183=Създаване / редактиране на поръчки за покупка Permission1183=Създаване / променяне на поръчки за покупка
Permission1184=Валидиране на поръчки за покупка Permission1184=Валидиране на поръчки за покупка
Permission1185=Одобряване на поръчки за покупка Permission1185=Одобряване на поръчки за покупка
Permission1186=Поръчка на поръчки за покупка Permission1186=Поръчка на поръчки за покупка
@ -862,7 +862,7 @@ Permission1190=Одобряване (второ одобрение) на пор
Permission1201=Получава на резултат от експортиране Permission1201=Получава на резултат от експортиране
Permission1202=Създаване / промяна на експортиране Permission1202=Създаване / промяна на експортиране
Permission1231=Преглед на фактури за доставка Permission1231=Преглед на фактури за доставка
Permission1232=Създаване / редактиране на фактури за доставка Permission1232=Създаване / променяне на фактури за доставка
Permission1233=Валидиране на фактури за доставка Permission1233=Валидиране на фактури за доставка
Permission1234=Изтриване на фактури за доставка Permission1234=Изтриване на фактури за доставка
Permission1235=Изпращане на фактури за доставка по имейл Permission1235=Изпращане на фактури за доставка по имейл
@ -895,10 +895,10 @@ Permission10002=Създаване / Промяна на съдържание в
Permission10003=Създаване / Промяна на съдържание в уебсайт (динамичен php код). Опасно, трябва да бъде използвано само за ограничен кръг разработчици. Permission10003=Създаване / Промяна на съдържание в уебсайт (динамичен php код). Опасно, трябва да бъде използвано само за ограничен кръг разработчици.
Permission10005=Изтриване на съдържание в уебсайт Permission10005=Изтриване на съдържание в уебсайт
Permission20001=Преглед на молби за отпуск (на служителя и неговите подчинени) Permission20001=Преглед на молби за отпуск (на служителя и неговите подчинени)
Permission20002=Създаване / редактиране на молби за отпуск (на служителя и неговите подчинени) Permission20002=Създаване / променяне на молби за отпуск (на служителя и неговите подчинени)
Permission20003=Изтриване на молби за отпуск Permission20003=Изтриване на молби за отпуск
Permission20004=Преглед на всички молби за отпуск (дори на служители които не са подчинени на служителя) Permission20004=Преглед на всички молби за отпуск (дори на служители които не са подчинени на служителя)
Permission20005=Създаване / редактиране на всички молби за отпуск (дори на служители, които не са подчинени на служителя) Permission20005=Създаване / променяне на всички молби за отпуск (дори на служители, които не са подчинени на служителя)
Permission20006=Администриране на молби за отпуск (настройка и актуализиране на баланса) Permission20006=Администриране на молби за отпуск (настройка и актуализиране на баланса)
Permission23001=Преглед на планирани задачи Permission23001=Преглед на планирани задачи
Permission23002=Създаване / промяна на планирани задачи Permission23002=Създаване / промяна на планирани задачи
@ -927,13 +927,13 @@ Permission59001=Преглед на търговски маржове
Permission59002=Дефиниране на търговски маржове Permission59002=Дефиниране на търговски маржове
Permission59003=Преглед на всички потребителски маржове Permission59003=Преглед на всички потребителски маржове
Permission63001=Преглед на ресурси Permission63001=Преглед на ресурси
Permission63002=Създаване / редактиране на ресурси Permission63002=Създаване / променяне на ресурси
Permission63003=Изтриване на ресурси Permission63003=Изтриване на ресурси
Permission63004=Свързване на ресурси към събития от календара Permission63004=Свързване на ресурси към събития от календара
DictionaryCompanyType=Видове контрагенти DictionaryCompanyType=Видове контрагенти
DictionaryCompanyJuridicalType=Правна форма на контрагенти DictionaryCompanyJuridicalType=Правна форма на контрагенти
DictionaryProspectLevel=Потенциал за перспектива DictionaryProspectLevel=Потенциал за перспектива
DictionaryCanton=Области / региони DictionaryCanton=Области / Региони
DictionaryRegion=Региони DictionaryRegion=Региони
DictionaryCountry=Държави DictionaryCountry=Държави
DictionaryCurrency=Валути DictionaryCurrency=Валути
@ -1175,7 +1175,7 @@ ExternalAccess=Външен / Интернет достъп
MAIN_PROXY_USE=Използване на прокси сървър (в противен случай достъпът към интернет е директен) MAIN_PROXY_USE=Използване на прокси сървър (в противен случай достъпът към интернет е директен)
MAIN_PROXY_HOST=Прокси сървър: Име / Адрес MAIN_PROXY_HOST=Прокси сървър: Име / Адрес
MAIN_PROXY_PORT=Прокси сървър: Порт MAIN_PROXY_PORT=Прокси сървър: Порт
MAIN_PROXY_USER=Прокси сървър: Потребител MAIN_PROXY_USER=Прокси сървър: Потребителско име
MAIN_PROXY_PASS=Прокси сървър: Парола MAIN_PROXY_PASS=Прокси сървър: Парола
DefineHereComplementaryAttributes=Определете тук всички допълнителни / персонализирани атрибути, които искате да бъдат включени за: %s DefineHereComplementaryAttributes=Определете тук всички допълнителни / персонализирани атрибути, които искате да бъдат включени за: %s
ExtraFields=Допълнителни атрибути ExtraFields=Допълнителни атрибути
@ -1193,6 +1193,7 @@ ExtraFieldsSupplierOrders=Допълнителни атрибути (поръч
ExtraFieldsSupplierInvoices=Допълнителни атрибути (фактури за покупка) ExtraFieldsSupplierInvoices=Допълнителни атрибути (фактури за покупка)
ExtraFieldsProject=Допълнителни атрибути (проекти) ExtraFieldsProject=Допълнителни атрибути (проекти)
ExtraFieldsProjectTask=Допълнителни атрибути (задачи) ExtraFieldsProjectTask=Допълнителни атрибути (задачи)
ExtraFieldsSalaries=Complementary attributes (salaries)
ExtraFieldHasWrongValue=Атрибут %s има грешна стойност. ExtraFieldHasWrongValue=Атрибут %s има грешна стойност.
AlphaNumOnlyLowerCharsAndNoSpace=само буквено-цифрови символи с малки букви без интервал AlphaNumOnlyLowerCharsAndNoSpace=само буквено-цифрови символи с малки букви без интервал
SendmailOptionNotComplete=Внимание, в някои Linux системи, за да изпращате имейли от вашият имейл, в настройката на Sendmail трябва да имате опция -ba (параметър mail.force_extra_parameters във вашия php.ini файл). Ако някои получатели никога не получават имейли, опитайте да промените този PHP параметър на mail.force_extra_parameters = -ba). SendmailOptionNotComplete=Внимание, в някои Linux системи, за да изпращате имейли от вашият имейл, в настройката на Sendmail трябва да имате опция -ba (параметър mail.force_extra_parameters във вашия php.ini файл). Ако някои получатели никога не получават имейли, опитайте да промените този PHP параметър на mail.force_extra_parameters = -ba).
@ -1220,13 +1221,14 @@ SuhosinSessionEncrypt=Съхраняването на сесии е кодира
ConditionIsCurrently=Понастоящем състоянието е %s ConditionIsCurrently=Понастоящем състоянието е %s
YouUseBestDriver=Използвате драйвер %s, който е най-добрият драйвер в момента. YouUseBestDriver=Използвате драйвер %s, който е най-добрият драйвер в момента.
YouDoNotUseBestDriver=Използвате драйвер %s, но драйвер %s е препоръчителен. YouDoNotUseBestDriver=Използвате драйвер %s, но драйвер %s е препоръчителен.
NbOfProductIsLowerThanNoPb=Вие имате само %s продукти / услуги в базата данни. Това не изисква специално оптимизиране. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization.
SearchOptim=Оптимизация на търсене SearchOptim=Оптимизация на търсене
YouHaveXProductUseSearchOptim=В базата данни имате %s продукти. Трябва да добавите константата PRODUCT_DONOTSEARCH_ANYWHERE със стойност "1" в страницата Начало - Настройки - Други настройки. Ограничете търсенето до началото на низове, което позволява базата данни да използва индекси, а вие да получите незабавен отговор. YouHaveXObjectUseSearchOptim=You have %s %s in the database. You should add the constant %s to 1 in Home-Setup-Other. Limit the search to the beginning of strings which makes it possible for the database to use indexes and you should get an immediate response.
YouHaveXObjectAndSearchOptimOn=You have %s %s in the database and constant %s is set to 1 in Home-Setup-Other.
BrowserIsOK=Използвате уеб браузъра %s. Този браузър е добър от гледна точка на сигурност и производителност. BrowserIsOK=Използвате уеб браузъра %s. Този браузър е добър от гледна точка на сигурност и производителност.
BrowserIsKO=Използвате уеб браузъра %s. Известно е, че този браузър е лош избор от гледна точка на сигурност, производителност и надеждност. Препоръчително е да използвате Firefox, Chrome, Opera или Safari. BrowserIsKO=Използвате уеб браузъра %s. Известно е, че този браузър е лош избор от гледна точка на сигурност, производителност и надеждност. Препоръчително е да използвате Firefox, Chrome, Opera или Safari.
XDebugInstalled=XDebug е зареден. PHPModuleLoaded=PHP component %s is loaded
XCacheInstalled=XCache е зареден. PreloadOPCode=Preloaded OPCode is used
AddRefInList=Показване на кода на клиента / доставчика в списъка (select list или combobox) и повечето от хипервръзките.<br>Контрагентите ще се появят с формат на името "CC12345 - SC45678 - Голяма фирма ЕООД", вместо "Голяма фирма ЕООД" AddRefInList=Показване на кода на клиента / доставчика в списъка (select list или combobox) и повечето от хипервръзките.<br>Контрагентите ще се появят с формат на името "CC12345 - SC45678 - Голяма фирма ЕООД", вместо "Голяма фирма ЕООД"
AddAdressInList=Показване на списъка с информация за адреса на клиента / доставчика (изборен списък или комбиниран списък).<br>Контрагентите ще се появят с формат на името на "Голяма фирма ЕООД - ул. Първа № 2 П. код Град - България, вместо "Голяма фирма ЕООД" AddAdressInList=Показване на списъка с информация за адреса на клиента / доставчика (изборен списък или комбиниран списък).<br>Контрагентите ще се появят с формат на името на "Голяма фирма ЕООД - ул. Първа № 2 П. код Град - България, вместо "Голяма фирма ЕООД"
AskForPreferredShippingMethod=Запитване към контрагенти за предпочитан начин на доставка AskForPreferredShippingMethod=Запитване към контрагенти за предпочитан начин на доставка
@ -1570,10 +1572,10 @@ AdvancedEditor=Разширен редактор
ActivateFCKeditor=Активиране на разширен редактор за: ActivateFCKeditor=Активиране на разширен редактор за:
FCKeditorForCompany=WYSIWIG създаване / промяна на описание на елементите и бележки (с изключение на продукти / услуги) FCKeditorForCompany=WYSIWIG създаване / промяна на описание на елементите и бележки (с изключение на продукти / услуги)
FCKeditorForProduct=WYSIWIG създаване / промяна на описание на продукти / услуги FCKeditorForProduct=WYSIWIG създаване / промяна на описание на продукти / услуги
FCKeditorForProductDetails=WYSIWIG създаване / редактиране на продуктови редове за всички обекти (предложения, поръчки, фактури и др.). <font class="warning">Внимание: Използването на тази опция не се препоръчва, тъй като може да създаде проблеми с някои специални символи и при форматиране на страниците, по време на генериране на PDF файловете.</font> FCKeditorForProductDetails=WYSIWIG създаване / променяне на продуктови редове за всички обекти (предложения, поръчки, фактури и др.). <font class="warning">Внимание: Използването на тази опция не се препоръчва, тъй като може да създаде проблеми с някои специални символи и при форматиране на страниците, по време на генериране на PDF файловете.</font>
FCKeditorForMailing= WYSIWIG създаване / промяна на масови имейли (Инструменти -> Масови имейли) FCKeditorForMailing= WYSIWIG създаване / промяна на масови имейли (Инструменти -> Масови имейли)
FCKeditorForUserSignature=WYSIWIG създаване / промяна на подпис на потребители FCKeditorForUserSignature=WYSIWIG създаване / промяна на подпис на потребители
FCKeditorForMail=WYSIWIG създаване / редактиране на цялата поща (с изключение на Настройки - Електронна поща) FCKeditorForMail=WYSIWIG създаване / променяне на цялата поща (с изключение на Настройка -> Имейли)
##### Stock ##### ##### Stock #####
StockSetup=Настройка на модул Наличности StockSetup=Настройка на модул Наличности
IfYouUsePointOfSaleCheckModule=Ако използвате модула Точка за продажби (POS), предоставен по подразбиране или чрез външен модул, тази настройка може да бъде игнорирана от вашия POS модул. Повечето POS модули по подразбиране са разработени да създават веднага фактура, след което да намаляват наличностите, независимо от опциите тук. В случай, че имате нужда или не от автоматично намаляване на наличностите при регистриране на продажба от POS проверете и настройката на вашия POS модул. IfYouUsePointOfSaleCheckModule=Ако използвате модула Точка за продажби (POS), предоставен по подразбиране или чрез външен модул, тази настройка може да бъде игнорирана от вашия POS модул. Повечето POS модули по подразбиране са разработени да създават веднага фактура, след което да намаляват наличностите, независимо от опциите тук. В случай, че имате нужда или не от автоматично намаляване на наличностите при регистриране на продажба от POS проверете и настройката на вашия POS модул.
@ -1711,7 +1713,7 @@ AccountingPeriods=Счетоводни периоди
AccountingPeriodCard=Счетоводен период AccountingPeriodCard=Счетоводен период
NewFiscalYear=Нов счетоводен период NewFiscalYear=Нов счетоводен период
OpenFiscalYear=Отваряне на счетоводен период OpenFiscalYear=Отваряне на счетоводен период
CloseFiscalYear=Затваряне на счетоводен период CloseFiscalYear=Приключване на счетоводен период
DeleteFiscalYear=Изтриване на счетоводен период DeleteFiscalYear=Изтриване на счетоводен период
ConfirmDeleteFiscalYear=Сигурни ли сте, че искате да изтриете този счетоводен период? ConfirmDeleteFiscalYear=Сигурни ли сте, че искате да изтриете този счетоводен период?
ShowFiscalYear=Преглед на счетоводен период ShowFiscalYear=Преглед на счетоводен период
@ -1734,9 +1736,9 @@ ExpenseReportsRulesSetup=Настройка на модул Разходни о
ExpenseReportNumberingModules=Модул за номериране на разходни отчети ExpenseReportNumberingModules=Модул за номериране на разходни отчети
NoModueToManageStockIncrease=Не е активиран модул, способен да управлява автоматичното увеличаване на наличности. Увеличаването на наличности ще се извършва само при ръчно въвеждане. NoModueToManageStockIncrease=Не е активиран модул, способен да управлява автоматичното увеличаване на наличности. Увеличаването на наличности ще се извършва само при ръчно въвеждане.
YouMayFindNotificationsFeaturesIntoModuleNotification=Може да откриете опции за известия по имейл като активирате и конфигурирате модула "Известия". YouMayFindNotificationsFeaturesIntoModuleNotification=Може да откриете опции за известия по имейл като активирате и конфигурирате модула "Известия".
ListOfNotificationsPerUser=Списък с известия за потребител* ListOfNotificationsPerUser=List of automatic notifications per user*
ListOfNotificationsPerUserOrContact=Списък с известия (събития), налични за потребител* или за контакт** ListOfNotificationsPerUserOrContact=List of possible automatic notifications (on business event) available per user* or per contact**
ListOfFixedNotifications=Списък с фиксирани известия ListOfFixedNotifications=List of automatic fixed notifications
GoOntoUserCardToAddMore=Отидете в раздела „Известия“ на съответния потребител, за да добавите или премахнете известия за този потребител GoOntoUserCardToAddMore=Отидете в раздела „Известия“ на съответния потребител, за да добавите или премахнете известия за този потребител
GoOntoContactCardToAddMore=Отидете в раздела „Известия“ на съответния контрагент, за да добавите или премахнете известия за съответните контакти / адреси GoOntoContactCardToAddMore=Отидете в раздела „Известия“ на съответния контрагент, за да добавите или премахнете известия за съответните контакти / адреси
Threshold=Граница Threshold=Граница
@ -1768,7 +1770,7 @@ ColorFormat=RGB цвета е в HEX формат, например: FF0000
PositionIntoComboList=Позиция на реда в комбинирани списъци PositionIntoComboList=Позиция на реда в комбинирани списъци
SellTaxRate=Ставка на данъка върху продажби SellTaxRate=Ставка на данъка върху продажби
RecuperableOnly=Да за ДДС "Не възприеман, но възстановим", предназначен за някои области във Франция. Запазете стойността "Не" във всички останали случаи. RecuperableOnly=Да за ДДС "Не възприеман, но възстановим", предназначен за някои области във Франция. Запазете стойността "Не" във всички останали случаи.
UrlTrackingDesc=Ако доставчикът или транспортната услуга предлага страница или уеб сайт за проверка на статуса на вашите пратки, то може да ги въведете тук. Може да използвате ключа {TRACKID} в URL параметрите, така че системата да го замени с проследяващия номер, който потребителят е въвел в картата на пратката. UrlTrackingDesc=Ако доставчикът или транспортната услуга предлага страница или уеб сайт за проверка на статуса на вашите пратки, то може да ги въведете тук. Може да използвате ключа {TRACKID} в URL параметрите, така че системата да го замени с проследяващия номер, който потребителят е въвел в картата на доставката.
OpportunityPercent=Когато създавате нова възможност определяте приблизително очакваната сума от проекта / възможността. Според статуса на възможността тази сума ще бъде умножена по определения му процент, за да се оцени общата сума, която всичките ви възможности могат да генерират. Стойността е в проценти (между 0 и 100). OpportunityPercent=Когато създавате нова възможност определяте приблизително очакваната сума от проекта / възможността. Според статуса на възможността тази сума ще бъде умножена по определения му процент, за да се оцени общата сума, която всичките ви възможности могат да генерират. Стойността е в проценти (между 0 и 100).
TemplateForElement=Този шаблон е специализиран за елемент TemplateForElement=Този шаблон е специализиран за елемент
TypeOfTemplate=Тип шаблон TypeOfTemplate=Тип шаблон
@ -1898,6 +1900,11 @@ OnMobileOnly=Само при малък екран (смартфон)
DisableProspectCustomerType=Деактивиране на типа контрагент "Перспектива + Клиент" (контрагента трябва да бъде Перспектива или Клиент, но не може да бъде и двете) DisableProspectCustomerType=Деактивиране на типа контрагент "Перспектива + Клиент" (контрагента трябва да бъде Перспектива или Клиент, но не може да бъде и двете)
MAIN_OPTIMIZEFORTEXTBROWSER=Опростяване на интерфейса за незрящ човек MAIN_OPTIMIZEFORTEXTBROWSER=Опростяване на интерфейса за незрящ човек
MAIN_OPTIMIZEFORTEXTBROWSERDesc=Активирайте тази опция за незрящ човек или ако използвате приложението от текстов браузър като Lynx или Links. MAIN_OPTIMIZEFORTEXTBROWSERDesc=Активирайте тази опция за незрящ човек или ако използвате приложението от текстов браузър като Lynx или Links.
MAIN_OPTIMIZEFORCOLORBLIND=Change interface's color for color blind person
MAIN_OPTIMIZEFORCOLORBLINDDesc=Enable this option if you are a color blind person, in some case interface will change color setup to increase contrast.
Protanopia=Protanopia
Deuteranopes=Deuteranopes
Tritanopes=Tritanopes
ThisValueCanOverwrittenOnUserLevel=Тази стойност може да бъде променена от профила на всеки потребител в раздела '%s' ThisValueCanOverwrittenOnUserLevel=Тази стойност може да бъде променена от профила на всеки потребител в раздела '%s'
DefaultCustomerType=Тип контрагент по подразбиране във формуляра за създаване на "Нов клиент" DefaultCustomerType=Тип контрагент по подразбиране във формуляра за създаване на "Нов клиент"
ABankAccountMustBeDefinedOnPaymentModeSetup=Забележка: Банковата сметка трябва да бъде дефинирана в модула за всеки режим на плащане (Paypal, Stripe, ...), за да работи тази функция. ABankAccountMustBeDefinedOnPaymentModeSetup=Забележка: Банковата сметка трябва да бъде дефинирана в модула за всеки режим на плащане (Paypal, Stripe, ...), за да работи тази функция.
@ -1911,7 +1918,7 @@ LogsLinesNumber=Брой редове, които да се показват в
UseDebugBar=Използване на инструменти за отстраняване на грешки UseDebugBar=Използване на инструменти за отстраняване на грешки
DEBUGBAR_LOGS_LINES_NUMBER=Брой последни редове на журнал, които да се пазят в конзолата DEBUGBAR_LOGS_LINES_NUMBER=Брой последни редове на журнал, които да се пазят в конзолата
WarningValueHigherSlowsDramaticalyOutput=Внимание, по-високите стойности забавят драматично производителността WarningValueHigherSlowsDramaticalyOutput=Внимание, по-високите стойности забавят драматично производителността
DebugBarModuleActivated=Модула "Инструменти за отстраняване на грешки" е активиран и забавя драматично интерфейса ModuleActivated=Module %s is activated and slows the interface
EXPORTS_SHARE_MODELS=Моделите за експортиране се споделят с всички EXPORTS_SHARE_MODELS=Моделите за експортиране се споделят с всички
ExportSetup=Настройка на модула Експортиране на данни ExportSetup=Настройка на модула Експортиране на данни
InstanceUniqueID=Уникален идентификатор на инстанцията InstanceUniqueID=Уникален идентификатор на инстанцията
@ -1928,3 +1935,5 @@ YouWillFindItOnYourIFTTTAccount=Ще го намерите във вашият I
EndPointFor=Крайна точка за %s: %s EndPointFor=Крайна точка за %s: %s
DeleteEmailCollector=Изтриване на имейл колекционер DeleteEmailCollector=Изтриване на имейл колекционер
ConfirmDeleteEmailCollector=Сигурни ли те, че искате да изтриете този колекционер на имейли? ConfirmDeleteEmailCollector=Сигурни ли те, че искате да изтриете този колекционер на имейли?
RecipientEmailsWillBeReplacedWithThisValue=Recipient emails will be always replaced with this value
AtLeastOneDefaultBankAccountMandatory=At least 1 default bank account must be defined

View File

@ -58,11 +58,11 @@ MemberDeletedInDolibarr=Член %s е изтрит
MemberSubscriptionAddedInDolibarr=Членски внос %s за член %s е добавен MemberSubscriptionAddedInDolibarr=Членски внос %s за член %s е добавен
MemberSubscriptionModifiedInDolibarr=Членски внос %s за член %s е променен MemberSubscriptionModifiedInDolibarr=Членски внос %s за член %s е променен
MemberSubscriptionDeletedInDolibarr=Членски внос %s за член %s е изтрит MemberSubscriptionDeletedInDolibarr=Членски внос %s за член %s е изтрит
ShipmentValidatedInDolibarr=Пратка %s е валидирана ShipmentValidatedInDolibarr=Доставка %s е валидирана
ShipmentClassifyClosedInDolibarr=Пратка %s е фактурирана ShipmentClassifyClosedInDolibarr=Доставка %s е фактурирана
ShipmentUnClassifyCloseddInDolibarr=Пратка %s е повторно отворена ShipmentUnClassifyCloseddInDolibarr=Доставка %s е повторно отворена
ShipmentBackToDraftInDolibarr=Пратка %s е върната в статус чернова ShipmentBackToDraftInDolibarr=Доставка %s е върната в статус чернова
ShipmentDeletedInDolibarr=Пратка %s е изтрита ShipmentDeletedInDolibarr=Доставка %s е изтрита
OrderCreatedInDolibarr=Поръчка %s е създадена OrderCreatedInDolibarr=Поръчка %s е създадена
OrderValidatedInDolibarr=Поръчка %s е валидирана OrderValidatedInDolibarr=Поръчка %s е валидирана
OrderDeliveredInDolibarr=Поръчка %s е класифицирана като доставена OrderDeliveredInDolibarr=Поръчка %s е класифицирана като доставена
@ -77,8 +77,8 @@ OrderSentByEMail=Клиентска поръчка %s е изпратена по
InvoiceSentByEMail=Фактура за продажба %s е изпратена по имейл InvoiceSentByEMail=Фактура за продажба %s е изпратена по имейл
SupplierOrderSentByEMail=Поръчка за покупка %s е изпратена по имейл SupplierOrderSentByEMail=Поръчка за покупка %s е изпратена по имейл
SupplierInvoiceSentByEMail=Фактура за покупка %s е изпратена по имейл SupplierInvoiceSentByEMail=Фактура за покупка %s е изпратена по имейл
ShippingSentByEMail=Пратка %s е изпратена по имейл ShippingSentByEMail=Доставка %s е изпратена по имейл
ShippingValidated= Пратка %s е валидирана ShippingValidated= Доставка %s е валидирана
InterventionSentByEMail=Интервенция %s е изпратена по имейл InterventionSentByEMail=Интервенция %s е изпратена по имейл
ProposalDeleted=Предложението е изтрито ProposalDeleted=Предложението е изтрито
OrderDeleted=Поръчката е изтрита OrderDeleted=Поръчката е изтрита

View File

@ -22,7 +22,7 @@ AccountancyCodeAsset = Счетоводен код (актив)
AccountancyCodeDepreciationAsset = Счетоводен код (сметка за амортизационни активи) AccountancyCodeDepreciationAsset = Счетоводен код (сметка за амортизационни активи)
AccountancyCodeDepreciationExpense = Счетоводен код (сметка за амортизационни разходи) AccountancyCodeDepreciationExpense = Счетоводен код (сметка за амортизационни разходи)
NewAssetType=Нов вид актив NewAssetType=Нов вид актив
AssetsTypeSetup=Настройка на тип активи AssetsTypeSetup=Настройка на вид активи
AssetTypeModified=Видът на актива е променен AssetTypeModified=Видът на актива е променен
AssetType=Вид актив AssetType=Вид актив
AssetsLines=Активи AssetsLines=Активи
@ -42,17 +42,17 @@ ModuleAssetsDesc = Описание на активи
AssetsSetup = Настройка на активи AssetsSetup = Настройка на активи
Settings = Настройки Settings = Настройки
AssetsSetupPage = Страница за настройка на активите AssetsSetupPage = Страница за настройка на активите
ExtraFieldsAssetsType = Допълнителни атрибути (Вид на актива) ExtraFieldsAssetsType = Допълнителни атрибути (вид актив)
AssetsType=Вид актив AssetsType=Вид актив
AssetsTypeId=№ на актива AssetsTypeId=Идентификатор на вида актива
AssetsTypeLabel=Вид актив етикет AssetsTypeLabel=Етикет на вида актив
AssetsTypes=Видове активи AssetsTypes=Видове активи
# #
# Menu # Menu
# #
MenuAssets = Активи MenuAssets = Активи
MenuNewAsset = Нов Актив MenuNewAsset = Нов актив
MenuTypeAssets = Вид активи MenuTypeAssets = Вид активи
MenuListAssets = Списък MenuListAssets = Списък
MenuNewTypeAssets = Нов MenuNewTypeAssets = Нов

View File

@ -9,8 +9,8 @@ BillsCustomersUnpaidForCompany=Неплатени фактури за прода
BillsSuppliersUnpaid=Неплатени фактури за доставка BillsSuppliersUnpaid=Неплатени фактури за доставка
BillsSuppliersUnpaidForCompany=Неплатени фактури за доставка за %s BillsSuppliersUnpaidForCompany=Неплатени фактури за доставка за %s
BillsLate=Забавени плащания BillsLate=Забавени плащания
BillsStatistics=Статистика от фактури за продажба BillsStatistics=Статистика на фактури за продажба
BillsStatisticsSuppliers=Статистика за фактури на доставка BillsStatisticsSuppliers=Статистика на фактури за доставка
DisabledBecauseDispatchedInBookkeeping=Деактивирано, защото фактурата е изпратена за осчетоводяване DisabledBecauseDispatchedInBookkeeping=Деактивирано, защото фактурата е изпратена за осчетоводяване
DisabledBecauseNotLastInvoice=Деактивирано, защото фактурата не може да се изтрие. Има регистрирани следващи фактури с поредни номера и това ще създаде дупки в брояча. DisabledBecauseNotLastInvoice=Деактивирано, защото фактурата не може да се изтрие. Има регистрирани следващи фактури с поредни номера и това ще създаде дупки в брояча.
DisabledBecauseNotErasable=Деактивирано, защото не може да бъде изтрито DisabledBecauseNotErasable=Деактивирано, защото не може да бъде изтрито
@ -22,7 +22,7 @@ InvoiceDepositAsk=Фактура за авансово плащане
InvoiceDepositDesc=Този вид фактура се използва, когато е получено авансово плащане. InvoiceDepositDesc=Този вид фактура се използва, когато е получено авансово плащане.
InvoiceProForma=Проформа фактура InvoiceProForma=Проформа фактура
InvoiceProFormaAsk=Проформа фактура InvoiceProFormaAsk=Проформа фактура
InvoiceProFormaDesc=<b>Проформа фактура</b> е първообраз на една истинска фактура, но няма счетоводна стойност. InvoiceProFormaDesc=<b>Проформа фактурата</b> е първообраз на истинска фактура, но няма счетоводна стойност.
InvoiceReplacement=Заменяща фактура InvoiceReplacement=Заменяща фактура
InvoiceReplacementAsk=Фактура заменяща друга фактура InvoiceReplacementAsk=Фактура заменяща друга фактура
InvoiceReplacementDesc=<b>Заменяща фактура</b> се използва за анулиране и пълно заменяне на фактура без получено плащане. <br><br> Забележка: Само фактури без плащания по тях могат да бъдат заменяни. Ако фактурата, която заменяте, все още не е приключена, то тя ще бъде автоматично приключена като „Изоставена“. InvoiceReplacementDesc=<b>Заменяща фактура</b> се използва за анулиране и пълно заменяне на фактура без получено плащане. <br><br> Забележка: Само фактури без плащания по тях могат да бъдат заменяни. Ако фактурата, която заменяте, все още не е приключена, то тя ще бъде автоматично приключена като „Изоставена“.
@ -44,7 +44,7 @@ NotConsumed=Не е консумирана
NoReplacableInvoice=Няма заменими фактури NoReplacableInvoice=Няма заменими фактури
NoInvoiceToCorrect=Няма фактура за коригиране NoInvoiceToCorrect=Няма фактура за коригиране
InvoiceHasAvoir=Източник на едно или няколко кредитни известия InvoiceHasAvoir=Източник на едно или няколко кредитни известия
CardBill=Карта на фактура CardBill=Карта
PredefinedInvoices=Предварително дефинирани фактури PredefinedInvoices=Предварително дефинирани фактури
Invoice=Фактура Invoice=Фактура
PdfInvoiceTitle=Фактура PdfInvoiceTitle=Фактура
@ -75,8 +75,8 @@ ReceivedPayments=Получени плащания
ReceivedCustomersPayments=Плащания получени от клиенти ReceivedCustomersPayments=Плащания получени от клиенти
PayedSuppliersPayments=Направени плащания към доставчици PayedSuppliersPayments=Направени плащания към доставчици
ReceivedCustomersPaymentsToValid=Получени плащания от клиенти за валидиране ReceivedCustomersPaymentsToValid=Получени плащания от клиенти за валидиране
PaymentsReportsForYear=Отчети за плащания за %s PaymentsReportsForYear=Справки за плащания за %s
PaymentsReports=Отчети за плащания PaymentsReports=Справки за плащания
PaymentsAlreadyDone=Вече направени плащания PaymentsAlreadyDone=Вече направени плащания
PaymentsBackAlreadyDone=Вече направени обратни плащания PaymentsBackAlreadyDone=Вече направени обратни плащания
PaymentRule=Правило за плащане PaymentRule=Правило за плащане
@ -95,6 +95,7 @@ PaymentHigherThanReminderToPay=Плащането е с по-висока сто
HelpPaymentHigherThanReminderToPay=Внимание, сумата за плащане на една или повече фактури е по-висока от дължимата сума за плащане. <br> Редактирайте записа си, в противен случай потвърдете и обмислете създаването на кредитно известие за получената сума за всяка надплатена фактура. HelpPaymentHigherThanReminderToPay=Внимание, сумата за плащане на една или повече фактури е по-висока от дължимата сума за плащане. <br> Редактирайте записа си, в противен случай потвърдете и обмислете създаването на кредитно известие за получената сума за всяка надплатена фактура.
HelpPaymentHigherThanReminderToPaySupplier=Внимание, сумата за плащане на една или повече фактури е по-висока от дължимата сума за плащане. <br> Редактирайте записа си, в противен случай потвърдете и обмислете създаването на кредитно известие за излишъка, платен за всяка надплатена фактура. HelpPaymentHigherThanReminderToPaySupplier=Внимание, сумата за плащане на една или повече фактури е по-висока от дължимата сума за плащане. <br> Редактирайте записа си, в противен случай потвърдете и обмислете създаването на кредитно известие за излишъка, платен за всяка надплатена фактура.
ClassifyPaid=Класифициране като 'Платена' ClassifyPaid=Класифициране като 'Платена'
ClassifyUnPaid=Classify 'Unpaid'
ClassifyPaidPartially=Класифициране като 'Частично платена' ClassifyPaidPartially=Класифициране като 'Частично платена'
ClassifyCanceled=Класифициране като 'Изоставена' ClassifyCanceled=Класифициране като 'Изоставена'
ClassifyClosed=Класифициране като 'Приключена' ClassifyClosed=Класифициране като 'Приключена'
@ -150,21 +151,21 @@ ErrorBillNotFound=Фактура %s не съществува
ErrorInvoiceAlreadyReplaced=Грешка, опитахте да валидирате фактура, за да замените фактура %s, но тя вече е заменена с фактура %s. ErrorInvoiceAlreadyReplaced=Грешка, опитахте да валидирате фактура, за да замените фактура %s, но тя вече е заменена с фактура %s.
ErrorDiscountAlreadyUsed=Грешка, вече се използва отстъпка ErrorDiscountAlreadyUsed=Грешка, вече се използва отстъпка
ErrorInvoiceAvoirMustBeNegative=Грешка, коригиращата фактура трябва да има отрицателна сума ErrorInvoiceAvoirMustBeNegative=Грешка, коригиращата фактура трябва да има отрицателна сума
ErrorInvoiceOfThisTypeMustBePositive=Грешка, този тип фактура трябва да има положителна стойност ErrorInvoiceOfThisTypeMustBePositive=Грешка, този тип фактура трябва да има положителна сума
ErrorCantCancelIfReplacementInvoiceNotValidated=Грешка, не може да се анулира фактура, която е била заменена от друга фактура, която все още е в състояние на чернова ErrorCantCancelIfReplacementInvoiceNotValidated=Грешка, не може да се анулира фактура, която е била заменена от друга фактура, която все още е в състояние на чернова
ErrorThisPartOrAnotherIsAlreadyUsedSoDiscountSerieCantBeRemoved=Тази или друга част вече е използвана, така че сериите с отстъпки не могат да бъдат премахнати. ErrorThisPartOrAnotherIsAlreadyUsedSoDiscountSerieCantBeRemoved=Тази или друга част вече е използвана, така че сериите с отстъпки не могат да бъдат премахнати.
BillFrom=От BillFrom=От
BillTo=За BillTo=За
ActionsOnBill=Действия по фактура ActionsOnBill=Свързани събития
RecurringInvoiceTemplate=Шаблонна / Повтаряща се фактура RecurringInvoiceTemplate=Шаблонна / Повтаряща се фактура
NoQualifiedRecurringInvoiceTemplateFound=Няма шаблонна повтаряща се фактура за генериране NoQualifiedRecurringInvoiceTemplateFound=Няма шаблонна повтаряща се фактура за генериране
FoundXQualifiedRecurringInvoiceTemplate=Намерени са %s шаблонни повтарящи се фактури, отговарящи на изискванията за генериране. FoundXQualifiedRecurringInvoiceTemplate=Намерени са %s шаблонни повтарящи се фактури, отговарящи на изискванията за генериране.
NotARecurringInvoiceTemplate=Не е шаблонна повтаряща се фактура NotARecurringInvoiceTemplate=Не е шаблонна повтаряща се фактура
NewBill=Нова фактура NewBill=Нова фактура
LastBills=Фактури: %s последни LastBills=Фактури: %s последни
LatestTemplateInvoices=Шаблонни повтарящи се фактури: %s последни LatestTemplateInvoices=Шаблонни фактури: %s последни
LatestCustomerTemplateInvoices=Шаблонни повтарящи се фактури за продажба: %s последни LatestCustomerTemplateInvoices=Шаблонни фактури за продажба: %s последни
LatestSupplierTemplateInvoices=Шаблонни повтарящи се фактури за доставка: %s последни LatestSupplierTemplateInvoices=Шаблонни фактури за доставка: %s последни
LastCustomersBills=Фактури за продажба: %s последни LastCustomersBills=Фактури за продажба: %s последни
LastSuppliersBills=Фактури за доставка: %s последни LastSuppliersBills=Фактури за доставка: %s последни
AllBills=Всички фактури AllBills=Всички фактури
@ -173,14 +174,14 @@ OtherBills=Други фактури
DraftBills=Чернови фактури DraftBills=Чернови фактури
CustomersDraftInvoices=Чернови фактури за продажба CustomersDraftInvoices=Чернови фактури за продажба
SuppliersDraftInvoices=Чернови фактури за доставка SuppliersDraftInvoices=Чернови фактури за доставка
Unpaid=Неплатено Unpaid=Неплатена
ConfirmDeleteBill=Сигурни ли сте, че искате да изтриете тази фактура? ConfirmDeleteBill=Сигурни ли сте, че искате да изтриете тази фактура?
ConfirmValidateBill=Сигурни ли сте че, искате да валидирате тази фактура <b> %s </b>? ConfirmValidateBill=Сигурни ли сте че, искате да валидирате тази фактура <b> %s </b>?
ConfirmUnvalidateBill=Сигурен ли сте, че искате да върнете фактура <b>%s</b> в състояние на чернова? ConfirmUnvalidateBill=Сигурен ли сте, че искате да върнете фактура <b>%s</b> в състояние на чернова?
ConfirmClassifyPaidBill=Сигурни ли сте че, искате да маркирате фактура <b> %s </b> със статус платена? ConfirmClassifyPaidBill=Сигурни ли сте че, искате да класифицирате фактура <b> %s </b> като платена?
ConfirmCancelBill=Сигурни ли сте, че искате да анулирате фактура <b> %s </b>? ConfirmCancelBill=Сигурни ли сте, че искате да анулирате фактура <b> %s </b>?
ConfirmCancelBillQuestion=Защо искате да класифицирате тази фактура като „Изоставена“? ConfirmCancelBillQuestion=Защо искате да класифицирате тази фактура като „Изоставена“?
ConfirmClassifyPaidPartially=Сигурни ли сте че, искате да маркирате фактура <b> %s </b> със статус платена? ConfirmClassifyPaidPartially=Сигурни ли сте че, искате да класифицирате фактура <b> %s </b> като платена частично?
ConfirmClassifyPaidPartiallyQuestion=Тази фактура не е платена изцяло. Каква е причината за приключване на тази фактура? ConfirmClassifyPaidPartiallyQuestion=Тази фактура не е платена изцяло. Каква е причината за приключване на тази фактура?
ConfirmClassifyPaidPartiallyReasonAvoir=Неплатения остатък <b> (%s %s) </b> е предоставена отстъпка, тъй като плащането е извършено преди срока за плащане. Уреждам ДДС с кредитно известие. ConfirmClassifyPaidPartiallyReasonAvoir=Неплатения остатък <b> (%s %s) </b> е предоставена отстъпка, тъй като плащането е извършено преди срока за плащане. Уреждам ДДС с кредитно известие.
ConfirmClassifyPaidPartiallyReasonDiscount=Неплатения остатък <b> (%s %s) </b> е предоставена отстъпка, тъй като плащането е извършено преди срока за плащане. ConfirmClassifyPaidPartiallyReasonDiscount=Неплатения остатък <b> (%s %s) </b> е предоставена отстъпка, тъй като плащането е извършено преди срока за плащане.
@ -192,7 +193,7 @@ ConfirmClassifyPaidPartiallyReasonOther=Сумата е изоставена п
ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc=Този избор е възможен, ако фактурата е снабдена с подходящи коментари. (Например: "Само данък, съответстващ на действително платената цена, дава право на приспадане") ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc=Този избор е възможен, ако фактурата е снабдена с подходящи коментари. (Например: "Само данък, съответстващ на действително платената цена, дава право на приспадане")
ConfirmClassifyPaidPartiallyReasonDiscountVatDesc=В някои държави този избор е възможен, само ако фактурата съдържа правилни бележки. ConfirmClassifyPaidPartiallyReasonDiscountVatDesc=В някои държави този избор е възможен, само ако фактурата съдържа правилни бележки.
ConfirmClassifyPaidPartiallyReasonAvoirDesc=Използвайте този избор, ако всички други не са подходящи ConfirmClassifyPaidPartiallyReasonAvoirDesc=Използвайте този избор, ако всички други не са подходящи
ConfirmClassifyPaidPartiallyReasonBadCustomerDesc=<b> Лош клиент </b> е клиент, който отказва да плати дълга си. ConfirmClassifyPaidPartiallyReasonBadCustomerDesc=<b>Лош клиент</b> е клиент, който отказва да плати дълга си.
ConfirmClassifyPaidPartiallyReasonProductReturnedDesc=Този избор се използва, когато плащането не е пълно, тъй като някои от продуктите са били върнати ConfirmClassifyPaidPartiallyReasonProductReturnedDesc=Този избор се използва, когато плащането не е пълно, тъй като някои от продуктите са били върнати
ConfirmClassifyPaidPartiallyReasonOtherDesc=Използвайте този избор, ако всички останали не са подходящи, например в следната ситуация:\n- плащането не е завършено, защото някои продукти са изпратени обратно\n- предявената сума е задължителна, понеже отстъпката е забравена\nВъв всички случаи, надхвърлената сума трябва да бъде коригирана в счетоводната система, чрез създаване на кредитно известие. ConfirmClassifyPaidPartiallyReasonOtherDesc=Използвайте този избор, ако всички останали не са подходящи, например в следната ситуация:\n- плащането не е завършено, защото някои продукти са изпратени обратно\n- предявената сума е задължителна, понеже отстъпката е забравена\nВъв всички случаи, надхвърлената сума трябва да бъде коригирана в счетоводната система, чрез създаване на кредитно известие.
ConfirmClassifyAbandonReasonOther=Друго ConfirmClassifyAbandonReasonOther=Друго
@ -206,22 +207,36 @@ NumberOfBills=Брой фактури
NumberOfBillsByMonth=Брой фактури на месец NumberOfBillsByMonth=Брой фактури на месец
AmountOfBills=Сума на фактури AmountOfBills=Сума на фактури
AmountOfBillsHT=Сума на фактури (без ДДС) AmountOfBillsHT=Сума на фактури (без ДДС)
AmountOfBillsByMonthHT=Сума на фактури по месец (без данък) AmountOfBillsByMonthHT=Сума на фактури по месец (без ДДС)
ShowSocialContribution=Показване на социален / фискален данък ShowSocialContribution=Показване на социален / фискален данък
ShowBill=Покажи фактура ShowBill=Показване на фактура
ShowInvoice=Покажи фактура ShowInvoice=Показване на фактура
ShowInvoiceReplace=Покажи заменяща фактура ShowInvoiceReplace=Показване на заменяща фактура
ShowInvoiceAvoir=Покажи кредитно известие ShowInvoiceAvoir=Показване на кредитно известие
ShowInvoiceDeposit=Показване на авансова фактура ShowInvoiceDeposit=Показване на авансова фактура
ShowInvoiceSituation=Показване на ситуационна фактура ShowInvoiceSituation=Показване на ситуационна фактура
ShowPayment=Покажи плащане UseSituationInvoices=Allow situation invoice
UseSituationInvoicesCreditNote=Allow situation invoice credit note
Retainedwarranty=Retained warranty
RetainedwarrantyDefaultPercent=Retained warranty default percent
ToPayOn=To pay on %s
toPayOn=to pay on %s
RetainedWarranty=Retained Warranty
PaymentConditionsShortRetainedWarranty=Retained warranty payment terms
DefaultPaymentConditionsRetainedWarranty=Default retained warranty payment terms
setPaymentConditionsShortRetainedWarranty=Set retained warranty payment terms
setretainedwarranty=Set retained warranty
setretainedwarrantyDateLimit=Set retained warranty date limit
RetainedWarrantyDateLimit=Retained warranty date limit
RetainedWarrantyNeed100Percent=The situation invoice need to be at 100%% progress to be displayed on PDF
ShowPayment=Показване на плащане
AlreadyPaid=Вече платено AlreadyPaid=Вече платено
AlreadyPaidBack=Вече платено обратно AlreadyPaidBack=Вече платено обратно
AlreadyPaidNoCreditNotesNoDeposits=Вече платено (без кредитни известия и авансови плащания) AlreadyPaidNoCreditNotesNoDeposits=Вече платено (без кредитни известия и авансови плащания)
Abandoned=Изоставена Abandoned=Изоставена
RemainderToPay=Неплатен остатък RemainderToPay=Неплатен остатък
RemainderToTake=Остатъчна сума за получаване RemainderToTake=Остатъчна сума за получаване
RemainderToPayBack=Оставаща сума за възстановяване RemainderToPayBack=Остатъчна сума за възстановяване
Rest=Чакаща Rest=Чакаща
AmountExpected=Претендирана сума AmountExpected=Претендирана сума
ExcessReceived=Получено превишение ExcessReceived=Получено превишение
@ -230,7 +245,7 @@ EscompteOffered=Предложена отстъпка (плащане преди
EscompteOfferedShort=Отстъпка EscompteOfferedShort=Отстъпка
SendBillRef=Изпращане на фактура %s SendBillRef=Изпращане на фактура %s
SendReminderBillRef=Изпращане на фактура %s (напомняне) SendReminderBillRef=Изпращане на фактура %s (напомняне)
StandingOrders=Нареждания с директен дебит StandingOrders=Нареждания за директен дебит
StandingOrder=Нареждане за директен дебит StandingOrder=Нареждане за директен дебит
NoDraftBills=Няма чернови фактури NoDraftBills=Няма чернови фактури
NoOtherDraftBills=Няма други чернови фактури NoOtherDraftBills=Няма други чернови фактури
@ -263,11 +278,11 @@ Repeatables=Шаблони
ChangeIntoRepeatableInvoice=Конвертиране в шаблонна фактура ChangeIntoRepeatableInvoice=Конвертиране в шаблонна фактура
CreateRepeatableInvoice=Създаване на шаблонна фактура CreateRepeatableInvoice=Създаване на шаблонна фактура
CreateFromRepeatableInvoice=Създаване от шаблонна фактура CreateFromRepeatableInvoice=Създаване от шаблонна фактура
CustomersInvoicesAndInvoiceLines=Фактури клиенти и техните детайли CustomersInvoicesAndInvoiceLines=Фактури за продажба и техни детайли
CustomersInvoicesAndPayments=Фактури за продажба и плащания CustomersInvoicesAndPayments=Фактури за продажба и плащания
ExportDataset_invoice_1=Фактури за продажба и техните детайли ExportDataset_invoice_1=Фактури за продажба и техни детайли
ExportDataset_invoice_2=Фактури за продажба и плащания ExportDataset_invoice_2=Фактури за продажба и плащания
ProformaBill=Проформа Фактура ProformaBill=Проформа фактура
Reduction=Отстъпка Reduction=Отстъпка
ReductionShort=Отст. ReductionShort=Отст.
Reductions=Отстъпки Reductions=Отстъпки
@ -279,8 +294,8 @@ EditRelativeDiscount=Промяна на относителна отстъпка
AddGlobalDiscount=Създаване на абсолютна отстъпка AddGlobalDiscount=Създаване на абсолютна отстъпка
EditGlobalDiscounts=Промяна на абсолютна отстъпка EditGlobalDiscounts=Промяна на абсолютна отстъпка
AddCreditNote=Създаване на кредитно известие AddCreditNote=Създаване на кредитно известие
ShowDiscount=Покажи отстъпка ShowDiscount=Показване на отстъпка
ShowReduc=Покажи намалението ShowReduc=Показване на отстъпка
RelativeDiscount=Относителна отстъпка RelativeDiscount=Относителна отстъпка
GlobalDiscount=Глобална отстъпка GlobalDiscount=Глобална отстъпка
CreditNote=Кредитно известие CreditNote=Кредитно известие
@ -292,8 +307,8 @@ DiscountFromCreditNote=Отстъпка от кредитно известие %
DiscountFromDeposit=Авансови плащания от фактура %s DiscountFromDeposit=Авансови плащания от фактура %s
DiscountFromExcessReceived=Плащания над стойността на фактура %s DiscountFromExcessReceived=Плащания над стойността на фактура %s
DiscountFromExcessPaid=Плащания над стойността на фактура %s DiscountFromExcessPaid=Плащания над стойността на фактура %s
AbsoluteDiscountUse=Този вид кредит може да се използва по фактура преди нейното валидиране AbsoluteDiscountUse=Този вид кредит може да се използва във фактура преди нейното валидиране
CreditNoteDepositUse=Фактурата трябва да бъде валидирана, за да се използва този вид кредити CreditNoteDepositUse=Фактурата трябва да бъде валидирана, за да използвате този вид кредити
NewGlobalDiscount=Нова абсолютна отстъпка NewGlobalDiscount=Нова абсолютна отстъпка
NewRelativeDiscount=Нова относителна отстъпка NewRelativeDiscount=Нова относителна отстъпка
DiscountType=Тип отстъпка DiscountType=Тип отстъпка
@ -303,15 +318,15 @@ DiscountOfferedBy=Предоставена от
DiscountStillRemaining=Налични отстъпки или кредити DiscountStillRemaining=Налични отстъпки или кредити
DiscountAlreadyCounted=Изразходвани отстъпки или кредити DiscountAlreadyCounted=Изразходвани отстъпки или кредити
CustomerDiscounts=Отстъпки за клиенти CustomerDiscounts=Отстъпки за клиенти
SupplierDiscounts=Отстъпки на доставчици SupplierDiscounts=Отстъпки от доставчици
BillAddress=Адрес за фактуриране BillAddress=Адрес за фактуриране
HelpEscompte=Тази отстъпка представлява отстъпка, предоставена на клиента, тъй като плащането е извършено преди срока на плащане. HelpEscompte=Тази отстъпка представлява отстъпка, предоставена на клиента, тъй като плащането е извършено преди срока на плащане.
HelpAbandonBadCustomer=Тази сума е изоставена (поради некоректен (лош) клиент) и се счита за изключителна загуба. HelpAbandonBadCustomer=Тази сума е изоставена (поради некоректен (лош) клиент) и се счита за изключителна загуба.
HelpAbandonOther=Тази сума е изоставена, тъй като е била грешка (Например: неправилен клиент или фактура заменена от друга) HelpAbandonOther=Тази сума е изоставена, тъй като се дължи на грешка (например: неправилен клиент или фактура заменена от друга)
IdSocialContribution=Идентификатор за плащане на социален / фискален данък IdSocialContribution=Идентификатор за плащане на социален / фискален данък
PaymentId=Плащане ID PaymentId=Идентификатор за плащане
PaymentRef=Реф. плащане PaymentRef=Реф. плащане
InvoiceId=Фактура ID InvoiceId=Идентификатор на фактура
InvoiceRef=Реф. фактура InvoiceRef=Реф. фактура
InvoiceDateCreation=Дата на създаване на фактура InvoiceDateCreation=Дата на създаване на фактура
InvoiceStatus=Статус на фактура InvoiceStatus=Статус на фактура
@ -327,7 +342,7 @@ ConfirmCloneInvoice=Сигурни ли сте, че искате да клон
DisabledBecauseReplacedInvoice=Действието е деактивирано, тъй като фактурата е била заменена DisabledBecauseReplacedInvoice=Действието е деактивирано, тъй като фактурата е била заменена
DescTaxAndDividendsArea=Тази секция показва обобщение на всички плащания, направени за специални разходи. Тук са включени само записи с плащания през определената година. DescTaxAndDividendsArea=Тази секция показва обобщение на всички плащания, направени за специални разходи. Тук са включени само записи с плащания през определената година.
NbOfPayments=Брой плащания NbOfPayments=Брой плащания
SplitDiscount=Раздели отстъпката на две SplitDiscount=Разделяне на отстъпка
ConfirmSplitDiscount=Сигурни ли сте, че искате да разделите тази отстъпка <b> %s </b> %s на две по-малки отстъпки? ConfirmSplitDiscount=Сигурни ли сте, че искате да разделите тази отстъпка <b> %s </b> %s на две по-малки отстъпки?
TypeAmountOfEachNewDiscount=Въведете сума за всяка от двете части: TypeAmountOfEachNewDiscount=Въведете сума за всяка от двете части:
TotalOfTwoDiscountMustEqualsOriginal=Общата сума на двете нови отстъпки трябва да бъде равна на първоначалната сума за отстъпка. TotalOfTwoDiscountMustEqualsOriginal=Общата сума на двете нови отстъпки трябва да бъде равна на първоначалната сума за отстъпка.
@ -340,7 +355,7 @@ LatestRelatedBill=Последна свързана фактура
WarningBillExist=Внимание, вече съществуват една или повече фактури WarningBillExist=Внимание, вече съществуват една или повече фактури
MergingPDFTool=Инструмент за обединяване на PDF документи MergingPDFTool=Инструмент за обединяване на PDF документи
AmountPaymentDistributedOnInvoice=Сума на плащане, разпределена по фактура AmountPaymentDistributedOnInvoice=Сума на плащане, разпределена по фактура
PaymentOnDifferentThirdBills=Позволява плащания по различни фактури на контрагенти, но от едно и също дружество (фирма майка) PaymentOnDifferentThirdBills=Позволяване на плащания по различни фактури на контрагенти, но от едно и също дружество (фирма майка)
PaymentNote=Бележка за плащане PaymentNote=Бележка за плащане
ListOfPreviousSituationInvoices=Списък на предишни ситуационни фактури ListOfPreviousSituationInvoices=Списък на предишни ситуационни фактури
ListOfNextSituationInvoices=Списък на следващи ситуационни фактури ListOfNextSituationInvoices=Списък на следващи ситуационни фактури
@ -373,7 +388,7 @@ WarningInvoiceDateTooFarInFuture=Внимание, датата на факту
ViewAvailableGlobalDiscounts=Преглед на налични отстъпки ViewAvailableGlobalDiscounts=Преглед на налични отстъпки
# PaymentConditions # PaymentConditions
Statut=Статус Statut=Статус
PaymentConditionShortRECEP=При получаване PaymentConditionShortRECEP=Получаване
PaymentConditionRECEP=При получаване PaymentConditionRECEP=При получаване
PaymentConditionShort30D=30 дни PaymentConditionShort30D=30 дни
PaymentCondition30D=30 дни PaymentCondition30D=30 дни
@ -399,7 +414,7 @@ PaymentConditionShort14DENDMONTH=14 дни от края на месеца
PaymentCondition14DENDMONTH=В рамките на 14 дни след края на месеца PaymentCondition14DENDMONTH=В рамките на 14 дни след края на месеца
FixAmount=Фиксирана сума FixAmount=Фиксирана сума
VarAmount=Променлива сума (%% общо) VarAmount=Променлива сума (%% общо)
VarAmountOneLine=Променлива сума (%% общ.) - 1 ред с етикет "%s" VarAmountOneLine=Променлива сума (%% общо) - включва ред с етикет "%s"
# PaymentType # PaymentType
PaymentTypeVIR=Банков превод PaymentTypeVIR=Банков превод
PaymentTypeShortVIR=Банков превод PaymentTypeShortVIR=Банков превод
@ -415,27 +430,27 @@ PaymentTypeTIP=TIP (Документи срещу плащане)
PaymentTypeShortTIP=Плащане по TIP PaymentTypeShortTIP=Плащане по TIP
PaymentTypeVAD=Онлайн плащане PaymentTypeVAD=Онлайн плащане
PaymentTypeShortVAD=Онлайн плащане PaymentTypeShortVAD=Онлайн плащане
PaymentTypeTRA=Банково извлечение PaymentTypeTRA=Банкова гаранция
PaymentTypeShortTRA=Чернова PaymentTypeShortTRA=Гаранция
PaymentTypeFAC=Фактор PaymentTypeFAC=Фактор
PaymentTypeShortFAC=Фактор PaymentTypeShortFAC=Фактор
BankDetails=Банкови данни BankDetails=Банкови данни
BankCode=Банков код BankCode=Банков код
DeskCode=Код на клон DeskCode=Код на клон
BankAccountNumber=Номер на сметка BankAccountNumber=Номер на сметка
BankAccountNumberKey=Контролната сума BankAccountNumberKey=Контролна сума
Residence=Адрес Residence=Адрес
IBANNumber=IBAN номер на сметка IBANNumber=IBAN номер на сметка
IBAN=IBAN IBAN=IBAN
BIC=BIC / SWIFT BIC=BIC / SWIFT
BICNumber=BIC/SWIFT код BICNumber=BIC / SWIFT код
ExtraInfos=Допълнителна информация ExtraInfos=Допълнителна информация
RegulatedOn=Регулирано на RegulatedOn=Регулирано на
ChequeNumber=Чек № ChequeNumber=Чек №
ChequeOrTransferNumber=Чек / Трансфер № ChequeOrTransferNumber=Чек / Трансфер №
ChequeBordereau=Чек график ChequeBordereau=Чек график
ChequeMaker=Чек/трансфер предавател ChequeMaker=Подател на чек / трансфер
ChequeBank=Банка на чека ChequeBank=Банка на чек
CheckBank=Чек CheckBank=Чек
NetToBePaid=Нето за плащане NetToBePaid=Нето за плащане
PhoneNumber=Тел PhoneNumber=Тел
@ -443,17 +458,17 @@ FullPhoneNumber=Телефон
TeleFax=Факс TeleFax=Факс
PrettyLittleSentence=Приемене на размера на плащанията с чекове, издадени в мое име, като член на счетоводна асоциация, одобрена от данъчната администрация. PrettyLittleSentence=Приемене на размера на плащанията с чекове, издадени в мое име, като член на счетоводна асоциация, одобрена от данъчната администрация.
IntracommunityVATNumber=ДДС № IntracommunityVATNumber=ДДС №
PaymentByChequeOrderedTo=Чекови плащания (с ДДС) се извършват до %s, изпратени на адрес PaymentByChequeOrderedTo=Чекови плащания (с ДДС) се извършват до %s, изпратени на
PaymentByChequeOrderedToShort=Чекови плащания (с ДДС) се извършват до PaymentByChequeOrderedToShort=Чекови плащания (с ДДС) се извършват до
SendTo=изпратено до SendTo=изпратено до
PaymentByTransferOnThisBankAccount=Плащане, чрез превод по следната банкова сметка PaymentByTransferOnThisBankAccount=Плащане, чрез превод по следната банкова сметка
VATIsNotUsedForInvoice=* Неприложим ДДС, art-293B от CGI VATIsNotUsedForInvoice=* Неприложим ДДС, art-293B от CGI
LawApplicationPart1=Чрез прилагането на закон 80.335 от 12/05/80 LawApplicationPart1=Чрез прилагане на закон 80.335 от 12/05/80
LawApplicationPart2=стоките остават собственост на LawApplicationPart2=стоките остават собственост на
LawApplicationPart3=продавача до пълното плащане на LawApplicationPart3=продавача до пълното плащане на
LawApplicationPart4=тяхната цена. LawApplicationPart4=тяхната цена.
LimitedLiabilityCompanyCapital=SARL с капитал от LimitedLiabilityCompanyCapital=SARL с капитал от
UseLine=Приложи UseLine=Прилагане
UseDiscount=Използване на отстъпка UseDiscount=Използване на отстъпка
UseCredit=Използване на кредит UseCredit=Използване на кредит
UseCreditNoteInInvoicePayment=Намаляване на сумата за плащане с този кредит UseCreditNoteInInvoicePayment=Намаляване на сумата за плащане с този кредит
@ -468,12 +483,12 @@ Cheques=Чекове
DepositId=Идентификатор на депозит DepositId=Идентификатор на депозит
NbCheque=Брой чекове NbCheque=Брой чекове
CreditNoteConvertedIntoDiscount=Това %s е преобразувано в %s CreditNoteConvertedIntoDiscount=Това %s е преобразувано в %s
UsBillingContactAsIncoiveRecipientIfExist=Използване на контакт/адрес с тип "контакт за фактуриране" вместо адрес на контрагента като получател на фактури UsBillingContactAsIncoiveRecipientIfExist=Използване на контакт / адрес с тип "контакт за фактуриране" вместо адрес на контрагента като получател на фактури
ShowUnpaidAll=Покажи всички неплатени фактури ShowUnpaidAll=Показване на всички неплатени фактури
ShowUnpaidLateOnly=Покажи само забавените неплатени фактури ShowUnpaidLateOnly=Показване на забавени неплатени фактури
PaymentInvoiceRef=Плащане по фактура %s PaymentInvoiceRef=Плащане по фактура %s
ValidateInvoice=Валидиране на фактура ValidateInvoice=Валидиране на фактура
ValidateInvoices=Потвърждаване на фактури ValidateInvoices=Валидиране на фактури
Cash=В брой Cash=В брой
Reported=Закъснели Reported=Закъснели
DisabledBecausePayments=Не е възможно, тъй като има някои плащания DisabledBecausePayments=Не е възможно, тъй като има някои плащания
@ -482,7 +497,7 @@ ExpectedToPay=Очаквано плащане
CantRemoveConciliatedPayment=Съгласуваното плащане не може да се премахне CantRemoveConciliatedPayment=Съгласуваното плащане не може да се премахне
PayedByThisPayment=Платено от това плащане PayedByThisPayment=Платено от това плащане
ClosePaidInvoicesAutomatically=Класифицирайте "Платени" всички стандартни, авансови или заместващи фактури, които са платени напълно. ClosePaidInvoicesAutomatically=Класифицирайте "Платени" всички стандартни, авансови или заместващи фактури, които са платени напълно.
ClosePaidCreditNotesAutomatically=Класифицирай 'Платени' всички кредитни известия, които са изцяло платени обратно. ClosePaidCreditNotesAutomatically=Класифицирайте "Платени" всички кредитни известия, които са изцяло платени обратно.
ClosePaidContributionsAutomatically=Класифицирайте "Платени" всички социални или фискални вноски, които са платени напълно. ClosePaidContributionsAutomatically=Класифицирайте "Платени" всички социални или фискални вноски, които са платени напълно.
AllCompletelyPayedInvoiceWillBeClosed=Всички фактури без остатък за плащане ще бъдат автоматично приключени със статус "Платени". AllCompletelyPayedInvoiceWillBeClosed=Всички фактури без остатък за плащане ще бъдат автоматично приключени със статус "Платени".
ToMakePayment=Плати ToMakePayment=Плати
@ -506,9 +521,9 @@ TypeContact_facture_external_BILLING=Контакт по фактура за п
TypeContact_facture_external_SHIPPING=Контакт по доставка TypeContact_facture_external_SHIPPING=Контакт по доставка
TypeContact_facture_external_SERVICE=Контакт по обслужване TypeContact_facture_external_SERVICE=Контакт по обслужване
TypeContact_invoice_supplier_internal_SALESREPFOLL=Представител по фактура за покупка TypeContact_invoice_supplier_internal_SALESREPFOLL=Представител по фактура за покупка
TypeContact_invoice_supplier_external_BILLING=Контакт на доставчик по фактура TypeContact_invoice_supplier_external_BILLING=Контакт по фактура за доставка
TypeContact_invoice_supplier_external_SHIPPING=Контакт на доставчик по доставка TypeContact_invoice_supplier_external_SHIPPING=Контакт по доставка
TypeContact_invoice_supplier_external_SERVICE=Контакт на доставчик по услуга TypeContact_invoice_supplier_external_SERVICE=Контакт по обслужване
# Situation invoices # Situation invoices
InvoiceFirstSituationAsk=Първа ситуационна фактура InvoiceFirstSituationAsk=Първа ситуационна фактура
InvoiceFirstSituationDesc=<b>Ситуационните фактури</b> са вързани към ситуации отнасящи се до прогрес, например процес на конструиране. Всяка ситуация е свързана с една фактура. InvoiceFirstSituationDesc=<b>Ситуационните фактури</b> са вързани към ситуации отнасящи се до прогрес, например процес на конструиране. Всяка ситуация е свързана с една фактура.
@ -542,7 +557,7 @@ ToCreateARecurringInvoiceGene=За да генерирате бъдещи фак
ToCreateARecurringInvoiceGeneAuto=Ако трябва да генерирате такива фактури автоматично, помолете администратора да активира и настрои модула <strong> %s </strong>. Имайте предвид, че двата метода (ръчен и автоматичен) могат да се използват заедно, без риск от дублиране. ToCreateARecurringInvoiceGeneAuto=Ако трябва да генерирате такива фактури автоматично, помолете администратора да активира и настрои модула <strong> %s </strong>. Имайте предвид, че двата метода (ръчен и автоматичен) могат да се използват заедно, без риск от дублиране.
DeleteRepeatableInvoice=Изтриване на шаблонна фактура DeleteRepeatableInvoice=Изтриване на шаблонна фактура
ConfirmDeleteRepeatableInvoice=Сигурни ли сте, че искате да изтриете тази шаблонна фактура? ConfirmDeleteRepeatableInvoice=Сигурни ли сте, че искате да изтриете тази шаблонна фактура?
CreateOneBillByThird=Създайте по една фактура за контрагент (в противен случай по фактура за поръчка) CreateOneBillByThird=Създаване на една фактура за контрагент (в противен случай по една фактура за поръчка)
BillCreated=Създадени са %s фактури BillCreated=Създадени са %s фактури
StatusOfGeneratedDocuments=Статус на генерираните документи StatusOfGeneratedDocuments=Статус на генерираните документи
DoNotGenerateDoc=Не генерирайте файл за документа DoNotGenerateDoc=Не генерирайте файл за документа

View File

@ -1,5 +1,5 @@
BlockedLog=Unalterable Logs BlockedLog=Unalterable Logs
Field=Област Field=Поле
BlockedLogDesc=This module tracks some events into an unalterable log (that you can't modify once recorded) into a block chain, in real time. This module provides compatibility with requirements of laws of some countries (like France with the law Finance 2016 - Norme NF525). BlockedLogDesc=This module tracks some events into an unalterable log (that you can't modify once recorded) into a block chain, in real time. This module provides compatibility with requirements of laws of some countries (like France with the law Finance 2016 - Norme NF525).
Fingerprints=Archived events and fingerprints Fingerprints=Archived events and fingerprints
FingerprintsDesc=This is the tool to browse or extract the unalterable logs. Unalterable logs are generated and archived locally into a dedicated table, in real time when you record a business event. You can use this tool to export this archive and save it into an external support (some countries, like France, ask that you do it every year). Note that, there is no feature to purge this log and every change tried to be done directly into this log (by a hacker for example) will be reported with a non-valid fingerprint. If you really need to purge this table because you used your application for a demo/test purpose and want to clean your data to start your production, you can ask your reseller or integrator to reset your database (all your data will be removed). FingerprintsDesc=This is the tool to browse or extract the unalterable logs. Unalterable logs are generated and archived locally into a dedicated table, in real time when you record a business event. You can use this tool to export this archive and save it into an external support (some countries, like France, ask that you do it every year). Note that, there is no feature to purge this log and every change tried to be done directly into this log (by a hacker for example) will be reported with a non-valid fingerprint. If you really need to purge this table because you used your application for a demo/test purpose and want to clean your data to start your production, you can ask your reseller or integrator to reset your database (all your data will be removed).

View File

@ -9,26 +9,26 @@ BoxLastCustomerBills=Последни фактури за продажба
BoxOldestUnpaidCustomerBills=Най-стари неплатени фактури за продажба BoxOldestUnpaidCustomerBills=Най-стари неплатени фактури за продажба
BoxOldestUnpaidSupplierBills=Най-стари неплатени фактури за доставка BoxOldestUnpaidSupplierBills=Най-стари неплатени фактури за доставка
BoxLastProposals=Последни търговски предложения BoxLastProposals=Последни търговски предложения
BoxLastProspects=Последно променени перспективи BoxLastProspects=Последно променени потенциални клиенти
BoxLastCustomers=Последно променени клиенти BoxLastCustomers=Последно променени клиенти
BoxLastSuppliers=Последно променени доставчици BoxLastSuppliers=Последно променени доставчици
BoxLastCustomerOrders=Последни клиентски поръчки BoxLastCustomerOrders=Последни поръчки за продажба
BoxLastActions=Последни действия BoxLastActions=Последни действия
BoxLastContracts=Последни договори BoxLastContracts=Последни договори
BoxLastContacts=Последни контакти / адреси BoxLastContacts=Последни контакти / адреси
BoxLastMembers=Последни членове BoxLastMembers=Последни членове
BoxFicheInter=Последни интервенции BoxFicheInter=Последни интервенции
BoxCurrentAccounts=Баланс по открити сметки BoxCurrentAccounts=Баланс по открити сметки
BoxTitleLastRssInfos=Новини: %s последни от %s BoxTitleLastRssInfos=Новини: %s последни от %s
BoxTitleLastProducts=Продукти / Услуги: %s последно променени BoxTitleLastProducts=Продукти / Услуги: %s последно променени
BoxTitleProductsAlertStock=Продукти: сигнали за наличност BoxTitleProductsAlertStock=Продукти: сигнали за наличност
BoxTitleLastSuppliers=Доставчици: %s последно записани BoxTitleLastSuppliers=Доставчици: %s последно добавени
BoxTitleLastModifiedSuppliers=Доставчици: %sпоследно променени BoxTitleLastModifiedSuppliers=Доставчици: %sпоследно променени
BoxTitleLastModifiedCustomers=Клиенти: %s последно променени BoxTitleLastModifiedCustomers=Клиенти: %s последно променени
BoxTitleLastCustomersOrProspects=Клиенти или Перспективи: %s последно добавени BoxTitleLastCustomersOrProspects=Клиенти или потенциални клиенти: %s последно добавени
BoxTitleLastCustomerBills=Фактури за продажба: %s последно добавени BoxTitleLastCustomerBills=Фактури за продажба: %s последно добавени
BoxTitleLastSupplierBills=Фактури за доставка: %s последно добавени BoxTitleLastSupplierBills=Фактури за доставка: %s последно добавени
BoxTitleLastModifiedProspects=Перспективи: %s последно променени BoxTitleLastModifiedProspects=Потенциални клиенти: %s последно променени
BoxTitleLastModifiedMembers=Членове: %s последно добавени BoxTitleLastModifiedMembers=Членове: %s последно добавени
BoxTitleLastFicheInter=Интервенции: %s последно променени BoxTitleLastFicheInter=Интервенции: %s последно променени
BoxTitleOldestUnpaidCustomerBills=Фактури за продажба: %s най-стари неплатени BoxTitleOldestUnpaidCustomerBills=Фактури за продажба: %s най-стари неплатени
@ -36,50 +36,50 @@ BoxTitleOldestUnpaidSupplierBills=Фактури за доставка: %s на
BoxTitleCurrentAccounts=Отворени сметки: баланси BoxTitleCurrentAccounts=Отворени сметки: баланси
BoxTitleLastModifiedContacts=Контакти / Адреси: %s последно променени BoxTitleLastModifiedContacts=Контакти / Адреси: %s последно променени
BoxMyLastBookmarks=Отметки: %s последни BoxMyLastBookmarks=Отметки: %s последни
BoxOldestExpiredServices=Най-старите действащи изтекли услуги BoxOldestExpiredServices=Най-стари изтекли активни услуги
BoxLastExpiredServices=Договори: %s най-стари договори с активни изтичащи услуги BoxLastExpiredServices=Договори: %s най-стари договори с активни изтекли услуги
BoxTitleLastActionsToDo=Действия за извършване: %s последни BoxTitleLastActionsToDo=Действия за извършване: %s последни
BoxTitleLastContracts=Договори: %s последно променени BoxTitleLastContracts=Договори: %s последно променени
BoxTitleLastModifiedDonations=Дарения: %s последно променени BoxTitleLastModifiedDonations=Дарения: %s последно променени
BoxTitleLastModifiedExpenses=Разходни отчети: %s последно променени BoxTitleLastModifiedExpenses=Разходни отчети: %s последно променени
BoxGlobalActivity=Обща активност (фактури, предложения, поръчки) BoxGlobalActivity=Глобална дейност (фактури, предложения, поръчки)
BoxGoodCustomers=Добри клиенти BoxGoodCustomers=Добри клиенти
BoxTitleGoodCustomers=%s Добри клиенти BoxTitleGoodCustomers=%s Добри клиенти
FailedToRefreshDataInfoNotUpToDate=Неуспешно опресняване на RSS поток. Последното успешно опресняване е на дата: %s FailedToRefreshDataInfoNotUpToDate=Неуспешно опресняване на RSS поток. Последното успешно опресняване е на дата: %s
LastRefreshDate=Последна дата на опресняване LastRefreshDate=Последна дата на опресняване
NoRecordedBookmarks=Няма дефинирани отметки. NoRecordedBookmarks=Не са дефинирани отметки
ClickToAdd=Щракнете тук, за да добавите. ClickToAdd=Кликнете тук, за да добавите.
NoRecordedCustomers=Няма записани клиенти NoRecordedCustomers=Няма регистрирани клиенти
NoRecordedContacts=Няма записани контакти NoRecordedContacts=Няма регистрирани контакти
NoActionsToDo=Няма дейности за вършене NoActionsToDo=Няма дейности за извършване
NoRecordedOrders=Няма регистрирани клиентски поръчки NoRecordedOrders=Няма регистрирани поръчки за продажба
NoRecordedProposals=Няма записани предложения NoRecordedProposals=Няма регистрирани предложения
NoRecordedInvoices=Няма регистрирани фактури за продажба NoRecordedInvoices=Няма регистрирани фактури за продажба
NoUnpaidCustomerBills=Няма регистрирани неплатени фактури за продажба NoUnpaidCustomerBills=Няма регистрирани неплатени фактури за продажба
NoUnpaidSupplierBills=Няма регистрирани неплатени фактури за доставка NoUnpaidSupplierBills=Няма регистрирани неплатени фактури за доставка
NoModifiedSupplierBills=Няма регистрирани фактури за доставка NoModifiedSupplierBills=Няма регистрирани фактури за доставка
NoRecordedProducts=Няма регистрирани продукти / услуги NoRecordedProducts=Няма регистрирани продукти / услуги
NoRecordedProspects=Няма регистрирани перспективи NoRecordedProspects=Няма регистрирани потенциални клиенти
NoContractedProducts=Няма договорени продукти / услуги NoContractedProducts=Няма договорени продукти / услуги
NoRecordedContracts=Няма регистрирани договори NoRecordedContracts=Няма регистрирани договори
NoRecordedInterventions=Няма записани намеси NoRecordedInterventions=Няма регистрирани интервенции
BoxLatestSupplierOrders=Последни поръчки за покупка BoxLatestSupplierOrders=Последни поръчки за покупка
NoSupplierOrder=Няма регистрирани поръчка за покупка NoSupplierOrder=Няма регистрирани поръчка за покупка
BoxCustomersInvoicesPerMonth=Фактури клиенти по месец BoxCustomersInvoicesPerMonth=Фактури за продажба на месец
BoxSuppliersInvoicesPerMonth=Фактури за доставка на месец BoxSuppliersInvoicesPerMonth=Фактури за доставка на месец
BoxCustomersOrdersPerMonth=Клиентски поръчки на месец BoxCustomersOrdersPerMonth=Поръчки за продажби на месец
BoxSuppliersOrdersPerMonth=Поръчки за покупка на месец BoxSuppliersOrdersPerMonth=Поръчки за покупка на месец
BoxProposalsPerMonth=Предложения за месец BoxProposalsPerMonth=Търговски предложения за месец
NoTooLowStockProducts=Няма продукт в наличност под желания минимум NoTooLowStockProducts=Няма продукти в наличност, които да са под желания минимум.
BoxProductDistribution=Дистрибуция на продукти / услуги BoxProductDistribution=Дистрибуция на продукти / услуги
ForObject=На %s ForObject=На %s
BoxTitleLastModifiedSupplierBills=Фактури за доставка: %s последно променени BoxTitleLastModifiedSupplierBills=Фактури за доставка: %s последно променени
BoxTitleLatestModifiedSupplierOrders=Поръчки за покупка: %s последно променени BoxTitleLatestModifiedSupplierOrders=Поръчки за покупка: %s последно променени
BoxTitleLastModifiedCustomerBills=Фактури за продажба: %s последно променени BoxTitleLastModifiedCustomerBills=Фактури за продажба: %s последно променени
BoxTitleLastModifiedCustomerOrders=Клиентски поръчки: %s последно променени BoxTitleLastModifiedCustomerOrders=Поръчки за продажба: %s последно променени
BoxTitleLastModifiedPropals=Търговски предложения: %s последно променени BoxTitleLastModifiedPropals=Търговски предложения: %s последно променени
ForCustomersInvoices=Клиента фактури ForCustomersInvoices=Фактури за продажба
ForCustomersOrders=Клиентски поръчки ForCustomersOrders=Поръчки на продажба
ForProposals=Предложения ForProposals=Предложения
LastXMonthRolling=Подвижни месеци: %s последно изтекли LastXMonthRolling=Подвижни месеци: %s последно изтекли
ChooseBoxToAdd=Добавяне на джаджа към таблото ChooseBoxToAdd=Добавяне на джаджа към таблото

View File

@ -34,7 +34,7 @@ UserNeedPermissionToEditStockToUsePos=Искате да намалите нал
DolibarrReceiptPrinter=Dolibarr принтер за квитанции DolibarrReceiptPrinter=Dolibarr принтер за квитанции
PointOfSale=Точка на продажба PointOfSale=Точка на продажба
PointOfSaleShort=POS PointOfSaleShort=POS
CloseBill=Затваряне на сметка CloseBill=Приключване на сметка
Floors=Floors Floors=Floors
Floor=Floor Floor=Floor
AddTable=Добавяне на таблица AddTable=Добавяне на таблица
@ -63,7 +63,7 @@ AutoPrintTickets=Автоматично отпечатване на билети
EnableBarOrRestaurantFeatures=Включете функции за бар или ресторант EnableBarOrRestaurantFeatures=Включете функции за бар или ресторант
ConfirmDeletionOfThisPOSSale=Потвърждавате ли изтриването на настоящата продажба? ConfirmDeletionOfThisPOSSale=Потвърждавате ли изтриването на настоящата продажба?
History=История History=История
ValidateAndClose=Валидиране и затваряне ValidateAndClose=Валидиране и приключване
Terminal=Терминал Terminal=Терминал
NumberOfTerminals=Брой терминали NumberOfTerminals=Брой терминали
TerminalSelect=Изберете терминал, който искате да използвате: TerminalSelect=Изберете терминал, който искате да използвате:

View File

@ -1,31 +1,31 @@
# Dolibarr language file - Source file is en_US - companies # Dolibarr language file - Source file is en_US - companies
ErrorCompanyNameAlreadyExists=Името на фирмата %s вече съществува. Изберете друго. ErrorCompanyNameAlreadyExists=Името на фирмата %s вече съществува. Изберете друго.
ErrorSetACountryFirst=Първо задайте държава ErrorSetACountryFirst=Първо изберете държава
SelectThirdParty=Изберете контрагент SelectThirdParty=Изберете контрагент
ConfirmDeleteCompany=Сигурни ли сте че искате да изтриете тази компания и цялата наследена информация? ConfirmDeleteCompany=Сигурни ли сте че искате да изтриете тази компания и цялата наследена информация?
DeleteContact=Изтриване на контакт/адрес DeleteContact=Изтриване на контакт / адрес
ConfirmDeleteContact=Сигурни ли сте че искате да изтриете този контакт и цялата наследена информация? ConfirmDeleteContact=Сигурни ли сте че искате да изтриете този контакт и цялата наследена информация?
MenuNewThirdParty=Нов контрагент MenuNewThirdParty=Нов контрагент
MenuNewCustomer=Нов клиент MenuNewCustomer=Нов клиент
MenuNewProspect=Нова перспектива MenuNewProspect=Нов потенциален клиент
MenuNewSupplier=Нов доставчик MenuNewSupplier=Нов доставчик
MenuNewPrivateIndividual=Ново физическо лице MenuNewPrivateIndividual=Ново физическо лице
NewCompany=Нова фирма (перспектива, клиент, доставчик) NewCompany=Нова фирма (потенциален клиент, клиент, доставчик)
NewThirdParty=Нов контрагент (перспектива, клиент, доставчик) NewThirdParty=Нов контрагент (потенциален клиент, клиент, доставчик)
CreateDolibarrThirdPartySupplier=Създаване на контрагент (доставчик) CreateDolibarrThirdPartySupplier=Създаване на контрагент (доставчик)
CreateThirdPartyOnly=Създаване контрагент CreateThirdPartyOnly=Създаване на контрагент
CreateThirdPartyAndContact=Създаване на контрагент + свързан контакт CreateThirdPartyAndContact=Създаване на контрагент + свързан контакт
ProspectionArea=Област потенциални ProspectionArea=Секция за потенциални клиенти
IdThirdParty=ID на контрагент IdThirdParty=Идентификатор на контрагент
IdCompany=ID на фирма IdCompany=Идентификатор на фирма
IdContact=ID на контакт IdContact=Идентификатор на контакт
Contacts=Контакти/Адреси Contacts=Контакти / Адреси
ThirdPartyContacts=Контакти на контрагента ThirdPartyContacts=Контакти на контрагента
ThirdPartyContact=Контакт / Адрес на контрагента ThirdPartyContact=Контакт / Адрес на контрагента
Company=Фирма Company=Фирма
CompanyName=Име на фирмата CompanyName=Име на фирма
AliasNames=Друго име (търговско, марка, ...) AliasNames=Друго име (търговско, марка, ...)
AliasNameShort=Псевдоним AliasNameShort=Друго име
Companies=Фирми Companies=Фирми
CountryIsInEEC=Държавата е в рамките на Европейската икономическа общност CountryIsInEEC=Държавата е в рамките на Европейската икономическа общност
PriceFormatInCurrentLanguage=Формат за показване на цената в текущия език и валута PriceFormatInCurrentLanguage=Формат за показване на цената в текущия език и валута
@ -33,44 +33,44 @@ ThirdPartyName=Име на контрагент
ThirdPartyEmail=Имейл на контрагент ThirdPartyEmail=Имейл на контрагент
ThirdParty=Контрагент ThirdParty=Контрагент
ThirdParties=Контрагенти ThirdParties=Контрагенти
ThirdPartyProspects=Потенциални ThirdPartyProspects=Потенциални клиенти
ThirdPartyProspectsStats=Потенциални ThirdPartyProspectsStats=Потенциални клиенти
ThirdPartyCustomers=Клиенти ThirdPartyCustomers=Клиенти
ThirdPartyCustomersStats=Клиенти ThirdPartyCustomersStats=Клиенти
ThirdPartyCustomersWithIdProf12=Клиентите с %s или %s ThirdPartyCustomersWithIdProf12=Клиенти с %s или %s
ThirdPartySuppliers=Доставчици ThirdPartySuppliers=Доставчици
ThirdPartyType=Вид на контрагента ThirdPartyType=Вид на контрагента
Individual=Частно лице Individual=Физическо лице
ToCreateContactWithSameName=Автоматично ще създаде контакт / адрес със същата информация като в контрагента. В повечето случаи, дори ако вашия контрагент е частно лице, е достатъчно да създадете само контрагент. ToCreateContactWithSameName=Автоматично ще създаде контакт / адрес със същата информация като в контрагента. В повечето случаи, дори ако вашия контрагент е частно лице, е достатъчно да създадете само контрагент.
ParentCompany=Фирма майка ParentCompany=Фирма майка
Subsidiaries=Филиали Subsidiaries=Дъщерни дружества
ReportByMonth=Отчет по месец ReportByMonth=Справка по месеци
ReportByCustomers=Отчет по клиент ReportByCustomers=Справка по клиенти
ReportByQuarter=Отчет по оценка ReportByQuarter=Справка по ставки
CivilityCode=Граждански код CivilityCode=Код на обръщение
RegisteredOffice=Седалище RegisteredOffice=Седалище
Lastname=Фамилия Lastname=Фамилия
Firstname=Собствено име Firstname=Собствено име
PostOrFunction=Длъжност PostOrFunction=Длъжност
UserTitle=Звание UserTitle=Обръщение
NatureOfThirdParty=Същност контрагента NatureOfThirdParty=Произход на контрагента
Address=Адрес Address=Адрес
State=Област State=Област
StateShort=Състояние StateShort=Област
Region=Регион Region=Регион
Region-State=Регион - Щат Region-State=Регион - Област
Country=Държава Country=Държава
CountryCode=Код на държавата CountryCode=Код на държава
CountryId=ID на държава CountryId=Идентификатор на държава
Phone=Телефон Phone=Телефон
PhoneShort=Тел. PhoneShort=Тел.
Skype=Скайп Skype=Скайп
Call=Повикай Call=Позвъни на
Chat=Чат Chat=Чат с
PhonePro=Сл. телефон PhonePro=Сл. телефон
PhonePerso=Дом. телефон PhonePerso=Дом. телефон
PhoneMobile=Моб. телефон PhoneMobile=Моб. телефон
No_Email=Отказване от масови имейли No_Email=Отхвърляне на масови имейли
Fax=Факс Fax=Факс
Zip=Пощенски код Zip=Пощенски код
Town=Град Town=Град
@ -80,9 +80,9 @@ DefaultLang=Език по подразбиране
VATIsUsed=Използване на ДДС VATIsUsed=Използване на ДДС
VATIsUsedWhenSelling=Това определя дали този контрагент включва ДДС или не, когато фактурира на своите собствени клиенти VATIsUsedWhenSelling=Това определя дали този контрагент включва ДДС или не, когато фактурира на своите собствени клиенти
VATIsNotUsed=Не използва ДДС VATIsNotUsed=Не използва ДДС
CopyAddressFromSoc=Копирай адреса от детайлите на контрагента CopyAddressFromSoc=Копиране на адрес на контрагент
ThirdpartyNotCustomerNotSupplierSoNoRef=Контрагента не е нито клиент, нито доставчик, няма налични свързани обекти ThirdpartyNotCustomerNotSupplierSoNoRef=Контрагента не е нито клиент, нито доставчик и няма налични свързани обекти
ThirdpartyIsNeitherCustomerNorClientSoCannotHaveDiscounts=Контрагента не е нито клиент, нито доставчик, няма възможност за отстъпки ThirdpartyIsNeitherCustomerNorClientSoCannotHaveDiscounts=Контрагента не е нито клиент, нито доставчик и няма възможност за отстъпки
PaymentBankAccount=Разплащателна банкова сметка PaymentBankAccount=Разплащателна банкова сметка
OverAllProposals=Предложения OverAllProposals=Предложения
OverAllOrders=Поръчки OverAllOrders=Поръчки
@ -99,7 +99,7 @@ LocalTax1ES=RE
LocalTax2ES=IRPF LocalTax2ES=IRPF
WrongCustomerCode=Невалиден код на клиент WrongCustomerCode=Невалиден код на клиент
WrongSupplierCode=Невалиден код на доставчик WrongSupplierCode=Невалиден код на доставчик
CustomerCodeModel=Образец на код на клиент CustomerCodeModel=Модел за код на клиент
SupplierCodeModel=Модел за код на доставчик SupplierCodeModel=Модел за код на доставчик
Gencod=Баркод Gencod=Баркод
##### Professional ID ##### ##### Professional ID #####
@ -115,8 +115,8 @@ ProfId3=Професионален ID 3
ProfId4=Професионален ID 4 ProfId4=Професионален ID 4
ProfId5=Професионален ID 5 ProfId5=Професионален ID 5
ProfId6=Професионален ID 6 ProfId6=Професионален ID 6
ProfId1AR=Проф. Id 1 (CUIT/CUIL) ProfId1AR=Проф. номер 1 (CUIT/CUIL)
ProfId2AR=Проф. Id 2 (доход бруто) ProfId2AR=Проф. номер 2 (доход бруто)
ProfId3AR=- ProfId3AR=-
ProfId4AR=- ProfId4AR=-
ProfId5AR=- ProfId5AR=-
@ -200,7 +200,7 @@ ProfId4IN=Prof Id 4
ProfId5IN=Prof Id 5 ProfId5IN=Prof Id 5
ProfId6IN=- ProfId6IN=-
ProfId1LU=Id. prof. 1 (R.C.S. Luxembourg) ProfId1LU=Id. prof. 1 (R.C.S. Luxembourg)
ProfId2LU=Id. prof. 2 (Бизнес разрешение) ProfId2LU=Id. prof. 2 (Business permit)
ProfId3LU=- ProfId3LU=-
ProfId4LU=- ProfId4LU=-
ProfId5LU=- ProfId5LU=-
@ -209,7 +209,7 @@ ProfId1MA=Id prof. 1 (R.C.)
ProfId2MA=Id prof. 2 (Patente) ProfId2MA=Id prof. 2 (Patente)
ProfId3MA=Id prof. 3 (I.F.) ProfId3MA=Id prof. 3 (I.F.)
ProfId4MA=Id prof. 4 (C.N.S.S.) ProfId4MA=Id prof. 4 (C.N.S.S.)
ProfId5MA=Ид. проф. 5 5 (Общ идентификационен номер на фирмата) ProfId5MA=Id. prof. 5 (I.C.E.)
ProfId6MA=- ProfId6MA=-
ProfId1MX=Prof Id 1 (R.F.C). ProfId1MX=Prof Id 1 (R.F.C).
ProfId2MX=Prof Id 2 (R..P. IMSS) ProfId2MX=Prof Id 2 (R..P. IMSS)
@ -261,25 +261,25 @@ VATIntra=Идент. номер по ДДС
VATIntraShort=ДДС № VATIntraShort=ДДС №
VATIntraSyntaxIsValid=Синтаксиса е валиден VATIntraSyntaxIsValid=Синтаксиса е валиден
VATReturn=ДДС декларация VATReturn=ДДС декларация
ProspectCustomer=Потенциален / Клиент ProspectCustomer=Потенциален клиент / Клиент
Prospect=Потенциален Prospect=Потенциален клиент
CustomerCard=Клиентска карта CustomerCard=Клиентска карта
Customer=Клиент Customer=Клиент
CustomerRelativeDiscount=Относителна клиентска отстъпка CustomerRelativeDiscount=Относителна клиентска отстъпка
SupplierRelativeDiscount=Относителна отстъпка от доставчика SupplierRelativeDiscount=Относителна отстъпка от доставчик
CustomerRelativeDiscountShort=Относителна отстъпка CustomerRelativeDiscountShort=Относителна отстъпка
CustomerAbsoluteDiscountShort=Абсолютна отстъпка CustomerAbsoluteDiscountShort=Абсолютна отстъпка
CompanyHasRelativeDiscount=Този клиент има по подразбиране отстъпка <b>%s%%</b> CompanyHasRelativeDiscount=Този клиент има отстъпка по подразбиране в размер на <b>%s%%</b>
CompanyHasNoRelativeDiscount=Този клиент няма относителна отстъпка по подразбиране CompanyHasNoRelativeDiscount=Този клиент няма относителна отстъпка по подразбиране
HasRelativeDiscountFromSupplier=Имате отстъпка по подразбиране от<b> %s%% </b> от този доставчик HasRelativeDiscountFromSupplier=Имате отстъпка по подразбиране от<b> %s%% </b> от този доставчик
HasNoRelativeDiscountFromSupplier=Нямате относителна отстъпка по подразбиране от този доставчик HasNoRelativeDiscountFromSupplier=Нямате относителна отстъпка по подразбиране от този доставчик
CompanyHasAbsoluteDiscount=Този клиент има налични отстъпки (кредитни известия или авансови плащания) за <b> %s </b> %s CompanyHasAbsoluteDiscount=Този клиент има налични отстъпки (кредитни известия или авансови плащания) за <b> %s </b> %s
CompanyHasDownPaymentOrCommercialDiscount=Този клиент има налични отстъпки (търговски предложения, авансови плащания) за <b> %s </b> %s CompanyHasDownPaymentOrCommercialDiscount=Този клиент има налични отстъпки (търговски предложения, авансови плащания) за <b> %s </b> %s
CompanyHasCreditNote=Този клиент все още има кредити за <b>%s</b> %s CompanyHasCreditNote=Този клиент все още има кредитни известия в размер на <b>%s</b> %s
HasNoAbsoluteDiscountFromSupplier=Нямате наличен отстъпка от този доставчик HasNoAbsoluteDiscountFromSupplier=Нямате налична отстъпка от този доставчик
HasAbsoluteDiscountFromSupplier=Имате налични отстъпки (кредитно известие или авансови плащания) за <b> %s </b> %s от този доставчик HasAbsoluteDiscountFromSupplier=Имате налични отстъпки (кредитно известие или авансови плащания) за <b> %s </b> %s от този доставчик
HasDownPaymentOrCommercialDiscountFromSupplier=Имате налични отстъпки (търговски предложения, авансови плащания) за <b> %s </b> %s от този доставчик HasDownPaymentOrCommercialDiscountFromSupplier=Имате налични отстъпки (търговски предложения, авансови плащания) за <b> %s </b> %s от този доставчик
HasCreditNoteFromSupplier=Имате кредитно известия за <b> %s </b> от %s този доставчик HasCreditNoteFromSupplier=Имате кредитни известия за <b> %s </b> %s от този доставчик
CompanyHasNoAbsoluteDiscount=Този клиент не разполага с наличен кредит за отстъпка CompanyHasNoAbsoluteDiscount=Този клиент не разполага с наличен кредит за отстъпка
CustomerAbsoluteDiscountAllUsers=Абсолютни клиентски отстъпки (предоставени от всички потребители) CustomerAbsoluteDiscountAllUsers=Абсолютни клиентски отстъпки (предоставени от всички потребители)
CustomerAbsoluteDiscountMy=Абсолютни клиентски отстъпки (предоставена от вас) CustomerAbsoluteDiscountMy=Абсолютни клиентски отстъпки (предоставена от вас)
@ -288,18 +288,18 @@ SupplierAbsoluteDiscountMy=Абсолютни отстъпки от достав
DiscountNone=Няма DiscountNone=Няма
Vendor=Доставчик Vendor=Доставчик
Supplier=Доставчик Supplier=Доставчик
AddContact=Създай контакт AddContact=Създаване на контакт
AddContactAddress=Създй контакт/адрес AddContactAddress=Създаване на контакт / адрес
EditContact=Редактиране на контакт EditContact=Променяне на контакт
EditContactAddress=Редактиране на контакт/адрес EditContactAddress=Променяне на контакт / адрес
Contact=Контакт Contact=Контакт
ContactId=Контакт ContactId=Идентификатор на контакт
ContactsAddresses=Контакти/Адреси ContactsAddresses=Контакти / Адреси
FromContactName=Име: FromContactName=Име:
NoContactDefinedForThirdParty=Няма зададен контакт за тази контрагент NoContactDefinedForThirdParty=Няма дефиниран контакт за този контрагент
NoContactDefined=Няма зададен контакт NoContactDefined=Няма дефиниран контакт
DefaultContact=Контакт/адрес по подразбиране DefaultContact=Контакт / адрес по подразбиране
AddThirdParty=Създаване контрагент AddThirdParty=Създаване на контрагент
DeleteACompany=Изтриване на фирма DeleteACompany=Изтриване на фирма
PersonalInformations=Лични данни PersonalInformations=Лични данни
AccountancyCode=Счетоводна сметка AccountancyCode=Счетоводна сметка
@ -309,92 +309,92 @@ CustomerCodeShort=Код на клиента
SupplierCodeShort=Код на доставчика SupplierCodeShort=Код на доставчика
CustomerCodeDesc=Код на клиента, уникален за всички клиенти CustomerCodeDesc=Код на клиента, уникален за всички клиенти
SupplierCodeDesc=Код на доставчика, уникален за всички доставчици SupplierCodeDesc=Код на доставчика, уникален за всички доставчици
RequiredIfCustomer=Изисква се, ако контрагентът е клиент или потенциален RequiredIfCustomer=Изисква се, ако контрагентът е клиент или потенциален клиент
RequiredIfSupplier=Изисква се, ако контрагента е доставчик RequiredIfSupplier=Изисква се, ако контрагента е доставчик
ValidityControledByModule=Валидност, контролирана от модул ValidityControledByModule=Валидност, контролирана от модул
ThisIsModuleRules=Правила за този модул ThisIsModuleRules=Правила за този модул
ProspectToContact=Потенциален за контакт ProspectToContact=Потенциален клиент за контакт
CompanyDeleted=Фирма "%s" е изтрита от базата данни. CompanyDeleted=Фирма "%s" е изтрита от базата данни.
ListOfContacts=Списък на контакти/адреси ListOfContacts=Списък на контакти / адреси
ListOfContactsAddresses=Списък на контакти / адреси ListOfContactsAddresses=Списък на контакти / адреси
ListOfThirdParties=Списък на контрагенти ListOfThirdParties=Списък на контрагенти
ShowCompany=Показване на контрагент ShowCompany=Показване на контрагент
ShowContact=Покажи контакт ShowContact=Показване на контакт
ContactsAllShort=Всички (без филтър) ContactsAllShort=Всички (без филтър)
ContactType=Тип на контакт ContactType=Тип контакт
ContactForOrders=Контакт за поръчката ContactForOrders=Контакт за поръчка
ContactForOrdersOrShipments=Контакт за поръчки или пратки ContactForOrdersOrShipments=Контакт за поръчка или доставка
ContactForProposals=Контакт за предложение ContactForProposals=Контакт за предложение
ContactForContracts=Контакт за договор ContactForContracts=Контакт за договор
ContactForInvoices=Контакт за фактура ContactForInvoices=Контакт за фактура
NoContactForAnyOrder=Този контакт не е контакт за поръчка NoContactForAnyOrder=Не е контакт за поръчка
NoContactForAnyOrderOrShipments=Този контакт не е контакт за поръчка или пратка NoContactForAnyOrderOrShipments=Не е контакт за поръчка или доставка
NoContactForAnyProposal=Този контакт не е контакт за търговско предложение NoContactForAnyProposal=Не е контакт за търговско предложение
NoContactForAnyContract=Този контакт не е контакт за договор NoContactForAnyContract=Не е контакт за договор
NoContactForAnyInvoice=Този контакт не е контакт за фактура NoContactForAnyInvoice=Не е контакт за фактура
NewContact=Нов контакт NewContact=Нов контакт
NewContactAddress=Нов контакт / адрес NewContactAddress=Нов контакт / адрес
MyContacts=Моите контакти MyContacts=Мои контакти
Capital=Капитал Capital=Капитал
CapitalOf=Столица на %s CapitalOf=Капитал от %s
EditCompany=Редактиране на фирма EditCompany=Променяне на фирма
ThisUserIsNot=Този потребител не е перспектива, нито клиент, нито доставчик ThisUserIsNot=Този потребител не е потенциален клиент, нито клиент, нито доставчик
VATIntraCheck=Проверка VATIntraCheck=Проверка
VATIntraCheckDesc=Идентификационния номер по ДДС трябва да включва префикса на държавата. Връзката <b> %s </b> използва услугата на Европейската Комисия за проверка на ДДС (VIES), която изисква достъп до интернет извън сървъра на Dolibarr. VATIntraCheckDesc=Идентификационния номер по ДДС трябва да включва префикса на държавата. Връзката <b> %s </b> използва услугата на Европейската комисия за проверка на номер по ДДС (VIES), която изисква достъп до интернет извън сървъра на Dolibarr.
VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do
VATIntraCheckableOnEUSite=Проверяване на вътрешно-общностния идентификационен номер по ДДС на интернет страницата на Европейската Комисия VATIntraCheckableOnEUSite=Проверяване на вътрешно-общностния идентификационен номер по ДДС в интернет страницата на Европейската Комисия
VATIntraManualCheck=Можете също така да проверите ръчно на интернет страницата на Европейската Комисия <a href="%s" target="_blank"> %s </a> VATIntraManualCheck=Може да проверите също така ръчно в интернет страницата на Европейската Комисия: <a href="%s" target="_blank"> %s </a>
ErrorVATCheckMS_UNAVAILABLE=Проверката не е възможнао. Услугата не се предоставя от държавата-членка (%s). ErrorVATCheckMS_UNAVAILABLE=Проверка не е възможна. Услугата за проверка не се предоставя от държавата-членка (%s).
NorProspectNorCustomer=Нито перспектива, нито клиент NorProspectNorCustomer=Нито потенциален клиент, нито клиент
JuridicalStatus=Правна форма JuridicalStatus=Правна форма
Staff=Служители Staff=Служители
ProspectLevelShort=Потенциален ProspectLevelShort=Потенциал
ProspectLevel=Потенциален ProspectLevel=Потенциал
ContactPrivate=Частен ContactPrivate=Личен
ContactPublic=Споделен ContactPublic=Споделен
ContactVisibility=Видимост ContactVisibility=Видимост
ContactOthers=Друг ContactOthers=Друг
OthersNotLinkedToThirdParty=Други, не свързани с контрагент OthersNotLinkedToThirdParty=Другите, не свързани с контрагент
ProspectStatus=Потенциален статус ProspectStatus=Статус на клиента
PL_NONE=Няма PL_NONE=Няма
PL_UNKNOWN=Неизвестен PL_UNKNOWN=Неизвестен
PL_LOW=Ниско PL_LOW=Нисък
PL_MEDIUM=Средно PL_MEDIUM=Среден
PL_HIGH=Високо PL_HIGH=Висок
TE_UNKNOWN=- TE_UNKNOWN=-
TE_STARTUP=Стартира TE_STARTUP=Стартъп
TE_GROUP=Голяма фирма TE_GROUP=Голяма фирма
TE_MEDIUM=Средно голяма фирма TE_MEDIUM=Средна фирма
TE_ADMIN=Правителствена TE_ADMIN=Правителствена
TE_SMALL=Малка фирма TE_SMALL=Малка фирма
TE_RETAIL=Търговец на дребно TE_RETAIL=Търговец на дребно
TE_WHOLE=Търговец на едро TE_WHOLE=Търговец на едро
TE_PRIVATE=Частно лице TE_PRIVATE=Физическо лице
TE_OTHER=Друг TE_OTHER=Друг
StatusProspect-1=Да не контактува StatusProspect-1=Да не се контактува
StatusProspect0=Никога не е контактувано StatusProspect0=Не е контактувано
StatusProspect1=Да се контактува StatusProspect1=Да се контактува
StatusProspect2=Контакт в процес StatusProspect2=В процес на контактуване
StatusProspect3=Контактът е направен StatusProspect3=Осъществен контакт
ChangeDoNotContact=Промяна на статуса до 'Да не контактува'; ChangeDoNotContact=Променяне на статуса на "Да не се контактува"
ChangeNeverContacted=Промяна на статуса до 'Никога не е контактувано'; ChangeNeverContacted=Променяне на статуса на "Не е контактувано"
ChangeToContact=Промяна на статуса на „Да се контактува“ ChangeToContact=Променяне на статуса на "Да се контактува"
ChangeContactInProcess=Промяна на статуса до 'Контакт в процес' ChangeContactInProcess=Променяне на статуса на "В процес на контактуване"
ChangeContactDone=Промяна на статуса до 'Да се контактува' ChangeContactDone=Променяне на статуса на "Осъществен контакт"
ProspectsByStatus=Потенциални по статус ProspectsByStatus=Потенциални клиенти по статус
NoParentCompany=Няма NoParentCompany=Няма
ExportCardToFormat=Износна карта формат ExportCardToFormat=Карта за експортиране във формат
ContactNotLinkedToCompany=Контактът не е свързан с никой контрагент ContactNotLinkedToCompany=Контактът не е свързан с нито един контрагент
DolibarrLogin=Dolibarr вход DolibarrLogin=Dolibarr потребител
NoDolibarrAccess=Няма Dolibarr достъп NoDolibarrAccess=Няма достъп до Dolibarr
ExportDataset_company_1=Контрагенти (фирми / фондации / частни лица) и техните характеристики ExportDataset_company_1=Контрагенти (фирми / фондации / физически лица) и техните характеристики
ExportDataset_company_2=Контакти и техните характеристики ExportDataset_company_2=Контакти и техните характеристики
ImportDataset_company_1=Контрагенти и техните характеристики ImportDataset_company_1=Контрагенти и техните характеристики
ImportDataset_company_2=Допълнителни контакти / адреси и атрибути към контрагента ImportDataset_company_2=Допълнителни контакти / адреси и атрибути към контрагента
ImportDataset_company_3=Банкови сметки на контрагентите ImportDataset_company_3=Банкови сметки на контрагенти
ImportDataset_company_4=Търговски представители на контрагента (назначени търговски представители / потребители на към фирмите) ImportDataset_company_4=Търговски представители за контрагента (назначени търговски представители / потребители към фирмите)
PriceLevel=Ценово ниво PriceLevel=Ценово ниво
PriceLevelLabels=Имена на ценовите нива PriceLevelLabels=Етикети на ценови нива
DeliveryAddress=Адрес за доставка DeliveryAddress=Адрес за доставка
AddAddress=Добавяне на адрес AddAddress=Добавяне на адрес
SupplierCategory=Категория на доставчика SupplierCategory=Категория на доставчика
@ -404,31 +404,31 @@ ConfirmDeleteFile=Сигурен ли сте, че искате да изтри
AllocateCommercial=Назначен търговски представител AllocateCommercial=Назначен търговски представител
Organization=Организация Organization=Организация
FiscalYearInformation=Фискална година FiscalYearInformation=Фискална година
FiscalMonthStart=Начален месец на фискалната година FiscalMonthStart=Начален месец на фискална година
YouMustAssignUserMailFirst=Трябва да създадете имейл за този потребител, преди да можете да добавите известие по имейл. YouMustAssignUserMailFirst=Трябва да създадете имейл за този потребител, преди да може да добавите известие по имейл.
YouMustCreateContactFirst=За да можете да добавяте известия по имейл, първо трябва да определите контакти с валидни имейли за контрагента YouMustCreateContactFirst=За да може да добавяте известия по имейл, първо трябва да определите контакти с валидни имейли за контрагента
ListSuppliersShort=Списък на доставчиците ListSuppliersShort=Списък на доставчици
ListProspectsShort=Списък на перспективите ListProspectsShort=Списък на потенциални клиенти
ListCustomersShort=Списък на клиентите ListCustomersShort=Списък на клиенти
ThirdPartiesArea=Контрагенти / контакти ThirdPartiesArea=Контрагенти / контакти
LastModifiedThirdParties=Контрагенти: %s последно променени LastModifiedThirdParties=Контрагенти: %s последно променени
UniqueThirdParties=Общ брой контрагенти UniqueThirdParties=Общ брой контрагенти
InActivity=Отворен InActivity=Отворен
ActivityCeased=Затворен ActivityCeased=Затворен
ThirdPartyIsClosed=Контрагента е затворен ThirdPartyIsClosed=Контрагента е затворен
ProductsIntoElements=Списък на продуктите/услугите в %s ProductsIntoElements=Списък на продукти / услуги в %s
CurrentOutstandingBill=Текуща висяща сметка CurrentOutstandingBill=Текуща неизплатена сметка
OutstandingBill=Макс. за висяща сметка OutstandingBill=Максимална неизплатена сметка
OutstandingBillReached=Максималния кредитен лимит е достигнат OutstandingBillReached=Достигнат е максимумът за неизплатена сметка
OrderMinAmount=Минимално количество за поръчка OrderMinAmount=Минимално количество за поръчка
MonkeyNumRefModelDesc=Генерира номер с формат %sYYMM-NNNN за код на клиент и %sYYMM-NNNN за код на доставчик, където YY е година, MM е месецa, а NNNN е поредица без прекъсване и без връщане към 0. MonkeyNumRefModelDesc=Генерира номер с формат %syymm-nnnn за код на клиент и %syymm-nnnn за код на доставчик, където yy е година, mm е месецa, а nnnn е поредица без прекъсване и без връщане към 0.
LeopardNumRefModelDesc=Кодът е безплатен. Този код може да бъде променен по всяко време. LeopardNumRefModelDesc=Кодът е свободен. Този код може да бъде променян по всяко време.
ManagingDirectors=Име на управител(и) (гл. изп. директор, директор, президент...) ManagingDirectors=Име на управител (изпълнителен директор, директор, президент...)
MergeOriginThirdparty=Дублиращ контрагент (контрагентът, който искате да изтриете) MergeOriginThirdparty=Дублиращ контрагент (контрагентът, който искате да изтриете)
MergeThirdparties=Сливане на контрагенти MergeThirdparties=Обединяване на контрагенти
ConfirmMergeThirdparties=Сигурни ли сте, че искате да обедините този контрагент с текущия? Всички свързани обекти (фактури, поръчки, ...) ще бъдат преместени в текущия контрагент, след което контрагента ще бъде изтрит. ConfirmMergeThirdparties=Сигурни ли сте, че искате да обедините този контрагент с текущия? Всички свързани обекти (фактури, поръчки, ...) ще бъдат преместени в текущия контрагент, след което контрагента ще бъде изтрит.
ThirdpartiesMergeSuccess=Контрагентите са обединени ThirdpartiesMergeSuccess=Контрагентите са обединени
SaleRepresentativeLogin=Входна информация за търговския представител SaleRepresentativeLogin=Входна информация за търговски представител
SaleRepresentativeFirstname=Собствено име на търговския представител SaleRepresentativeFirstname=Собствено име на търговския представител
SaleRepresentativeLastname=Фамилия на търговския представител SaleRepresentativeLastname=Фамилия на търговския представител
ErrorThirdpartiesMerge=При изтриването на контрагента възникна грешка. Моля, проверете историята. Промените са отменени. ErrorThirdpartiesMerge=При изтриването на контрагента възникна грешка. Моля, проверете историята. Промените са отменени.

View File

@ -2,7 +2,7 @@
ContractsArea=Секция за договори ContractsArea=Секция за договори
ListOfContracts=Списък на договори ListOfContracts=Списък на договори
AllContracts=Всички договори AllContracts=Всички договори
ContractCard=Карта ContractCard=Договор
ContractStatusNotRunning=Не се изпълнява ContractStatusNotRunning=Не се изпълнява
ContractStatusDraft=Чернова ContractStatusDraft=Чернова
ContractStatusValidated=Валидиран ContractStatusValidated=Валидиран

View File

@ -1,7 +1,7 @@
# Dolibarr language file - Source file is en_US - donations # Dolibarr language file - Source file is en_US - donations
Donation=Дарение Donation=Дарение
Donations=Дарения Donations=Дарения
DonationRef=Дарение DonationRef=Реф. дарение
Donor=Дарител Donor=Дарител
AddDonation=Създаване на дарение AddDonation=Създаване на дарение
NewDonation=Ново дарение NewDonation=Ново дарение
@ -9,26 +9,26 @@ DeleteADonation=Изтриване на дарение
ConfirmDeleteADonation=Сигурни ли сте, че искате да изтриете това дарение? ConfirmDeleteADonation=Сигурни ли сте, че искате да изтриете това дарение?
ShowDonation=Показване на дарение ShowDonation=Показване на дарение
PublicDonation=Публично дарение PublicDonation=Публично дарение
DonationsArea=Дарения DonationsArea=Секция за дарения
DonationStatusPromiseNotValidated=Обещано дарение DonationStatusPromiseNotValidated=Чернова
DonationStatusPromiseValidated=Потвърдено дарение DonationStatusPromiseValidated=Валидирано
DonationStatusPaid=Получено дарение DonationStatusPaid=Получено
DonationStatusPromiseNotValidatedShort=Проект DonationStatusPromiseNotValidatedShort=Чернова
DonationStatusPromiseValidatedShort=Потвърдено DonationStatusPromiseValidatedShort=Валидирано
DonationStatusPaidShort=Получено DonationStatusPaidShort=Получено
DonationTitle=Разписка за дарение DonationTitle=Разписка за дарение
DonationDatePayment=Дата на плащане DonationDatePayment=Дата на плащане
ValidPromess=Потвърждаване на дарението ValidPromess=Валидиране на дарение
DonationReceipt=Разписка за дарение DonationReceipt=Разписка за дарение
DonationsModels=Образци на документи за разписки за дарения DonationsModels=Модели на документи за разписки за дарения
LastModifiedDonations=Дарения: %s последно променени LastModifiedDonations=Дарения: %s последно променени
DonationRecipient=Получател на дарението DonationRecipient=Получател на дарение
IConfirmDonationReception=Получателят декларира, че е получил дарение на стойност IConfirmDonationReception=Получателят декларира полученото като дарение на следната сума
MinimumAmount=Минималното количество е %s MinimumAmount=Минималната сума е %s
FreeTextOnDonations=Свободен текст, който да се показва в долния колонтитул FreeTextOnDonations=Свободен текст в дарения
FrenchOptions=Опции за Франция FrenchOptions=Опции за Франция
DONATION_ART200=Показване на артикул 200 от CGI ако сте загрижени DONATION_ART200=Показване на артикул 200 от CGI, ако сте загрижени
DONATION_ART238=Показване на артикул 238 от CGI ако сте загрижени DONATION_ART238=Показване на артикул 238 от CGI, ако сте загрижени
DONATION_ART885=Показване на артикул 885 от CGI ако сте загрижени DONATION_ART885=Показване на артикул 885 от CGI, ако сте загрижени
DonationPayment=Плащане на дарение DonationPayment=Плащане на дарение
DonationValidated=Дарение %s е валидирано DonationValidated=Дарение %s е валидирано

View File

@ -7,7 +7,7 @@ ErrorButCommitIsDone=Бяха намерени грешки, но въпреки
ErrorBadEMail=Имейлът %s е грешен ErrorBadEMail=Имейлът %s е грешен
ErrorBadUrl=Адреса %s не е ErrorBadUrl=Адреса %s не е
ErrorBadValueForParamNotAString=Неправилна стойност за параметъра ви. Обикновено, когато липсва превод. ErrorBadValueForParamNotAString=Неправилна стойност за параметъра ви. Обикновено, когато липсва превод.
ErrorLoginAlreadyExists=Вход %s вече съществува. ErrorLoginAlreadyExists=Потребителят %s вече съществува.
ErrorGroupAlreadyExists=Група %s вече съществува. ErrorGroupAlreadyExists=Група %s вече съществува.
ErrorRecordNotFound=Запишете не е намерен. ErrorRecordNotFound=Запишете не е намерен.
ErrorFailToCopyFile=Не успя да копира файла <b>&quot;%s&quot;</b> в <b>&quot;%s&quot;.</b> ErrorFailToCopyFile=Не успя да копира файла <b>&quot;%s&quot;</b> в <b>&quot;%s&quot;.</b>
@ -90,7 +90,7 @@ ErrorSpecialCharNotAllowedForField=Специални знаци не са ра
ErrorNumRefModel=Позоваване съществува в база данни (%s) и не е съвместим с това правило за номериране. Премахване на запис или преименува препратка към активира този модул. ErrorNumRefModel=Позоваване съществува в база данни (%s) и не е съвместим с това правило за номериране. Премахване на запис или преименува препратка към активира този модул.
ErrorQtyTooLowForThisSupplier=Прекалено ниско количество за този доставчик или не е определена цена на продукта за този доставчик ErrorQtyTooLowForThisSupplier=Прекалено ниско количество за този доставчик или не е определена цена на продукта за този доставчик
ErrorOrdersNotCreatedQtyTooLow=Някои поръчки не са създадени поради твърде ниски количества ErrorOrdersNotCreatedQtyTooLow=Някои поръчки не са създадени поради твърде ниски количества
ErrorModuleSetupNotComplete=Настройката на модула изглежда непълна. Отидете на Начало - Настройка - Модули, за да я завършите. ErrorModuleSetupNotComplete=Setup of module %s looks to be uncomplete. Go on Home - Setup - Modules to complete.
ErrorBadMask=Грешка на маска ErrorBadMask=Грешка на маска
ErrorBadMaskFailedToLocatePosOfSequence=Грешка, маска без поредния номер ErrorBadMaskFailedToLocatePosOfSequence=Грешка, маска без поредния номер
ErrorBadMaskBadRazMonth=Грешка, неправилна стойност за нулиране ErrorBadMaskBadRazMonth=Грешка, неправилна стойност за нулиране
@ -102,7 +102,7 @@ ErrorProdIdAlreadyExist=%s се възлага на друга трета
ErrorFailedToSendPassword=Не може да се изпрати парола ErrorFailedToSendPassword=Не може да се изпрати парола
ErrorFailedToLoadRSSFile=Не успее да получи RSS Feed. Опитайте се да добавите постоянно MAIN_SIMPLEXMLLOAD_DEBUG ако съобщения за грешки не предоставя достатъчно информация. ErrorFailedToLoadRSSFile=Не успее да получи RSS Feed. Опитайте се да добавите постоянно MAIN_SIMPLEXMLLOAD_DEBUG ако съобщения за грешки не предоставя достатъчно информация.
ErrorForbidden=Достъпът отказан. <br>Опитвате се да отворите страница, зона или функция на деактивиран модул или сте в неудостоверена сесия или това не е позволено за Вашия потребител. ErrorForbidden=Достъпът отказан. <br>Опитвате се да отворите страница, зона или функция на деактивиран модул или сте в неудостоверена сесия или това не е позволено за Вашия потребител.
ErrorForbidden2=Разрешение за вход може да бъде определена от вашия администратор Dolibarr от менюто %s-> %s. ErrorForbidden2=Права за този потребител могат да бъдат определени от вашият Dolibarr администратор в меню %s -> %s.
ErrorForbidden3=Изглежда, че Dolibarr не се използва чрез заверено сесия. Обърнете внимание на документация за настройка Dolibarr за знаят как да управляват удостоверявания (Htaccess, mod_auth или други ...). ErrorForbidden3=Изглежда, че Dolibarr не се използва чрез заверено сесия. Обърнете внимание на документация за настройка Dolibarr за знаят как да управляват удостоверявания (Htaccess, mod_auth или други ...).
ErrorNoImagickReadimage=Клас Imagick не се намира в тази PHP. Без визуализация могат да бъдат на разположение. Администраторите могат да деактивирате тази раздела от менюто Setup - Display. ErrorNoImagickReadimage=Клас Imagick не се намира в тази PHP. Без визуализация могат да бъдат на разположение. Администраторите могат да деактивирате тази раздела от менюто Setup - Display.
ErrorRecordAlreadyExists=Запис вече съществува ErrorRecordAlreadyExists=Запис вече съществува
@ -219,6 +219,7 @@ ErrorURLMustStartWithHttp=URL адресът %s трябва да започва
ErrorNewRefIsAlreadyUsed=Грешка, новата референция вече е използвана ErrorNewRefIsAlreadyUsed=Грешка, новата референция вече е използвана
ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=Грешка, изтриването на плащане, свързано с приключена фактура, е невъзможно. ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=Грешка, изтриването на плащане, свързано с приключена фактура, е невъзможно.
# Warnings # 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. Може да се използва от външен модул/интерфейс, но ако не е необходимо да дефинирате потребителско име или парола за член може да деактивирате опцията "Управление на вход за всеки член" от настройката на модула Членове. Ако трябва да управлявате вход, но не се нуждаете от парола, можете да запазите това поле празно, за да избегнете това предупреждение. Забележка: Имейлът може да се използва и като вход, ако членът е свързан с потребител. WarningPasswordSetWithNoAccount=За този член бе зададена парола. Въпреки това, не е създаден потребителски акаунт. Така че тази парола е съхранена, но не може да се използва за влизане в Dolibarr. Може да се използва от външен модул/интерфейс, но ако не е необходимо да дефинирате потребителско име или парола за член може да деактивирате опцията "Управление на вход за всеки член" от настройката на модула Членове. Ако трябва да управлявате вход, но не се нуждаете от парола, можете да запазите това поле празно, за да избегнете това предупреждение. Забележка: Имейлът може да се използва и като вход, ако членът е свързан с потребител.
WarningMandatorySetupNotComplete=Кликнете тук, за да настроите задължителните параметри WarningMandatorySetupNotComplete=Кликнете тук, за да настроите задължителните параметри
WarningEnableYourModulesApplications=Кликнете тук, за да активирате вашите модули и приложения WarningEnableYourModulesApplications=Кликнете тук, за да активирате вашите модули и приложения
@ -230,7 +231,7 @@ WarningsOnXLines=Предупреждения върху <b>%s</b> линии и
WarningNoDocumentModelActivated=Не е активиран модел за генериране на документи. Няма да бъде избран модел по подразбиране, докато не проверите настройката на модула. WarningNoDocumentModelActivated=Не е активиран модел за генериране на документи. Няма да бъде избран модел по подразбиране, докато не проверите настройката на модула.
WarningLockFileDoesNotExists=Внимание, след като инсталацията приключи, трябва да деактивирате инструментите за инсталиране/миграция, като добавите файл <b>install.lock</b> в директорията <b>%s</b>. Липсата на този файл е сериозен риск за сигурността. WarningLockFileDoesNotExists=Внимание, след като инсталацията приключи, трябва да деактивирате инструментите за инсталиране/миграция, като добавите файл <b>install.lock</b> в директорията <b>%s</b>. Липсата на този файл е сериозен риск за сигурността.
WarningUntilDirRemoved=Всички предупреждения за сигурността (видими само от администраторите) ще останат активни, докато е налице уязвимостта (или се добави константа MAIN_REMOVE_INSTALL_WARNING в Настройка -> Други настройки). WarningUntilDirRemoved=Всички предупреждения за сигурността (видими само от администраторите) ще останат активни, докато е налице уязвимостта (или се добави константа MAIN_REMOVE_INSTALL_WARNING в Настройка -> Други настройки).
WarningCloseAlways=Внимание, затваряне се прави, дори ако сумата се различава между източника и целеви елементи. Активирайте тази функция с повишено внимание. WarningCloseAlways=Внимание, приключването се извършва, дори ако количеството се различава между източника и целевите елементи. Активирайте тази функция с повишено внимание.
WarningUsingThisBoxSlowDown=Предупреждение, използвайки това поле сериозно забавя всички страници, които го показват. WarningUsingThisBoxSlowDown=Предупреждение, използвайки това поле сериозно забавя всички страници, които го показват.
WarningClickToDialUserSetupNotComplete=Настройките на информацията за ClickToDial за вашия потребител са непълни (вижте таб ClickToDial във вашата потребителска карта). WarningClickToDialUserSetupNotComplete=Настройките на информацията за ClickToDial за вашия потребител са непълни (вижте таб ClickToDial във вашата потребителска карта).
WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Фунцкията е неактива, когато конфигурацията на показването е оптимизирана за незрящ човек или текстови браузери. WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Фунцкията е неактива, когато конфигурацията на показването е оптимизирана за незрящ човек или текстови браузери.

View File

@ -1,42 +1,42 @@
# Dolibarr language file - Source file is en_US - exports # Dolibarr language file - Source file is en_US - exports
ExportsArea=Износът площ ExportsArea=Секция за експортиране
ImportArea=Внос област ImportArea=Секция за импортиране
NewExport=Нов износ NewExport=Ново експортиране
NewImport=Нов внос NewImport=Ново импортиране
ExportableDatas=Изнасяни набор от данни ExportableDatas=Изнасяни набор от данни
ImportableDatas=Се внасят набор от данни ImportableDatas=Се внасят набор от данни
SelectExportDataSet=Изберете набор от данни, които искате да експортирате ... SelectExportDataSet=Изберете набор от данни, които искате да експортирате ...
SelectImportDataSet=Изберете набор от данни, който искате да импортирате ... SelectImportDataSet=Изберете набор от данни, който искате да импортирате ...
SelectExportFields=Изберете полетата, които искате да експортирате, или да изберете предварително дефинирана Profil износ SelectExportFields=Изберете полетата, които искате да експортирате или изберете предварително дефиниран профил за експортиране
SelectImportFields=Choose source file fields you want to import and their target field in database by moving them up and down with anchor %s, or select a predefined import profile: SelectImportFields=Изберете полетата на вашият файл, които искате да импортирате и техните целеви полета в базата данни като ги преместите нагоре или надолу с помощта на %s, или изберете предварително дефиниран профил за импортиране:
NotImportedFields=Области на файла източник не са внесени NotImportedFields=Полетата на входния файл не са импортирани
SaveExportModel=Запази този профил за износ, ако смятате да го използвате отново по-късно ... SaveExportModel=Запазване на вашият избор като профил / шаблон за експортиране (за повторно използване).
SaveImportModel=Запази този профил за внос, ако смятате да го използвате отново по-късно ... SaveImportModel=Запазване на този профил за импортиране (за повторно използване)...
ExportModelName=Износ името на профила ExportModelName=Износ името на профила
ExportModelSaved=Export профила записват под името <b>%s.</b> ExportModelSaved=Профилът за експортиране е запазен като <b>%s</b>.
ExportableFields=Изнасяни полета ExportableFields=Изнасяни полета
ExportedFields=Износът на полета ExportedFields=Износът на полета
ImportModelName=Име Внос профил ImportModelName=Име Внос профил
ImportModelSaved=Внос профила спаси под името <b>%s.</b> ImportModelSaved=Профилът за импортиране е запазен като <b>%s</b>.
DatasetToExport=Dataset за износ DatasetToExport=Dataset за износ
DatasetToImport=Импортиране на файл в масив от данни DatasetToImport=Импортиране на файл в масив от данни
ChooseFieldsOrdersAndTitle=Изберете полета за ... ChooseFieldsOrdersAndTitle=Изберете полета за ...
FieldsTitle=Полетата заглавие FieldsTitle=Полетата заглавие
FieldTitle=Заглавие FieldTitle=Заглавие
NowClickToGenerateToBuildExportFile=Сега, изберете файловия формат, в комбо кутия и кликнете върху &quot;Генериране&quot; за изграждане на файл за износ ... NowClickToGenerateToBuildExportFile=Сега, изберете формата на файла от полето на комбинирания списък и кликнете върху „Генериране“, за да създадете файла за експортиране...
AvailableFormats=Налични формати AvailableFormats=Налични формати
LibraryShort=Библиотека LibraryShort=Библиотека
Step=Стъпка Step=Стъпка
FormatedImport=Import assistant FormatedImport=Асистент за импортиране
FormatedImportDesc1=This area allows to import personalized data, using an assistant to help you in process without technical knowledge. FormatedImportDesc1=Този модул ви позволява да актуализирате съществуващи данни или да добавяте нови обекти в базата данни от файл без технически познания, използвайки асистент.
FormatedImportDesc2=First step is to choose a king of data you want to load, then file to load, then to choose which fields you want to load. FormatedImportDesc2=Първата стъпка е да изберете вида данни, които искате да импортирате, след това формата на файла съдържащ информацията за импортиране и полетата, които искате да импортирате.
FormatedExport=Export assistant FormatedExport=Асистент за експортиране
FormatedExportDesc1=This area allows to export personalized data, using an assistant to help you in process without technical knowledge. FormatedExportDesc1=Тези инструменти позволяват експортирането на персонализирани данни с помощта на асистент, за да ви помогне в процеса, без да се изискват технически познания.
FormatedExportDesc2=First step is to choose a predefined dataset, then to choose which fields you want in your result files, and which order. FormatedExportDesc2=Първата стъпка е да изберете предварително дефиниран набор от данни, а след това кои полета искате да експортирате и в какъв ред.
FormatedExportDesc3=When data to export are selected, you can define output file format you want to export your data to. FormatedExportDesc3=Когато са избрани данните за експортиране може да изберете формата на изходния файл.
Sheet=Лист Sheet=Лист
NoImportableData=Не се внасят данни (без модул с определенията, за да се позволи на импортирането на данни) NoImportableData=Не се внасят данни (без модул с определенията, за да се позволи на импортирането на данни)
FileSuccessfullyBuilt=File generated FileSuccessfullyBuilt=Файлът е генериран
SQLUsedForExport=SQL Заявка използвани за изграждане на износно досие SQLUsedForExport=SQL Заявка използвани за изграждане на износно досие
LineId=Id на линия LineId=Id на линия
LineLabel=Етикет на ред LineLabel=Етикет на ред
@ -44,90 +44,90 @@ LineDescription=Описание на линия
LineUnitPrice=Единичната цена на линия LineUnitPrice=Единичната цена на линия
LineVATRate=ДДС Цена на линия LineVATRate=ДДС Цена на линия
LineQty=Количество за линия LineQty=Количество за линия
LineTotalHT=Сума нетно от данък за съответствие LineTotalHT=Сума без данък за ред
LineTotalTTC=Сума с данък линия LineTotalTTC=Сума с данък линия
LineTotalVAT=Размер на ДДС за линия LineTotalVAT=Размер на ДДС за линия
TypeOfLineServiceOrProduct=Вид на линията (0 = продукт, 1 = услуга) TypeOfLineServiceOrProduct=Вид на линията (0 = продукт, 1 = услуга)
FileWithDataToImport=Файл с данни за внос FileWithDataToImport=Файл с данни за внос
FileToImport=Източник файл, за да импортирате FileToImport=Източник файл, за да импортирате
FileMustHaveOneOfFollowingFormat=Файл за импортиране трябва да има следния формат FileMustHaveOneOfFollowingFormat=Файлът за импортиране трябва да бъде в един от следните формати
DownloadEmptyExample=Изтеглете пример за празна файла източник DownloadEmptyExample=Изтегляне на шаблонния файл с информация за съдържанието на полето (* са задължителни полета)
ChooseFormatOfFileToImport=Изберете формат на файла, за да се използва като формат на файла за импортиране, като кликнете върху %s икони за да го изберете ... ChooseFormatOfFileToImport=Изберете формата на файла, който да използвате като формат за импортиране, като кликнете върху иконата на %s, за да го изберете...
ChooseFileToImport=Качване на файл и след това кликнете върху %s икони, за да изберете файл като източник на внос файл ... ChooseFileToImport=Качете на файл, след което кликнете върху иконата %s, за да изберете файла като файл съдържащ данните за импортиране...
SourceFileFormat=Изходния формат на файла SourceFileFormat=Изходния формат на файла
FieldsInSourceFile=Полетата в файла източник FieldsInSourceFile=Полетата в файла източник
FieldsInTargetDatabase=Target fields in Dolibarr database (bold=mandatory) FieldsInTargetDatabase=Целеви полета в базата данни на Dolibarr (удебелен шрифт = задължително)
Field=Област Field=Поле
NoFields=Не полета NoFields=Не полета
MoveField=Преместете поле %s броя на колоните MoveField=Преместете поле %s броя на колоните
ExampleOfImportFile=Example_of_import_file ExampleOfImportFile=Example_of_import_file
SaveImportProfile=Запиши този профил за внос SaveImportProfile=Запиши този профил за внос
ErrorImportDuplicateProfil=Грешка при запазване на този профил за внос с това име. Съществуващ профил с това име вече съществува. ErrorImportDuplicateProfil=Грешка при запазване на този профил за внос с това име. Съществуващ профил с това име вече съществува.
TablesTarget=Целеви маси TablesTarget=Целеви маси
FieldsTarget=Целеви области FieldsTarget=Целеви полета
FieldTarget=Целева областта FieldTarget=Целево поле
FieldSource=Източник областта FieldSource=Начално поле
NbOfSourceLines=Брой на линиите във файла източник NbOfSourceLines=Брой на линиите във файла източник
NowClickToTestTheImport=Проверете внос параметрите, които сте задали. Ако те са правилни, кликнете върху бутона <b>&quot;%s&quot;,</b> за да започне симулация на процеса на импортиране (няма данни ще се промени във вашата база данни, това е само симулация за момента) ... NowClickToTestTheImport=Проверете дали файловият формат (разделители за поле и низ) на вашият файл съответства на показаните опции и че сте пропуснали заглавния ред или те ще бъдат маркирани като грешки в следващата симулация. <br> Кликнете върху бутона "<b>%s</b>", за да проверите структурата / съдържанието на файла и да симулирате процеса на импортиране. <br> <b>Няма да бъдат променяни данни в базата данни </b>.
RunSimulateImportFile=Стартиране на симулация внос RunSimulateImportFile=Стартиране на симулация за импортиране
FieldNeedSource=This field requires data from the source file FieldNeedSource=Това поле изисква данни от файла източник
SomeMandatoryFieldHaveNoSource=Някои от задължителните полета не са източник от файл с данни SomeMandatoryFieldHaveNoSource=Някои от задължителните полета не са източник от файл с данни
InformationOnSourceFile=Информация за файла източник InformationOnSourceFile=Информация за файла източник
InformationOnTargetTables=Информация за целевите области InformationOnTargetTables=Информация за целевите полета
SelectAtLeastOneField=Включете поне едно поле източник в колоната на полета за износ SelectAtLeastOneField=Включете поне едно поле източник в колоната на полета за износ
SelectFormat=Изберете този файлов формат за внос SelectFormat=Изберете този файлов формат за внос
RunImportFile=Стартиране на файл от вноса RunImportFile=Импортиране на данни
NowClickToRunTheImport=Проверете резултат на внос симулация. Ако всичко е наред, стартиране на окончателен внос. NowClickToRunTheImport=Проверете резултатите от симулацията за импортиране. Коригирайте всички грешки и повторете теста. <br> Когато симулацията не съобщава за грешки може да продължите с импортирането на данните в базата данни.
DataLoadedWithId=Цялата информация ще бъде заредена с следното id на импорт:\n<b>%s</b> DataLoadedWithId=Импортираните данни ще имат допълнително поле във всяка таблица на базата данни с този идентификатор за импортиране: <b>%s</b>, за да могат да се търсят в случай на проучване за проблем, свързан с това импортиране.
ErrorMissingMandatoryValue=Задължителни данни в файла източник за полеви <b>%s</b> е празна. ErrorMissingMandatoryValue=Липсват задължителните данни във файла източник за поле <b>%s</b>.
TooMuchErrors=Все още <b>%s</b> други линии код с грешки, но продукцията е ограничена. TooMuchErrors=Все още има <b>%s</b> други източници с грешки, но списъкът с грешки е редуциран.
TooMuchWarnings=Все още <b>%s</b> други линии източник с предупреждения, но продукцията е ограничена. TooMuchWarnings=Все още има <b>%s</b> други източници с предупреждения, но списъкът с грешки е редуциран.
EmptyLine=Празен ред (ще бъдат отхвърлени) EmptyLine=Празен ред (ще бъдат отхвърлени)
CorrectErrorBeforeRunningImport=Трябва първо да поправи всички грешки, преди да пуснете окончателен внос. CorrectErrorBeforeRunningImport=<b>Трябва</b> да коригирате всички грешки, <b>преди</b> да изпълните окончателното импортиране.
FileWasImported=Файла е внесен с цифровите <b>%s.</b> FileWasImported=Файла е внесен с цифровите <b>%s.</b>
YouCanUseImportIdToFindRecord=You can find all imported record in your database by filtering on field <b>import_key='%s'</b>. YouCanUseImportIdToFindRecord=Може да намерите всички импортирани записи във вашата база данни, чрез филтриране за поле <b>import_key = '%s'</b>.
NbOfLinesOK=Брой на линии с грешки и без предупреждения: <b>%s.</b> NbOfLinesOK=Брой на линии с грешки и без предупреждения: <b>%s.</b>
NbOfLinesImported=Брой на линиите успешно внесени: <b>%s.</b> NbOfLinesImported=Брой на линиите успешно внесени: <b>%s.</b>
DataComeFromNoWhere=Стойност да вмъкнете идва от нищото в изходния файл. DataComeFromNoWhere=Стойност да вмъкнете идва от нищото в изходния файл.
DataComeFromFileFieldNb=Стойност да вмъкнете идва от <b>%s</b> номер в полето файла източник. DataComeFromFileFieldNb=Стойност да вмъкнете идва от <b>%s</b> номер в полето файла източник.
DataComeFromIdFoundFromRef=Стойност, която идва от <b>%s</b> номер на полето на изходния файл ще бъдат използвани за намиране ID на родител обект да използвате (Така Objet <b>%s,</b> че има код от файла източник трябва да съществува в Dolibarr). DataComeFromIdFoundFromRef=Стойността, която идва от поле с номер <b>%s</b> на файла източник ще бъде използвана за намиране на идентификатора на главния обект, който да се използва (така че обектът <b>%s</b>, който има реф. от файла източник трябва да съществува в базата данни)
DataComeFromIdFoundFromCodeId=Code that comes from field number <b>%s</b> of source file will be used to find id of parent object to use (So the code from source file must exists into dictionary <b>%s</b>). Note that if you know id, you can also use it into source file instead of code. Import should work in both cases. DataComeFromIdFoundFromCodeId=Кодът, който идва от поле с номер <b>%s</b> на файла източник ще бъде използван за намиране на идентификатора на главния обект, който да се използва (така че кодът от файла източник трябва да съществува в речника <b>%s</b>). Обърнете внимание, че ако знаете id-то можете да го използвате и във файла източник вместо кода. Импортирането трябва да работи и в двата случая.
DataIsInsertedInto=Данни, идващи от файла източник, ще се добавя в следните области: DataIsInsertedInto=Данните идващи от входния файл ще бъдат вмъкнати в следното поле:
DataIDSourceIsInsertedInto=Идентификацията на родителския обект, намерен с помощта на данни във файла източник, ще се добавя в следните области: DataIDSourceIsInsertedInto=Идентификационният номер (id) на главния обект е намерен с помощта на данните във файла източник и ще бъде вмъкнат в следното поле:
DataCodeIDSourceIsInsertedInto=ID на родител ред от кода, ще се включат в следните области: DataCodeIDSourceIsInsertedInto=Идентификатора на основния ред, открит от кода, ще бъде вмъкнат в следното поле:
SourceRequired=Стойността на данните е задължително SourceRequired=Стойността на данните е задължително
SourceExample=Пример за възможно стойността на данните SourceExample=Пример за възможно стойността на данните
ExampleAnyRefFoundIntoElement=Всеки код за елемент <b>%s</b> ExampleAnyRefFoundIntoElement=Всеки код за елемент <b>%s</b>
ExampleAnyCodeOrIdFoundIntoDictionary=Всеки код (или id) намерено в речник <b>%s</b> ExampleAnyCodeOrIdFoundIntoDictionary=Всеки код (или id) намерено в речник <b>%s</b>
CSVFormatDesc=<b>Разделени със запетаи</b> формат <b>стойност</b> файл (CSV). <br> Това е формат текстов файл, където полетата са разделени със сепаратор [%s]. Ако сепаратор се намира във вътрешността съдържанието поле, поле се закръглява кръг характер [%s]. Бягство характер, за да избягат кръг характер е %s]. CSVFormatDesc=<b> Стойност, разделена със запетая </b> файлов формат (.csv). <br> Това е формат на текстов файл, в който полетата са разделени от разделител [%s]. Ако в съдържанието на полето бъде открит разделител, то полето се закръглява със закръгляващ символ [%s]. Escape символа определящ закръгляващия символ е [%s].
Excel95FormatDesc=Файлов формат на <b>Excel</b> (XLS) <br> Това е роден Excel 95 формат (BIFF5). Excel95FormatDesc=<b>Excel</b> файлов формат (.xls) <br> Това е оригинален формат на Excel 95 (BIFF5).
Excel2007FormatDesc=<b>Excel</b> файлов формат (XLSX) <br> Това е роден формат Excel 2007 (SpreadsheetML). Excel2007FormatDesc=<b>Excel</b> файлов формат (.xlsx). <br> Това е оригинален формат на Excel 2007 (SpreadsheetML).
TsvFormatDesc=<b>Tab раздяла</b> формат <b>стойност</b> файл (TSV) <br> Това е формат текстов файл, където полетата са разделени с табулатор [Tab]. TsvFormatDesc=<b>Tab раздяла</b> формат <b>стойност</b> файл (TSV) <br> Това е формат текстов файл, където полетата са разделени с табулатор [Tab].
ExportFieldAutomaticallyAdded=Field <b>%s</b> was automatically added. It will avoid you to have similar lines to be treated as duplicate record (with this field added, all lines will own their own id and will differ). ExportFieldAutomaticallyAdded=Полето <b>%s</b> е автоматично добавено. Ще бъдат избегнати подобни редове, които да се третират като дублиращи се записи (с добавянето на това поле всички редове ще притежават свой собствен идентификатор (id) и ще се различават).
CsvOptions=Csv опции CsvOptions=Опции за формат CSV
Separator=Разделител Separator=Разделител за полета
Enclosure=Enclosure Enclosure=Разделител на низове
SpecialCode=Специален код SpecialCode=Специален код
ExportStringFilter=%% позволява заместването на един или повече знаци в текста ExportStringFilter=%% позволява заместването на един или повече знаци в текста
ExportDateFilter=YYYY, YYYYMM, YYYYMMDD : filters by one year/month/day<br>YYYY+YYYY, YYYYMM+YYYYMM, YYYYMMDD+YYYYMMDD : filters over a range of years/months/days<br> > YYYY, > YYYYMM, > YYYYMMDD : filters on all following years/months/days<br> < YYYY, < YYYYMM, < YYYYMMDD : filters on all previous years/months/days ExportDateFilter=YYYY, YYYYMM, YYYYMMDD: филтри по година/месец/ден <br>YYYY+YYYY, YYYYMM+YYYYMM, YYYYMMDD+YYYYMMDD: филтри с обхват година/месец/ден <br> > YYYY, > YYYYMM, > YYYYMMDD: филтри за следващи години/месеци/дни <br> < YYYY, < YYYYMM, < YYYYMMDD: филтри за предишни години/месеци/дни
ExportNumericFilter=NNNNN filters by one value<br>NNNNN+NNNNN filters over a range of values<br>< NNNNN filters by lower values<br>> NNNNN filters by higher values ExportNumericFilter=NNNNN филтри по една стойност <br>NNNNN+NNNNN филтри с обхват от стойности <br>< NNNNN филтри с по-ниски стойности <br>> NNNNN филтри с по-високи стойности
ImportFromLine=Import starting from line number ImportFromLine=Импортиране с начален ред
EndAtLineNb=End at line number EndAtLineNb=Край с последен ред
ImportFromToLine=Import line numbers (from - to) ImportFromToLine=Обхват (от - до), например <b>да пропуснете заглавните редове</b>
SetThisValueTo2ToExcludeFirstLine=For example, set this value to 3 to exclude the 2 first lines SetThisValueTo2ToExcludeFirstLine=Например, задайте тази стойност на 3, за да изключите първите 2 реда. <br> Ако заглавните редове не са пропуснати, това ще доведе до множество грешки по време на симулацията за импортиране.
KeepEmptyToGoToEndOfFile=Keep this field empty to go up to the end of file KeepEmptyToGoToEndOfFile=Запазете това поле празно, за да обработите всички редове до края на файла.
SelectPrimaryColumnsForUpdateAttempt=Select column(s) to use as primary key for update attempt SelectPrimaryColumnsForUpdateAttempt=Изберете колона(и), които да използвате като първичен ключ за импортиране на актуализация
UpdateNotYetSupportedForThisImport=Update is not supported for this type of import (only insert) UpdateNotYetSupportedForThisImport=Актуализацията не се поддържа за този тип импортиране (само вмъкване)
NoUpdateAttempt=No update attempt was performed, only insert NoUpdateAttempt=Не е извършен опит за актуализация, само вмъкване
ImportDataset_user_1=Users (employees or not) and properties ImportDataset_user_1=Потребители (служители или не) и реквизити
ComputedField=Computed field ComputedField=Изчислено поле
## filters ## filters
SelectFilterFields=Ако желаете на филтрирате по някои стойности, просто въведете стойностите тук. SelectFilterFields=Ако желаете на филтрирате по някои стойности, просто въведете стойностите тук.
FilteredFields=Филтрирани полета FilteredFields=Филтрирани полета
FilteredFieldsValues=Стойност за филтер FilteredFieldsValues=Стойност за филтер
FormatControlRule=Правило за контролиране на формата FormatControlRule=Правило за контролиране на формата
## imports updates ## imports updates
KeysToUseForUpdates=Key to use for updating data KeysToUseForUpdates=Ключ (колона), който да се използва за <b>актуализиране</b> на съществуващи данни
NbInsert=Number of inserted lines: %s NbInsert=Брой вмъкнати редове: %s
NbUpdate=Number of updated lines: %s NbUpdate=Брой актуализирани редове: %s
MultipleRecordFoundWithTheseFilters=Multiple records have been found with these filters: %s MultipleRecordFoundWithTheseFilters=Намерени са няколко записа с тези филтри: %s

View File

@ -114,9 +114,9 @@ HolidaysToValidateBody=По-долу е молба за отпуск за вал
HolidaysToValidateDelay=Тази молба за отпуск е за период по-малък от %s дни. HolidaysToValidateDelay=Тази молба за отпуск е за период по-малък от %s дни.
HolidaysToValidateAlertSolde=Потребителят, който е създал молбата за отпуск, няма достатъчно налични дни. HolidaysToValidateAlertSolde=Потребителят, който е създал молбата за отпуск, няма достатъчно налични дни.
HolidaysValidated=Валидирани молби за отпуск HolidaysValidated=Валидирани молби за отпуск
HolidaysValidatedBody=Вашата молба за отпуск от %s до %s е валидирана. HolidaysValidatedBody=Вашата молба за отпуск от %s до %s е одобрена.
HolidaysRefused=Молбата е отхвърлена HolidaysRefused=Молбата е отхвърлена
HolidaysRefusedBody=Вашата молба за отпуск от %s до %s е отхвърлена поради следната причина: HolidaysRefusedBody=Вашата молба за отпуск от %s до %s е отхвърлена, поради следната причина:
HolidaysCanceled=Анулирани молби за отпуск HolidaysCanceled=Анулирани молби за отпуск
HolidaysCanceledBody=Вашата молба за отпуск от %s до %s е анулирана. HolidaysCanceledBody=Вашата молба за отпуск от %s до %s е анулирана.
FollowedByACounter=1: Този вид отпуск е необходимо да бъде проследяван от брояч. Броячът се увеличава ръчно или автоматично, а когато молбата за отпуск е валидирана, броячът се намалява. <br> 0: Не се проследява от брояч. FollowedByACounter=1: Този вид отпуск е необходимо да бъде проследяван от брояч. Броячът се увеличава ръчно или автоматично, а когато молбата за отпуск е валидирана, броячът се намалява. <br> 0: Не се проследява от брояч.

View File

@ -1,214 +1,214 @@
# Dolibarr language file - Source file is en_US - install # Dolibarr language file - Source file is en_US - install
InstallEasy=Просто следвайте инструкциите стъпка по стъпка. InstallEasy=Просто следвайте инструкциите стъпка по стъпка.
MiscellaneousChecks=Предпоставки проверка MiscellaneousChecks=Проверка за необходими условия
ConfFileExists=Конфигурационния файл <b>%s</b> съществува. ConfFileExists=Конфигурационен файл <b>%s</b> съществува.
ConfFileDoesNotExistsAndCouldNotBeCreated=Configuration file <b>%s</b> does not exist and could not be created! ConfFileDoesNotExistsAndCouldNotBeCreated=Конфигурационният файл <b>%s</b> не съществува и не може да бъде създаден!
ConfFileCouldBeCreated=Конфигурационния файл <b>%s</b> може да бъде създаден. ConfFileCouldBeCreated=Конфигурационният файл <b>%s</b> може да бъде създаден.
ConfFileIsNotWritable=Configuration file <b>%s</b> is not writable. Check permissions. For first install, your web server must be able to write into this file during configuration process ("chmod 666" for example on a Unix like OS). ConfFileIsNotWritable=Конфигурационният файл <b> %s </b> не може да се презаписва. Проверете разрешенията. За първото инсталиране, вашият уеб сървър трябва да може да записва в този файл по време на процеса на конфигуриране (например "chmod 666" в системи от типа Unix).
ConfFileIsWritable=Конфигурационния файл <b>%s</b> е с права за писане. ConfFileIsWritable=Конфигурационният файл <b>%s</b> е презаписваем.
ConfFileMustBeAFileNotADir=Конфигурационният файл <b> %s </b> трябва да бъде файл, а не директория. ConfFileMustBeAFileNotADir=Конфигурационният файл <b>%s</b> трябва да е файл, а не директория.
ConfFileReload=Reloading parameters from configuration file. ConfFileReload=Презареждане на параметри от конфигурационен файл.
PHPSupportSessions=PHP поддържа сесии. PHPSupportSessions=PHP поддържа сесии.
PHPSupportPOSTGETOk=PHP поддържа променливи POST и GET. PHPSupportPOSTGETOk=PHP поддържа променливи POST и GET.
PHPSupportPOSTGETKo=It's possible your PHP setup does not support variables POST and/or GET. Check the parameter <b>variables_order</b> in php.ini. PHPSupportPOSTGETKo=Възможно е вашата настройка на PHP да не поддържа променливи POST и/или GET. Проверете параметъра <b> variables_order </b> в php.ini.
PHPSupportGD=This PHP supports GD graphical functions. PHPSupportGD=PHP поддържа GD графични функции.
PHPSupportCurl=This PHP supports Curl. PHPSupportCurl=PHP поддържа Curl.
PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportUTF8=PHP поддържа UTF8 функции.
PHPSupportIntl=This PHP supports Intl functions. PHPSupportIntl=PHP поддържа Intl функции.
PHPMemoryOK=PHP макс сесия памет е <b>%s.</b> Това трябва да бъде достатъчно. PHPMemoryOK=Максималният размер на паметта за PHP сесия е настроен на <b>%s</b>. Това трябва да е достатъчно.
PHPMemoryTooLow=Your PHP max session memory is set to <b>%s</b> bytes. This is too low. Change your <b>php.ini</b> to set <b>memory_limit</b> parameter to at least <b>%s</b> bytes. PHPMemoryTooLow=Вашият максимален размер на паметта за PHP сесия е настроен на <b> %s </b> байта. Това е твърде ниско. Променете <b> php.ini </b> като зададете стойност на параметър <b> memory_limit </b> поне <b> %s </b> байта.
Recheck=Click here for a more detailed test Recheck=Кликнете тук за по-подробен тест
ErrorPHPDoesNotSupportSessions=Your PHP installation does not support sessions. This feature is required to allow Dolibarr to work. Check your PHP setup and permissions of the sessions directory. ErrorPHPDoesNotSupportSessions=Вашата PHP инсталация не поддържа сесии. Тази функция е необходима, за да позволи на Dolibarr да работи. Проверете настройките на PHP и разрешенията на директорията за сесиите.
ErrorPHPDoesNotSupportGD=Your PHP installation does not support GD graphical functions. No graphs will be available. ErrorPHPDoesNotSupportGD=Вашата PHP инсталация не поддържа GD графични функции. Няма да се показват графики.
ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCurl=Вашата PHP инсталация не поддържа Curl.
ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportUTF8=Вашата PHP инсталация не поддържа UTF8 функции. Dolibarr не може да работи правилно. Решете това преди да инсталирате Dolibarr.
ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. ErrorPHPDoesNotSupportIntl=Вашата PHP инсталация не поддържа Intl функции.
ErrorDirDoesNotExists=Директорията %s не съществува. ErrorDirDoesNotExists=Директорията %s не съществува.
ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. ErrorGoBackAndCorrectParameters=Върнете се назад и проверете / коригирайте параметрите.
ErrorWrongValueForParameter=Може да сте въвели грешна стойност за параметър '%s'. ErrorWrongValueForParameter=Може да сте въвели грешна стойност за параметър '%s'.
ErrorFailedToCreateDatabase=Неуспешно създаване на базата данни '%s'. ErrorFailedToCreateDatabase=Неуспешно създаване на база данни '%s'.
ErrorFailedToConnectToDatabase=Неуспешна връзка с база данни '%s'. ErrorFailedToConnectToDatabase=Неуспешно свързване към базата данни '%s'
ErrorDatabaseVersionTooLow=Версията на базата данни (%s) е твърде стара. Изисква се версия %s или по-нова. ErrorDatabaseVersionTooLow=Версията на базата данни (%s) е твърде стара. Изисква се версия %s или по-нова.
ErrorPHPVersionTooLow=Версията на PHP е твърде стара. Изисква се версия %s. ErrorPHPVersionTooLow=Версията на PHP е твърде стара. Изисква се версия %s.
ErrorConnectedButDatabaseNotFound=Connection to server successful but database '%s' not found. ErrorConnectedButDatabaseNotFound=Връзката със сървъра е успешна, но не е намерена база данни '%s'.
ErrorDatabaseAlreadyExists=Базата данни %s вече съществува. ErrorDatabaseAlreadyExists=База данни '%s' вече съществува.
IfDatabaseNotExistsGoBackAndUncheckCreate=If the database does not exist, go back and check option "Create database". IfDatabaseNotExistsGoBackAndUncheckCreate=Ако базата данни не съществува, върнете се и проверете опцията "Създаване на база данни".
IfDatabaseExistsGoBackAndCheckCreate=Ако базата данни вече съществува, върнете се обратно и махнете отметката на "Създаване на база данни". IfDatabaseExistsGoBackAndCheckCreate=Ако базата данни вече съществува, върнете се обратно и махнете отметката на "Създаване на база данни".
WarningBrowserTooOld=Version of browser is too old. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommended. WarningBrowserTooOld=Версията на браузъра е твърде стара. Препоръчва се надграждане на браузъра ви до текуща версия на Firefox, Chrome или Opera.
PHPVersion=Версия на PHP PHPVersion=PHP версия
License=Лиценз за използване License=Използване на лиценз
ConfigurationFile=Конфигурационен файл ConfigurationFile=Конфигурационен файл
WebPagesDirectory=Директорията, в която се съхраняват уеб страници WebPagesDirectory=Директория, където се съхраняват уеб страници
DocumentsDirectory=Директория за съхраняване качени и генерирани документи DocumentsDirectory=Директория за съхраняване на качени и генерирани документи
URLRoot=URL корен URLRoot=Основен URL адрес
ForceHttps=Принудително сигурни връзки (HTTPS) ForceHttps=Принудителни защитени връзки (https)
CheckToForceHttps=Изберете тази опция, за принудително сигурни връзки (HTTPS). <br> Това означава, че уеб сървърът е конфигуриран с SSL сертификат. CheckToForceHttps=Изберете тази опция, за да активирате защитени връзки (https). <br> Това изисква уеб сървърът да е конфигуриран за работа със SSL сертификат.
DolibarrDatabase=База данни на Dolibarr DolibarrDatabase=База данни на Dolibarr
DatabaseType=Тип на базата данни DatabaseType=Тип база данни
DriverType=Тип драйвер DriverType=Тип драйвер
Server=Сървър Server=Сървър
ServerAddressDescription=Name or ip address for the database server. Usually 'localhost' when the database server is hosted on the same server as the web server. ServerAddressDescription=Име или IP адрес на сървъра с базата данни. Обикновено "localhost", когато сървърът с базата данни е инсталиран на същия сървър като уеб сървъра.
ServerPortDescription=Порт на сървъра на базата данни. Оставете празно ако е неизвестно. ServerPortDescription=Порт на сървъра с базата данни. Оставете празно, ако е неизвестен.
DatabaseServer=Сървър на базата данни DatabaseServer=Сървър за бази данни
DatabaseName=Име на базата данни DatabaseName=Име на базата данни
DatabasePrefix=Database table prefix DatabasePrefix=Префикс на таблицата с база данни
DatabasePrefixDescription=Database table prefix. If empty, defaults to llx_. DatabasePrefixDescription=Префикс на таблицата с база данни. Ако е празно, по подразбиране ще бъде llx_.
AdminLogin=User account for the Dolibarr database owner. AdminLogin=Потребителски акаунт за собственика на базата данни на Dolibarr.
PasswordAgain=Retype password confirmation PasswordAgain=Повторете паролата
AdminPassword=Парола на собственика на базата данни на Dolibarr. AdminPassword=Парола за собственика на базата данни на Dolibarr.
CreateDatabase=Създаване на база данни CreateDatabase=Създаване на база данни
CreateUser=Create user account or grant user account permission on the Dolibarr database CreateUser=Създайте потребителски акаунт или предоставете разрешение за потребителски акаунт на базата данни на Dolibarr
DatabaseSuperUserAccess=Сървър на базата данни - Достъп супер потребител DatabaseSuperUserAccess=Сървър за база данни - Достъп за супер потребител
CheckToCreateDatabase=Check the box if the database does not exist yet and so must be created.<br>In this case, you must also fill in the user name and password for the superuser account at the bottom of this page. CheckToCreateDatabase=Поставете отметка в квадратчето, ако базата данни все още не съществува и трябва да бъде създадена. <br> В този случай трябва да попълните потребителското име и паролата за акаунта на супер потребителя в долната част на тази страница.
CheckToCreateUser=Check the box if:<br>the database user account does not yet exist and so must be created, or<br>if the user account exists but the database does not exist and permissions must be granted.<br>In this case, you must enter the user account and password and <b>also</b> the superuser account name and password at the bottom of this page. If this box is unchecked, database owner and password must already exist. CheckToCreateUser=Поставете отметка в квадратчето, ако: <br> потребителският акаунт за базата данни все още не съществува и трябва да бъде създаден или <br> ако съществува потребителски акаунт, но базата данни не съществува и трябва да бъдат предоставени разрешения. <br> В този случай трябва да въведете потребителския акаунт и паролата, а <b> също </b>, и името, и паролата на супер потребителя в долната част на тази страница. Ако това квадратче не е маркирано, собственикът на базата данни и паролата трябва вече да съществуват.
DatabaseRootLoginDescription=Superuser account name (to create new databases or new users), mandatory if the database or its owner does not already exist. DatabaseRootLoginDescription=Потребителско име на супер потребител (за създаване на нови бази данни или нови потребители), което е задължително, ако базата данни или нейният собственик все още не съществуват.
KeepEmptyIfNoPassword=Leave empty if superuser has no password (NOT recommended) KeepEmptyIfNoPassword=Оставете празно, ако супер потребителят няма парола (НЕ се препоръчва)
SaveConfigurationFile=Saving parameters to SaveConfigurationFile=Запазване на параметрите в
ServerConnection=Свързване със сървъра ServerConnection=Свързване със сървъра
DatabaseCreation=Създаване на база данни DatabaseCreation=Създаване на база данни
CreateDatabaseObjects=Създаване на обекти в базата данни CreateDatabaseObjects=Създаване на обекти в базата данни
ReferenceDataLoading=Зареждане на референтни данни ReferenceDataLoading=Зареждане на референтни данни
TablesAndPrimaryKeysCreation=Създаване на таблици и първични ключове TablesAndPrimaryKeysCreation=Създаване на таблици и първични ключове
CreateTableAndPrimaryKey=Създаване на таблицата %s CreateTableAndPrimaryKey=Създаване на таблица %s
CreateOtherKeysForTable=Създаване на чужди ключове и индекси за таблицата %s CreateOtherKeysForTable=Създаване на чужди ключове и индекси за таблица %s
OtherKeysCreation=Създаване на чужди ключове и индекси OtherKeysCreation=Създаване на чужди ключове и индекси
FunctionsCreation=Създаване на функции FunctionsCreation=Създаване на функции
AdminAccountCreation=Създаване на администраторски профил AdminAccountCreation=Създаване на администраторски профил
PleaseTypePassword=Please type a password, empty passwords are not allowed! PleaseTypePassword=Моля, въведете парола, празно поле не е разрешено!
PleaseTypeALogin=Please type a login! PleaseTypeALogin=Моля, въведете данни за вход!
PasswordsMismatch=Passwords differs, please try again! PasswordsMismatch=Паролите са различни, моля, опитайте отново!
SetupEnd=Край на настройкате SetupEnd=Край на настройката
SystemIsInstalled=Инсталирането завърши. SystemIsInstalled=Инсталация е завършена.
SystemIsUpgraded=Dolibarr е обновен успешно. SystemIsUpgraded=Dolibarr е успешно актуализиран.
YouNeedToPersonalizeSetup=Трябва да конфигурирате Dolibarr според вашите нужди (външен вид, функции, ...). За да направите това, моля последвайте връзката по-долу: YouNeedToPersonalizeSetup=Трябва да конфигурирате Dolibarr според вашите нужди (външен вид, функции, ...). За да направите това, моля последвайте връзката по-долу:
AdminLoginCreatedSuccessfuly=Dolibarr administrator login '<b>%s</b>' created successfully. AdminLoginCreatedSuccessfuly=Администраторския профил '<b> %s </b>' за Dolibarr е успешно създаден.
GoToDolibarr=Отиди на Dolibarr GoToDolibarr=Отидете в Dolibarr
GoToSetupArea=Отиди на Dolibarr (област за настройка) GoToSetupArea=Отидете в Dolibarr (секция за настройка)
MigrationNotFinished=The database version is not completely up to date: run the upgrade process again. MigrationNotFinished=Версията на базата данни не е напълно актуална, изпълнете отново процеса на актуализация.
GoToUpgradePage=Отидете отново на страницата за надграждане GoToUpgradePage=Отидете отново в страницата за актуализация
WithNoSlashAtTheEnd=Без наклонена черта "/" в края WithNoSlashAtTheEnd=Без наклонена черта "/" в края
DirectoryRecommendation=It is recommended to use a directory outside of the web pages. DirectoryRecommendation=Препоръчително е да използвате директория извън уеб страниците.
LoginAlreadyExists=Вече съществува LoginAlreadyExists=Вече съществува
DolibarrAdminLogin=Администраторски вход в Dolibarr DolibarrAdminLogin=Администратор на Dolibarr
AdminLoginAlreadyExists=Dolibarr administrator account '<b>%s</b>' already exists. Go back if you want to create another one. AdminLoginAlreadyExists=Администраторският профил '<b> %s </b>' за Dolibarr вече съществува. Върнете се обратно, ако искате да създадете друг.
FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. FailedToCreateAdminLogin=Неуспешно създаване на администраторски профил за Dolibarr.
WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, you should add a file called <b>install.lock</b> into the Dolibarr document directory in order to prevent the accidental/malicious use of the install tools again. WarningRemoveInstallDir=Внимание, от съображения за сигурност, след като инсталирането или приключи актуализацията, трябва да добавите файл с име <b> install.lock </b> в директорията /documents на Dolibarr, за да предотвратите повторното използване на инструментите за инсталиране.
FunctionNotAvailableInThisPHP=Not available in this PHP FunctionNotAvailableInThisPHP=Не е налично за тази PHP инсталация
ChoosedMigrateScript=Изберете скрипт за миграция ChoosedMigrateScript=Изберете скрипт за миграция
DataMigration=Database migration (data) DataMigration=Миграция на база данни (данни)
DatabaseMigration=Database migration (structure + some data) DatabaseMigration=Миграция на база данни (структура + някои данни)
ProcessMigrateScript=Скрипта обработва ProcessMigrateScript=Скриптова обработка
ChooseYourSetupMode=Изберете режим на настройка и кликнете върху "Начало"... ChooseYourSetupMode=Изберете режим на настройка и кликнете върху "Начало"...
FreshInstall=Нова инсталация FreshInstall=Нова инсталация
FreshInstallDesc=Use this mode if this is your first install. If not, this mode can repair a incomplete previous install. If you want to upgrade your version, choose "Upgrade" mode. FreshInstallDesc=Използвайте този режим, ако това е първата ви инсталация. Ако не, този режим може да поправи непълна предишна инсталация. Ако искате да актуализирате версията си, изберете режим "Актуализация".
Upgrade=Надграждане Upgrade=Актуализация
UpgradeDesc=Използвайте този режим, ако желаете да замените старите файлове на Dolibarr с файлове от по-нова версия. Това ще обнови вашата база данни и данни. UpgradeDesc=Използвайте този режим, ако сте заменили старите Dolibarr файлове с файлове от по-нова версия. Това ще подобри вашата база данни.
Start=Начало Start=Начало
InstallNotAllowed=Настройката не разрешена поради правата на файла <b>conf.php</b> InstallNotAllowed=Настройката не е позволена от липса на разрешения в <b> conf.php </b>
YouMustCreateWithPermission=Трябва да създадете файл %s и да настроите права за запис в него от уеб сървъра по време на процеса на инсталиране. YouMustCreateWithPermission=Трябва да създадете файл %s и да зададете разрешения за запис върху него за уеб сървъра по време на инсталационния процес.
CorrectProblemAndReloadPage=Please fix the problem and press F5 to reload the page. CorrectProblemAndReloadPage=Моля, отстранете проблема и натиснете F5, за да презаредите страницата.
AlreadyDone=Вече мигрирахте AlreadyDone=Вече са мигрирани
DatabaseVersion=Версия на базата данни DatabaseVersion=Версия на базата данни
ServerVersion=Версия на сървъра на базата данни ServerVersion=Версия на сървъра на базата данни
YouMustCreateItAndAllowServerToWrite=Трябва да създадете тази директория и да позволите на уеб сървъра да записва в нея. YouMustCreateItAndAllowServerToWrite=Трябва да създадете тази директория и да позволите на уеб сървъра да записва в нея.
DBSortingCollation=Ред за сортиране на символи DBSortingCollation=Ред за сортиране на символи
YouAskDatabaseCreationSoDolibarrNeedToConnect=You selected create database <b>%s</b>, but for this, Dolibarr needs to connect to server <b>%s</b> with super user <b>%s</b> permissions. YouAskDatabaseCreationSoDolibarrNeedToConnect=Вие избрахте да създадете база данни <b> %s </b>, но за тази цел Dolibarr трябва да се свърже със сървъра <b> %s </b> със права на супер потребител <b> %s </b>
YouAskLoginCreationSoDolibarrNeedToConnect=You selected create database user <b>%s</b>, but for this, Dolibarr needs to connect to server <b>%s</b> with super user <b>%s</b> permissions. YouAskLoginCreationSoDolibarrNeedToConnect=Вие избрахте да създадете потребител за база данни <b> %s </b>, но за тази цел Dolibarr трябва да се свърже със сървъра <b> %s </b> с права на супер потребител <b> %s </b>.
BecauseConnectionFailedParametersMayBeWrong=The database connection failed: the host or super user parameters must be wrong. BecauseConnectionFailedParametersMayBeWrong=Връзката с базата данни е неуспешна: параметрите на хоста или супер потребителя са грешни.
OrphelinsPaymentsDetectedByMethod=Orphans плащане е открито по метода %s OrphelinsPaymentsDetectedByMethod=Orphans плащане е открито по метода %s
RemoveItManuallyAndPressF5ToContinue=Премахнете го ръчно и натиснете F5, за да продължите. RemoveItManuallyAndPressF5ToContinue=Махнете го ръчно и натиснете F5, за да продължите.
FieldRenamed=Полето е преименувано FieldRenamed=Полето е преименувано
IfLoginDoesNotExistsCheckCreateUser=If the user does not exist yet, you must check option "Create user" IfLoginDoesNotExistsCheckCreateUser=Ако потребителят все още не съществува, трябва да включите опцията "Създаване на потребител"
ErrorConnection=Server "<b>%s</b>", database name "<b>%s</b>", login "<b>%s</b>", or database password may be wrong or the PHP client version may be too old compared to the database version. ErrorConnection=Сървърът "<b> %s </b>", името на базата данни "<b> %s </b>", потребителят "<b> %s </b>" или паролата на базата данни може да са грешни, или PHP версията на клиента може да е твърде стара в сравнение с версията на базата данни.
InstallChoiceRecommanded=Препоръчителен избор е да инсталирате версия <b>%s</b> от вашата текуща версия <b>%s</b> InstallChoiceRecommanded=Препоръчителен избор е да се инсталира версия <b> %s </b> от текущата ви версия <b> %s </b>
InstallChoiceSuggested=<b>Избор за инсталиране, предложен от инсталатора</b>. InstallChoiceSuggested=<b>Избор за инсталиране, предложен от инсталатора</b>.
MigrateIsDoneStepByStep=The targeted version (%s) has a gap of several versions. The install wizard will come back to suggest a further migration once this one is complete. MigrateIsDoneStepByStep=Целевата версия (%s) има пропуск в няколко версии. Съветникът за инсталиране ще се върне, за да предложи по-нататъшна миграция, след като приключи тази.
CheckThatDatabasenameIsCorrect=Check that the database name "<b>%s</b>" is correct. CheckThatDatabasenameIsCorrect=Проверете дали името на базата данни "<b> %s </b>" е правилно.
IfAlreadyExistsCheckOption=Ако това име е вярно и тази база данни все още не съществува, трябва да проверите опцията "Създаване на база данни". IfAlreadyExistsCheckOption=Ако това име е вярно и тази база данни все още не съществува, трябва да изберете опцията "Създаване на база данни".
OpenBaseDir=Параметър PHP openbasedir OpenBaseDir=Параметър PHP openbasedir
YouAskToCreateDatabaseSoRootRequired=You checked the box "Create database". For this, you need to provide the login/password of superuser (bottom of form). YouAskToCreateDatabaseSoRootRequired=Поставихте отметка в квадратчето „Създаване на база данни“. За тази цел трябва да предоставите потребителско име / парола на супер потребителя (в края на формуляра).
YouAskToCreateDatabaseUserSoRootRequired=You checked the box "Create database owner". For this, you need to provide the login/password of superuser (bottom of form). YouAskToCreateDatabaseUserSoRootRequired=Поставихте отметка в квадратчето „Създаване на собственик на база данни“. За тази цел трябва да предоставите потребителско име / парола на супер потребителя (в края на формуляра).
NextStepMightLastALongTime=The current step may take several minutes. Please wait until the next screen is shown completely before continuing. NextStepMightLastALongTime=Текущата стъпка може да отнеме няколко минути. Моля, изчакайте, докато следващият екран се покаже напълно, преди да продължите.
MigrationCustomerOrderShipping=Migrate shipping for sales orders storage MigrationCustomerOrderShipping=Мигрирайте доставката за съхранение на поръчки за продажби
MigrationShippingDelivery=Надграждане на хранилище на доставки MigrationShippingDelivery=Надграждане на хранилище на доставки
MigrationShippingDelivery2=Надграждане на хранилище на доставки 2 MigrationShippingDelivery2=Надграждане на хранилище на доставки 2
MigrationFinished=Миграцията завърши MigrationFinished=Миграцията завърши
LastStepDesc=<strong>Last step</strong>: Define here the login and password you wish to use to connect to Dolibarr. <b>Do not lose this as it is the master account to administer all other/additional user accounts.</b> LastStepDesc=<strong> Последна стъпка </strong>: Определете тук потребителското име и паролата, които искате да използвате, за да се свържете с Dolibarr. <b> Не губете това, тъй като това е главният акаунт за администриране на всички други / допълнителни потребителски акаунти. </b>
ActivateModule=Активиране на модул %s ActivateModule=Активиране на модул %s
ShowEditTechnicalParameters=Натиснете тук за да покажете/редактирате параметрите за напреднали (експертен режим) ShowEditTechnicalParameters=Кликнете тук, за да покажете / редактирате разширените параметри (експертен режим)
WarningUpgrade=Warning:\nDid you run a database backup first?\nThis is highly recommended. Loss of data (due to for example bugs in mysql version 5.5.40/41/42/43) may be possible during this process, so it is essential to take a complete dump of your database before starting any migration.\n\nClick OK to start migration process... WarningUpgrade=Внимание:\nАрхивирахте ли преди това базата данни?\nТова е силно препоръчително. Загубата на данни (поради грешки в mysql версия 5.5.40/41/42/43) може да е възможна по време на този процес, така че е важно да се направи пълно архивиране на базата данни преди започване на миграция.\n\nКликнете върху „OK“, за да започнете процеса на мигриране...
ErrorDatabaseVersionForbiddenForMigration=Your database version is %s. It has a critical bug, making data loss possible if you make structural changes in your database, such as is required by the migration process. For his reason, migration will not be allowed until you upgrade your database to a layer (patched) version (list of known buggy versions: %s) ErrorDatabaseVersionForbiddenForMigration=Версията на вашата база данни е %s. Има критична грешка, което прави загубата на данни възможна, ако извършвате структурни промени в базата данни, каквито се изискват от процеса на миграция. Поради тази причина миграцията няма да бъде разрешена, докато не актуализирате базата данни до следваща (закърпена) версия (списък на известните версии с бъгове: %s)
KeepDefaultValuesWamp=You used the Dolibarr setup wizard from DoliWamp, so values proposed here are already optimized. Change them only if you know what you are doing. KeepDefaultValuesWamp=Използвахте съветника за настройка на Dolibarr от DoliWamp, така че предложените тук стойности вече са оптимизирани. Променяйте ги, само ако знаете какво правите.
KeepDefaultValuesDeb=You used the Dolibarr setup wizard from a Linux package (Ubuntu, Debian, Fedora...), so the values proposed here are already optimized. Only the password of the database owner to create must be entered. Change other parameters only if you know what you are doing. KeepDefaultValuesDeb=Използвахте съветника за настройка на Dolibarr от Linux пакет (Ubuntu, Debian, Fedora...), така че предложените тук стойности вече са оптимизирани. Трябва да се въведе само паролата на собственика на базата данни, който ще се създава. Променяйте другите параметри, само ако знаете какво правите.
KeepDefaultValuesMamp=You used the Dolibarr setup wizard from DoliMamp, so the values proposed here are already optimized. Change them only if you know what you are doing. KeepDefaultValuesMamp=Използвахте съветника за настройка на Dolibarr от DoliMamp, така че предложените тук стойности вече са оптимизирани. Променяйте ги само, ако знаете какво правите.
KeepDefaultValuesProxmox=You used the Dolibarr setup wizard from a Proxmox virtual appliance, so the values proposed here are already optimized. Change them only if you know what you are doing. KeepDefaultValuesProxmox=Използвахте съветника за настройка на Dolibarr от виртуалното устройство на Proxmox, така че предложените тук стойности вече са оптимизирани. Променяйте ги, само ако знаете какво правите.
UpgradeExternalModule=Run dedicated upgrade process of external module UpgradeExternalModule=Изпълнете препоръчителния процес за обновяване на външния модул
SetAtLeastOneOptionAsUrlParameter=Set at least one option as a parameter in URL. For example: '...repair.php?standard=confirmed' SetAtLeastOneOptionAsUrlParameter=Задайте поне един параметър като параметър в URL адреса. Например: "... repair.php?standard=confirmed"
NothingToDelete=Nothing to clean/delete NothingToDelete=Няма нищо за почистване / изтриване
NothingToDo=Nothing to do NothingToDo=Няма нищо за правене
######### #########
# upgrade # upgrade
MigrationFixData=Корекция на denormalized данни MigrationFixData=Поправка за денормализирани данни
MigrationOrder=Миграция на данни за поръчки от клиенти MigrationOrder=Миграция на данни за поръчки за продажба
MigrationSupplierOrder=Data migration for vendor's orders MigrationSupplierOrder=Миграция на данни за поръчки за покупка
MigrationProposal=Миграция на данни за оферти MigrationProposal=Миграция на данни за търговски предложения
MigrationInvoice=Миграция на данни за фактури за клиенти MigrationInvoice=Миграция на данни за фактури за продажба
MigrationContract=Миграция на данни за договори MigrationContract=Миграция на данни за договори
MigrationSuccessfullUpdate=Надграждането е успешно MigrationSuccessfullUpdate=Актуализацията е успешна
MigrationUpdateFailed=Неуспешен процес на надграждане MigrationUpdateFailed=Процесът на актуализация не бе успешен
MigrationRelationshipTables=Миграция на данни за свързани таблици (%s) MigrationRelationshipTables=Миграция на данни за свързани таблици (%s)
MigrationPaymentsUpdate=Корекция на данни за плащане MigrationPaymentsUpdate=Корекция на данни за плащания
MigrationPaymentsNumberToUpdate=%s плащания за актуализиране MigrationPaymentsNumberToUpdate=%s плащане(ия) за актуализиране
MigrationProcessPaymentUpdate=Актуализиране на плащания %s MigrationProcessPaymentUpdate=Актуализиране на плащане(ия) %s
MigrationPaymentsNothingToUpdate=Няма повече задачи MigrationPaymentsNothingToUpdate=Няма повече неща за правене
MigrationPaymentsNothingUpdatable=Няма повече плащания, които могат да бъдат коригирани MigrationPaymentsNothingUpdatable=Няма повече плащания, които могат да бъдат коригирани
MigrationContractsUpdate=Корекция на данни в договор MigrationContractsUpdate=Корекция на данни за договори
MigrationContractsNumberToUpdate=%s договор(и) за актуализиране MigrationContractsNumberToUpdate=%s договор(и) за актуализиране
MigrationContractsLineCreation=Създаване на ред в договор с реф. %s MigrationContractsLineCreation=Създаване на ред за реф. договор %s
MigrationContractsNothingToUpdate=Няма повече задачи MigrationContractsNothingToUpdate=Няма повече неща за правене
MigrationContractsFieldDontExist=Field fk_facture does not exist anymore. Nothing to do. MigrationContractsFieldDontExist=Поле fk_facture вече не съществува. Няма нищо за правене.
MigrationContractsEmptyDatesUpdate=Корекция на празна дата в договор MigrationContractsEmptyDatesUpdate=Корекция на празна дата в договори
MigrationContractsEmptyDatesUpdateSuccess=Contract empty date correction done successfully MigrationContractsEmptyDatesUpdateSuccess=Корекцията на празната дата в договора е успешно извършена
MigrationContractsEmptyDatesNothingToUpdate=Няма празна дата на договор за коригиране MigrationContractsEmptyDatesNothingToUpdate=Няма празни дати в договори за коригиране
MigrationContractsEmptyCreationDatesNothingToUpdate=Няма дата за създаване на договор за коригиране MigrationContractsEmptyCreationDatesNothingToUpdate=Няма дати на създаване в договори за коригиране
MigrationContractsInvalidDatesUpdate=Корекция на неправилни дати на договор MigrationContractsInvalidDatesUpdate=Корекция на неправилни дати в договори
MigrationContractsInvalidDateFix=Корекция на договор %s (Дата на договора=%s, Начална дата на услуга мин.=%s) MigrationContractsInvalidDateFix=Корекция на договор %s (Дата на договора=%s, Начална дата на услуга=%s)
MigrationContractsInvalidDatesNumber=%s променени договори MigrationContractsInvalidDatesNumber=%s променен(и) договор(а)
MigrationContractsInvalidDatesNothingToUpdate=Няма дата с лоша стойност за коригиране MigrationContractsInvalidDatesNothingToUpdate=Няма неправилни дати в договори за коригиране
MigrationContractsIncoherentCreationDateUpdate=Лоша стойност за дата на създаване на договор MigrationContractsIncoherentCreationDateUpdate=Корекция на неправилни дати на създаване в договори
MigrationContractsIncoherentCreationDateUpdateSuccess=Bad value contract creation date correction done successfully MigrationContractsIncoherentCreationDateUpdateSuccess=Корекцията на неправилните дати на създаване в договори е успешно извършена
MigrationContractsIncoherentCreationDateNothingToUpdate=Няма лоши стойности за дата на създаване на договор за коригиране MigrationContractsIncoherentCreationDateNothingToUpdate=Няма неправилни дати на създаване в договори за коригиране
MigrationReopeningContracts=Отворен договор затворен по грешка MigrationReopeningContracts=Отворен договор е затворен с грешка
MigrationReopenThisContract=Ново отваряне на договор %s MigrationReopenThisContract=Повторно отваряне на договор %s
MigrationReopenedContractsNumber=%s договори са променени MigrationReopenedContractsNumber=%s променен(и) договор(а)
MigrationReopeningContractsNothingToUpdate=Няма затворен договор за отваряне MigrationReopeningContractsNothingToUpdate=Няма затворени договори за отваряне
MigrationBankTransfertsUpdate=Update links between bank entry and a bank transfer MigrationBankTransfertsUpdate=Актуализиране на връзките между банков запис и банков превод
MigrationBankTransfertsNothingToUpdate=Всички връзки са актуални MigrationBankTransfertsNothingToUpdate=Всички връзки са актуални
MigrationShipmentOrderMatching=Актуализация на експедиционни бележки MigrationShipmentOrderMatching=Актуализация на експедиционни бележки
MigrationDeliveryOrderMatching=Актуализация на обратни разписки MigrationDeliveryOrderMatching=Актуализация на обратни разписки
MigrationDeliveryDetail=Актуализация на доставката MigrationDeliveryDetail=Актуализация на доставки
MigrationStockDetail=Актуализиране на наличната стойност на продукти MigrationStockDetail=Актуализиране на стоковата наличност на продукти
MigrationMenusDetail=Актуализиране на таблици за динамични менюта MigrationMenusDetail=Актуализиране на таблици за динамични менюта
MigrationDeliveryAddress=Актуализиране на адрес за доставка на пратки, MigrationDeliveryAddress=Актуализиране на адреси за доставка в пратки
MigrationProjectTaskActors=Data migration for table llx_projet_task_actors MigrationProjectTaskActors=Миграция на данни за таблица llx_projet_task_actors
MigrationProjectUserResp=Миграция на полето fk_user_resp на llx_projet llx_element_contact MigrationProjectUserResp=Миграция на поле fk_user_resp от llx_projet към llx_element_contact
MigrationProjectTaskTime=Актуализация на времето, прекарано в секунда MigrationProjectTaskTime=Актуализиране на отделеното време в секунди
MigrationActioncommElement=Актуализиране на данните за действия MigrationActioncommElement=Актуализиране на данните за действия
MigrationPaymentMode=Data migration for payment type MigrationPaymentMode=Миграция на данни за типът на плащане
MigrationCategorieAssociation=Миграция на категории MigrationCategorieAssociation=Миграция на категории
MigrationEvents=Migration of events to add event owner into assignment table MigrationEvents=Миграция на данни за събития за добавяне на собственик на събитие в определената таблица
MigrationEventsContact=Migration of events to add event contact into assignment table MigrationEventsContact=Миграция на данни за събития за добавяне на контакт за събитие в определената таблица
MigrationRemiseEntity=Update entity field value of llx_societe_remise MigrationRemiseEntity=Актуализиране на стойността на полето в обекта llx_societe_remise
MigrationRemiseExceptEntity=Update entity field value of llx_societe_remise_except MigrationRemiseExceptEntity=Актуализиране на стойността на полето в обекта llx_societe_remise_except
MigrationUserRightsEntity=Update entity field value of llx_user_rights MigrationUserRightsEntity=Актуализиране на стойността на полето в обекта llx_user_rights
MigrationUserGroupRightsEntity=Update entity field value of llx_usergroup_rights MigrationUserGroupRightsEntity=Актуализиране на стойността на полето в обекта llx_usergroup_rights
MigrationUserPhotoPath=Migration of photo paths for users MigrationUserPhotoPath=Миграция на пътя до снимки на потребители
MigrationReloadModule=Презареждане на модула %s MigrationReloadModule=Презареждане на модул %s
MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm MigrationResetBlockedLog=Нулиране на модула BlockedLog за алгоритъм v7
ShowNotAvailableOptions=Show unavailable options ShowNotAvailableOptions=Показване на недостъпни опции
HideNotAvailableOptions=Hide unavailable options HideNotAvailableOptions=Скриване на недостъпни опции
ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can <a href="%s">click here</a>, but the application or some features may not work correctly until the errors are resolved. ErrorFoundDuringMigration=По време на процеса на миграция са докладвани грешки, така че следващата стъпка не е възможна. За да игнорирате грешките, може да <a href="%s"> кликнете тук </a>, но приложението или някои функции може да не работят правилно, докато грешките не бъдат отстранени.
YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (directory renamed with .lock suffix).<br> YouTryInstallDisabledByDirLock=Приложението се опита да се самоактуализира, но страниците за инсталация / актуализация са били изключени от гледна точка на сигурност (директорията е преименувана с .lock суфикс). <br>
YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file <strong>install.lock</strong> in the dolibarr documents directory).<br> YouTryInstallDisabledByFileLock=Приложението се опита да се самоактуализира, но страниците за инсталация / актуализация са били изключени от гледна точка на сигурност (от наличието на заключващ файл <strong> install.lock </strong> в директорията documents на Dolibarr). <br>
ClickHereToGoToApp=Click here to go to your application ClickHereToGoToApp=Кликнете тук, за да отидете в приложението си
ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. ClickOnLinkOrRemoveManualy=Кликнете върху следната връзка. Ако винаги виждате същата страница, трябва да премахнете / преименувате файла install.lock в директорията documents на Dolibarr.

View File

@ -1,31 +1,31 @@
# Dolibarr language file - Source file is en_US - loan # Dolibarr language file - Source file is en_US - loan
Loan=Заем Loan=Кредит
Loans=Заеми Loans=Кредити
NewLoan=Нов Заем NewLoan=Нов кредит
ShowLoan=Показване на Заем ShowLoan=Показване на кредит
PaymentLoan=Плащане на Заем PaymentLoan=Плащане по кредит
LoanPayment=Плащане на Заем LoanPayment=Плащане по кредит
ShowLoanPayment=Показване на плащането на Заем ShowLoanPayment=Показване на плащане по кредит
LoanCapital=Капитал LoanCapital=Капитал
Insurance=Застраховка Insurance=Застраховка
Interest=Лихва Interest=Лихва
Nbterms=Number of terms Nbterms=Брой условия
Term=Term Term=Условие
LoanAccountancyCapitalCode=Accounting account capital LoanAccountancyCapitalCode=Счетоводна сметка на капитал
LoanAccountancyInsuranceCode=Accounting account insurance LoanAccountancyInsuranceCode=Счетоводна сметка на застраховка
LoanAccountancyInterestCode=Accounting account interest LoanAccountancyInterestCode=Счетоводна сметка за лихва
ConfirmDeleteLoan=Потвърдете изтриването на този заем ConfirmDeleteLoan=Потвърдете изтриването на този кредит
LoanDeleted=Заемът е изтрит успешно LoanDeleted=Кредитът е успешно изтрит
ConfirmPayLoan=Confirm classify paid this loan ConfirmPayLoan=Потвърдете класифицирането на този кредит като платен
LoanPaid=Заем Платен LoanPaid=Платен кредит
ListLoanAssociatedProject=List of loan associated with the project ListLoanAssociatedProject=Списък на кредити, свързани с проекта
AddLoan=Create loan AddLoan=Създаване на кредит
FinancialCommitment=Financial commitment FinancialCommitment=Финансово задължение
InterestAmount=Лихва InterestAmount=Лихва
CapitalRemain=Capital remain CapitalRemain=Оставащ капитал
# Admin # Admin
ConfigLoan=Конфигурация на модула заем ConfigLoan=Конфигуриране на модула Кредити
LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accounting account capital by default LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Счетоводна сметка на капитал по подразбиране
LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accounting account interest by default LOAN_ACCOUNTING_ACCOUNT_INTEREST=Счетоводна сметка на лихва по подразбиране
LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accounting account insurance by default LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Счетоводна сметка на застраховка по подразбиране
CreateCalcSchedule=Edit financial commitment CreateCalcSchedule=Променяне на финансово задължение

View File

@ -14,7 +14,7 @@ MailTo=Получател (и)
MailToUsers=До потребител (и) MailToUsers=До потребител (и)
MailCC=Копие до MailCC=Копие до
MailToCCUsers=Копие до потребител (и) MailToCCUsers=Копие до потребител (и)
MailCCC=Явно копие до MailCCC=Скрито копие до
MailTopic=Тема на имейла MailTopic=Тема на имейла
MailText=Съобщение MailText=Съобщение
MailFile=Прикачени файлове MailFile=Прикачени файлове
@ -24,7 +24,7 @@ BodyNotIn=Не е в съобщение
ShowEMailing=Показване на масови имейли ShowEMailing=Показване на масови имейли
ListOfEMailings=Списък на масови имейли ListOfEMailings=Списък на масови имейли
NewMailing=Нов масов имейл NewMailing=Нов масов имейл
EditMailing=Редактиране на масов имейл EditMailing=Променяне на масов имейл
ResetMailing=Повторно изпращане на масов имейл ResetMailing=Повторно изпращане на масов имейл
DeleteMailing=Изтриване на масов имейл DeleteMailing=Изтриване на масов имейл
DeleteAMailing=Изтриване на масов имейл DeleteAMailing=Изтриване на масов имейл

View File

@ -152,7 +152,7 @@ AddLink=Добавяне на връзка
RemoveLink=Премахване на връзка RemoveLink=Премахване на връзка
AddToDraft=Добавяне към чернова AddToDraft=Добавяне към чернова
Update=Актуализиране Update=Актуализиране
Close=Затваряне Close=Приключване
CloseBox=Премахнете джаджата от таблото си за управление CloseBox=Премахнете джаджата от таблото си за управление
Confirm=Потвърждаване Confirm=Потвърждаване
ConfirmSendCardByMail=Наистина ли искате да изпратите съдържанието на тази карта по имейл до <b> %s </b>? ConfirmSendCardByMail=Наистина ли искате да изпратите съдържанието на тази карта по имейл до <b> %s </b>?
@ -161,7 +161,7 @@ Remove=Премахване
Resiliate=Прекратяване Resiliate=Прекратяване
Cancel=Анулиране Cancel=Анулиране
Modify=Променяне Modify=Променяне
Edit=Редактиране Edit=Променяне
Validate=Валидиране Validate=Валидиране
ValidateAndApprove=Валидиране и одобряване ValidateAndApprove=Валидиране и одобряване
ToValidate=За валидиране ToValidate=За валидиране
@ -445,6 +445,7 @@ ContactsAddressesForCompany=Контакти / адреси за този кон
AddressesForCompany=Адреси за този контрагент AddressesForCompany=Адреси за този контрагент
ActionsOnCompany=Събития за този контрагент ActionsOnCompany=Събития за този контрагент
ActionsOnContact=Събития за този контакт / адрес ActionsOnContact=Събития за този контакт / адрес
ActionsOnContract=Events for this contract
ActionsOnMember=Събития за този член ActionsOnMember=Събития за този член
ActionsOnProduct=Събития за този продукт ActionsOnProduct=Събития за този продукт
NActionsLate=%s закъснели NActionsLate=%s закъснели
@ -524,7 +525,7 @@ Photos=Снимки
AddPhoto=Добавяне на снимка AddPhoto=Добавяне на снимка
DeletePicture=Изтриване на снимка DeletePicture=Изтриване на снимка
ConfirmDeletePicture=Потвърждавате ли изтриването на снимката? ConfirmDeletePicture=Потвърждавате ли изтриването на снимката?
Login=Потребител Login=Потребителско име
LoginEmail=Потребител (имейл) LoginEmail=Потребител (имейл)
LoginOrEmail=Потребител или имейл LoginOrEmail=Потребител или имейл
CurrentLogin=Текущ потребител CurrentLogin=Текущ потребител
@ -759,6 +760,7 @@ LinkToSupplierProposal=Връзка към запитване към доста
LinkToSupplierInvoice=Връзка към фактура за доставка LinkToSupplierInvoice=Връзка към фактура за доставка
LinkToContract=Връзка към договор LinkToContract=Връзка към договор
LinkToIntervention=Връзка към интервенция LinkToIntervention=Връзка към интервенция
LinkToTicket=Link to ticket
CreateDraft=Създаване на чернова CreateDraft=Създаване на чернова
SetToDraft=Назад към черновата SetToDraft=Назад към черновата
ClickToEdit=Кликнете, за да редактирате ClickToEdit=Кликнете, за да редактирате

View File

@ -12,7 +12,7 @@ FundationMembers=Членове на организацията
ListOfValidatedPublicMembers=Списък на настоящите публични членове ListOfValidatedPublicMembers=Списък на настоящите публични членове
ErrorThisMemberIsNotPublic=Този член не е публичен ErrorThisMemberIsNotPublic=Този член не е публичен
ErrorMemberIsAlreadyLinkedToThisThirdParty=Друг член (име: <b> %s </b>, вход: <b> %s </b> вече е свързан с контрагента <b> %s </b>. Премахнете тази връзка първо, защото контрагента не може да бъде свързана само с член (и обратно). ErrorMemberIsAlreadyLinkedToThisThirdParty=Друг член (име: <b> %s </b>, вход: <b> %s </b> вече е свързан с контрагента <b> %s </b>. Премахнете тази връзка първо, защото контрагента не може да бъде свързана само с член (и обратно).
ErrorUserPermissionAllowsToLinksToItselfOnly=От съображения за сигурност, трябва да ви бъдат предоставени права за редактиране на всички потребители да могат свързват член към потребител, който не е ваш. ErrorUserPermissionAllowsToLinksToItselfOnly=От съображения за сигурност трябва да имате права за променяне на всички потребители, за да може да свържете член с потребител, който не сте вие.
SetLinkToUser=Връзка към Dolibarr потребител SetLinkToUser=Връзка към Dolibarr потребител
SetLinkToThirdParty=Линк към Dolibarr контрагент SetLinkToThirdParty=Линк към Dolibarr контрагент
MembersCards=Визитни картички на членове MembersCards=Визитни картички на членове
@ -159,13 +159,13 @@ SubscriptionPayment=Плащане на членски внос
LastSubscriptionDate=Date of latest subscription payment LastSubscriptionDate=Date of latest subscription payment
LastSubscriptionAmount=Amount of latest subscription LastSubscriptionAmount=Amount of latest subscription
MembersStatisticsByCountries=Статистика за членовете по държава MembersStatisticsByCountries=Статистика за членовете по държава
MembersStatisticsByState=Статистика за членовете по област MembersStatisticsByState=Статистика за членове по област
MembersStatisticsByTown=Статистика за членовете по град MembersStatisticsByTown=Статистика за членовете по град
MembersStatisticsByRegion=Статистики на членовете по регион MembersStatisticsByRegion=Статистики на членовете по регион
NbOfMembers=Брой членове NbOfMembers=Брой членове
NoValidatedMemberYet=Няма намерени потвърдени членове NoValidatedMemberYet=Няма намерени потвърдени членове
MembersByCountryDesc=Този екран показва статистическите данни за членовете по държави. Графиката зависи от онлайн услугата Google графика и е достъпна само ако имате свързаност с интернет. MembersByCountryDesc=Този екран показва статистическите данни за членовете по държави. Графиката зависи от онлайн услугата Google графика и е достъпна само ако имате свързаност с интернет.
MembersByStateDesc=Този екран показва статистическите данни за членовете по област. MembersByStateDesc=Този екран показва статистически данни за членове по област / регион.
MembersByTownDesc=Този екран показва статистическите данни за членовете по град. MembersByTownDesc=Този екран показва статистическите данни за членовете по град.
MembersStatisticsDesc=Изберете статистически данни, които искате да прочетете ... MembersStatisticsDesc=Изберете статистически данни, които искате да прочетете ...
MenuMembersStats=Статистика MenuMembersStats=Статистика

View File

@ -1,30 +1,30 @@
# Dolibarr language file - Source file is en_US - oauth # Dolibarr language file - Source file is en_US - oauth
ConfigOAuth=Oauth Configuration ConfigOAuth=OAuth конфигурация
OAuthServices=OAuth services OAuthServices=OAuth услуги
ManualTokenGeneration=Manual token generation ManualTokenGeneration=Ръчно генериране на токен
TokenManager=Token manager TokenManager=Токен мениджър
IsTokenGenerated=Is token generated ? IsTokenGenerated=Генериран ли е токен?
NoAccessToken=No access token saved into local database NoAccessToken=Няма запазен токен за достъп в локалната база данни
HasAccessToken=A token was generated and saved into local database HasAccessToken=Беше генериран и съхранен токен в локалната база данни
NewTokenStored=Token received and saved NewTokenStored=Токенът е получен и съхранен
ToCheckDeleteTokenOnProvider=Click here to check/delete authorization saved by %s OAuth provider ToCheckDeleteTokenOnProvider=Кликнете тук, за да проверите / изтриете разрешение, съхранено от %s OAuth доставчик
TokenDeleted=Token deleted TokenDeleted=Токенът е изтрит
RequestAccess=Click here to request/renew access and receive a new token to save RequestAccess=Кликнете тук, за да заявите / подновите достъпа и да получите нов токен, който да запазите
DeleteAccess=Click here to delete token DeleteAccess=Кликнете тук, за да изтриете токенът
UseTheFollowingUrlAsRedirectURI=Use the following URL as the Redirect URI when creating your credential on your OAuth provider: UseTheFollowingUrlAsRedirectURI=Използвайте следния URL адрес като URI за пренасочване, когато създавате идентификационни данни през вашият доставчик на OAuth:
ListOfSupportedOauthProviders=Enter here credential provided by your OAuth2 provider. Only supported OAuth2 providers are visible here. This setup may be used by other modules that need OAuth2 authentication. ListOfSupportedOauthProviders=Въведете идентификационните данни, предоставени от вашият OAuth2 доставчик. Тук са изброени поддържаните OAuth2 доставчици. Тези услуги могат да бъдат използвани от други модули, които се нуждаят от OAuth2 удостоверяване.
OAuthSetupForLogin=Page to generate an OAuth token OAuthSetupForLogin=Страница за генериране на OAuth токен
SeePreviousTab=See previous tab SeePreviousTab=Вижте предишния раздел
OAuthIDSecret=OAuth ID and Secret OAuthIDSecret=OAuth ID и Secret
TOKEN_REFRESH=Token Refresh Present TOKEN_REFRESH=Налично е опресняване на токен
TOKEN_EXPIRED=Token expired TOKEN_EXPIRED=Токенът е изтекъл
TOKEN_EXPIRE_AT=Token expire at TOKEN_EXPIRE_AT=Токенът изтича на
TOKEN_DELETE=Delete saved token TOKEN_DELETE=Изтриване на съхранен токен
OAUTH_GOOGLE_NAME=Oauth Google service OAUTH_GOOGLE_NAME=OAuth услуга на Google
OAUTH_GOOGLE_ID=Oauth Google Id OAUTH_GOOGLE_ID=OAuth Google Id
OAUTH_GOOGLE_SECRET=Oauth Google Secret OAUTH_GOOGLE_SECRET=OAuth Google Secret
OAUTH_GOOGLE_DESC=Go on <a class="notasortlink" href="https://console.developers.google.com/" target="_blank">this page</a> then "Credentials" to create Oauth credentials OAUTH_GOOGLE_DESC=Отидете на <a class="notasortlink" href="https://console.developers.google.com/" target="_blank">тази страница</a> след това „Удостоверения“, за да създадете OAuth идентификационни данни
OAUTH_GITHUB_NAME=Oauth GitHub service OAUTH_GITHUB_NAME=OAuth услуга на GitHub
OAUTH_GITHUB_ID=Oauth GitHub Id OAUTH_GITHUB_ID=OAuth GitHub Id
OAUTH_GITHUB_SECRET=Oauth GitHub Secret OAUTH_GITHUB_SECRET=OAuth GitHub Secret
OAUTH_GITHUB_DESC=Go on <a class="notasortlink" href="https://github.com/settings/developers" target="_blank">this page</a> then "Register a new application" to create Oauth credentials OAUTH_GITHUB_DESC=Отидете на <a class="notasortlink" href="https://github.com/settings/developers" target="_blank">тази страница</a> след това „Регистрирайте ново приложение“, за да създадете OAuth идентификационни данни

View File

@ -1,17 +1,17 @@
# Dolibarr language file - Source file is en_US - opensurvey # Dolibarr language file - Source file is en_US - opensurvey
Survey=Анкета Survey=Анкета
Surveys=Анкети Surveys=Анкети
OrganizeYourMeetingEasily=Организиране на вашите срещи и анкети лесно. Първо изберете типа на гласуване ... OrganizeYourMeetingEasily=Организирайте лесно срещите и анкетите си. Първо изберете тип анкета...
NewSurvey=Ново анкета NewSurvey=Ново проучване
OpenSurveyArea=Зона Анкети OpenSurveyArea=Зона за проучвания
AddACommentForPoll=Можете да добавите коментар на анкетата ... AddACommentForPoll=Можете да добавите коментар към анкетата...
AddComment=Добавяне на коментар AddComment=Добавяне на коментар
CreatePoll=Създаване на анкета CreatePoll=Създаване на анкета
PollTitle=Тема на анкетата PollTitle=Тема на анкетата
ToReceiveEMailForEachVote=Получаване на имейл за всеки глас ToReceiveEMailForEachVote=Получаване на имейл за всеки глас
TypeDate=Дата TypeDate=Срочна
TypeClassic=Стандартно TypeClassic=Стандартна
OpenSurveyStep2=Изберете вашите дата между свободните дни (сиво). Избраните дни са зелени. Можете да махнете избрания преди това ден като отново кликнете върху него. OpenSurveyStep2=Изберете вашите дати измежду свободните дни в сиво. Избраните дни ще бъдат оцветени в зелено. Може да отмените избора си за предварително избран ден като кликнете отново върху него.
RemoveAllDays=Премахване на всички дни RemoveAllDays=Премахване на всички дни
CopyHoursOfFirstDay=Копиране на часовете от първия ден CopyHoursOfFirstDay=Копиране на часовете от първия ден
RemoveAllHours=Премахване на всички часове RemoveAllHours=Премахване на всички часове
@ -19,43 +19,43 @@ SelectedDays=Избрани дни
TheBestChoice=С най-много гласове в момента е TheBestChoice=С най-много гласове в момента е
TheBestChoices=С най-много гласове в момента са TheBestChoices=С най-много гласове в момента са
with=с with=с
OpenSurveyHowTo=Ако сте съгласни да гласувате в тази анкета, трябва въведете името си, да изберете отговорите, които най-подходящи за вас и да потвърдите с бутон плюс в края на този ред. OpenSurveyHowTo=Ако сте съгласни да гласувате в тази анкета, трябва да въведете името си, да изберете отговорите, които са най-подходящи за вас и да потвърдите с бутона плюс в края на реда.
CommentsOfVoters=Коментари на гласувалите CommentsOfVoters=Коментари на гласоподавателите
ConfirmRemovalOfPoll=Сигурни ли сте, че желаете да премахнете анкетата (и всички гласове) ConfirmRemovalOfPoll=Сигурни ли сте, че искате да премахнете тази анкета (и всички гласове)?
RemovePoll=Премахване на анкета RemovePoll=Премахване на анкета
UrlForSurvey=URL за директен достъп до акетата UrlForSurvey=URL адрес за директен достъп до анкетата
PollOnChoice=You are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll: PollOnChoice=Създавате анкета, за да направите проучване с предварително дефинирани отговори. Първо въведете всички възможни отговори за вашата анкета:
CreateSurveyDate=Създаване на анкета със срок CreateSurveyDate=Създаване на срочна анкета
CreateSurveyStandard=Създаване на стандартно гласуване CreateSurveyStandard=Създаване на стандартна анкета
CheckBox=Отметка CheckBox=Отметка
YesNoList=Списък (празно/да/не) YesNoList=Списък (празно/да/не)
PourContreList=Списък (празно/за/против) PourContreList=Списък (празно/за/против)
AddNewColumn=Добавяне на нова колона AddNewColumn=Добавяне на нова колона
TitleChoice=Избор на етикет TitleChoice=Избор на етикет
ExportSpreadsheet=Експорт на разултатна таблица ExportSpreadsheet=Експортиране на таблица с резултати
ExpireDate=Крайната дата ExpireDate=Крайна дата
NbOfSurveys=Брой на анкетите NbOfSurveys=Брой анкети
NbOfVoters=Брой гласове NbOfVoters=Брой гласоподаватели
SurveyResults=Резултати SurveyResults=Резултати
PollAdminDesc=Позволено ви е да променяте всички линии за гласуване от тази анкета с бутон "Редактиране". Можете, също така, изтривате колона или линия с %s. Можете също да добавяте нова колона с %s. PollAdminDesc=Имате право да променяте всички редове за гласуване от тази анкета с бутон 'Променяне'. Можете също така, да изтривате колона или линия с %s. Можете също да добавяте нова колона с %s.
5MoreChoices=Още 5 5MoreChoices=Още 5
Against=Против Against=Против
YouAreInivitedToVote=Поканени сте да гласувате за тази анкета YouAreInivitedToVote=Поканени сте да гласувате в тази анкета
VoteNameAlreadyExists=Името вече е било използвано за тази анкета VoteNameAlreadyExists=Това име вече беше използвано в тази анкета
AddADate=Добавяне на дата AddADate=Добавяне на дата
AddStartHour=Добавяне на начален час AddStartHour=Добавяне на начален час
AddEndHour=Добавяне на краен час AddEndHour=Добавяне на краен час
votes=глас(а) votes=глас(а)
NoCommentYet=Все още няма публикувани коментари за тази анкета NoCommentYet=Все още няма публикувани коментари в тази анкета
CanComment=Гласуващите могат да коментират в анкетата CanComment=Гласоподавателите могат да коментират в анкетата
CanSeeOthersVote=Анкетираните могат да виждат гласа на другите хора. CanSeeOthersVote=Гласоподавателите могат да виждат гласа на другите хора
SelectDayDesc=За всеки избран ден можете да изберете или не часовете за среща в следния формат: <br>- празно,<br>- "8h", "8H" или 8:00", за да зададете начален час на среща,<br>- "8-11", "8h-11h", "8H-11H" или "8:00-11:00", за да зададете час на край на среща,<br>- "8h15-11h15", "8H15-11H15" или "8:15-11:15" за същото нещо, но с минути. SelectDayDesc=За всеки избран ден, може да изберете или не часовете за срещи в следния формат: <br> - празно, <br> - "8h", "8H" или "8:00", за да зададете начален час на срещата, <br> - "8- 11", "8h-11h", "8H-11H" или "8: 00-11:00", за да зададете начален и краен час на срещата, <br> -"8h15-11h15", "8H15-11H15" или "8:15-11:15" за същото, но с минути.
BackToCurrentMonth=Обратно в текущия месец BackToCurrentMonth=Обратно към текущия месец
ErrorOpenSurveyFillFirstSection=Не сте попълнили първата секция при създаването на анкетата ErrorOpenSurveyFillFirstSection=Не сте попълнили първата секция при създаване на анкетата
ErrorOpenSurveyOneChoice=Въведете поне една възможност за избор ErrorOpenSurveyOneChoice=Въведете поне един избор
ErrorInsertingComment=Възникна грешка при въвеждането на вашия коментар ErrorInsertingComment=Възникна грешка при въвеждане на вашия коментар
MoreChoices=Въведете повече възможности за избор за анкетираните MoreChoices=Въведете повече възможности за избор на гласоподавателите
SurveyExpiredInfo=The poll has been closed or voting delay has expired. SurveyExpiredInfo=Анкетата е затворена или срокът за гласуване е изтекъл.
EmailSomeoneVoted=%s е попълнил ред.\nМожете да намерите вашата анкета на линка:\n%s EmailSomeoneVoted=%s е попълнил ред.\nМожете да намерите вашата анкета на адрес:\n%s
ShowSurvey=Show survey ShowSurvey=Показване на проучването
UserMustBeSameThanUserUsedToVote=You must have voted and use the same user name that the one used to vote, to post a comment UserMustBeSameThanUserUsedToVote=Трябва да сте гласували и да използвате същото потребителско име, с което сте гласували, за да публикувате коментар

View File

@ -1,18 +1,18 @@
# Dolibarr language file - Source file is en_US - orders # Dolibarr language file - Source file is en_US - orders
OrdersArea=Зона за поръчки от клиенти OrdersArea=Секция за поръчки за продажба
SuppliersOrdersArea=Зона за поръчки към доставчици SuppliersOrdersArea=Секция за поръчки за покупка
OrderCard=Карта за поръчка OrderCard=Карта
OrderId=Поръчка Id OrderId=Идентификатор на поръчка
Order=Поръчка Order=Поръчка
PdfOrderTitle=Поръчка PdfOrderTitle=Поръчка
Orders=Поръчки Orders=Поръчки
OrderLine=Ред за поръчка OrderLine=Ред №
OrderDate=Дата на поръчка OrderDate=Дата на поръчка
OrderDateShort=Дата на поръчка OrderDateShort=Дата на поръчка
OrderToProcess=Поръчка за обработване OrderToProcess=Поръчка за обработване
NewOrder=Нова поръчка NewOrder=Нова поръчка
ToOrder=Направи поръчка ToOrder=Възлагане на поръчка
MakeOrder=Направи поръчка MakeOrder=Възлагане на поръчка
SupplierOrder=Поръчка за покупка SupplierOrder=Поръчка за покупка
SuppliersOrders=Поръчки за покупка SuppliersOrders=Поръчки за покупка
SuppliersOrdersRunning=Текущи поръчки за покупка SuppliersOrdersRunning=Текущи поръчки за покупка
@ -53,8 +53,8 @@ StatusOrderRefused=Отхвърлена
StatusOrderBilled=Фактурирана StatusOrderBilled=Фактурирана
StatusOrderReceivedPartially=Частично получена StatusOrderReceivedPartially=Частично получена
StatusOrderReceivedAll=Изцяло получена StatusOrderReceivedAll=Изцяло получена
ShippingExist=Съществува пратка ShippingExist=Съществува доставка
QtyOrdered=Поръчано к-во QtyOrdered=Поръчано кол.
ProductQtyInDraft=Количество на продукт в чернови поръчки ProductQtyInDraft=Количество на продукт в чернови поръчки
ProductQtyInDraftOrWaitingApproved=Количество на продукт в чернови или одобрени поръчки, все още не поръчано ProductQtyInDraftOrWaitingApproved=Количество на продукт в чернови или одобрени поръчки, все още не поръчано
MenuOrdersToBill=Доставени поръчки MenuOrdersToBill=Доставени поръчки
@ -65,7 +65,7 @@ RefuseOrder=Отхвърляне на поръчка
ApproveOrder=Одобряване на поръчка ApproveOrder=Одобряване на поръчка
Approve2Order=Одобряване на поръчка (второ ниво) Approve2Order=Одобряване на поръчка (второ ниво)
ValidateOrder=Валидиране на поръчка ValidateOrder=Валидиране на поръчка
UnvalidateOrder=Редактиране на поръчка UnvalidateOrder=Променяне на поръчка
DeleteOrder=Изтриване на поръчка DeleteOrder=Изтриване на поръчка
CancelOrder=Анулиране на поръчка CancelOrder=Анулиране на поръчка
OrderReopened= Поръчка %s е повторно отворена OrderReopened= Поръчка %s е повторно отворена
@ -87,7 +87,7 @@ OrdersStatisticsSuppliers=Статистика на поръчките за по
NumberOfOrdersByMonth=Брой поръчки на месец NumberOfOrdersByMonth=Брой поръчки на месец
AmountOfOrdersByMonthHT=Стойност на поръчки на месец (без ДДС) AmountOfOrdersByMonthHT=Стойност на поръчки на месец (без ДДС)
ListOfOrders=Списък на поръчки ListOfOrders=Списък на поръчки
CloseOrder=Затваряне на поръчка CloseOrder=Приключване на поръчка
ConfirmCloseOrder=Сигурни ли сте, че искате да поставите статус 'Доставена' на тази поръчка? След като поръчката бъде доставена, тя може да бъде фактурирана. ConfirmCloseOrder=Сигурни ли сте, че искате да поставите статус 'Доставена' на тази поръчка? След като поръчката бъде доставена, тя може да бъде фактурирана.
ConfirmDeleteOrder=Сигурни ли сте, че искате да изтриете тази поръчка? ConfirmDeleteOrder=Сигурни ли сте, че искате да изтриете тази поръчка?
ConfirmValidateOrder=Сигурни ли сте, че искате да валидирате тази поръчка под името <b>%s</b>? ConfirmValidateOrder=Сигурни ли сте, че искате да валидирате тази поръчка под името <b>%s</b>?
@ -100,9 +100,9 @@ DraftOrders=Чернови поръчки
DraftSuppliersOrders=Чернови поръчки за покупка DraftSuppliersOrders=Чернови поръчки за покупка
OnProcessOrders=Поръчки в изпълнение OnProcessOrders=Поръчки в изпълнение
RefOrder=Реф. поръчка RefOrder=Реф. поръчка
RefCustomerOrder=Реф. поръчка за клиент RefCustomerOrder=Реф. поръчка на клиент
RefOrderSupplier=Реф. поръчка за доставчик RefOrderSupplier=Реф. поръчка на доставчик
RefOrderSupplierShort=Реф. поръчка доставчик RefOrderSupplierShort=Реф. поръчка на доставчик
SendOrderByMail=Изпращане на поръчка по имейл SendOrderByMail=Изпращане на поръчка по имейл
ActionsOnOrder=Свързани събития ActionsOnOrder=Свързани събития
NoArticleOfTypeProduct=Няма артикул от тип 'продукт', така че няма артикули годни за доставка по тази поръчка NoArticleOfTypeProduct=Няма артикул от тип 'продукт', така че няма артикули годни за доставка по тази поръчка
@ -123,7 +123,7 @@ TypeContact_commande_internal_SALESREPFOLL=Представител просле
TypeContact_commande_internal_SHIPPING=Представител проследяващ изпращането TypeContact_commande_internal_SHIPPING=Представител проследяващ изпращането
TypeContact_commande_external_BILLING=Контакт на клиент за фактура TypeContact_commande_external_BILLING=Контакт на клиент за фактура
TypeContact_commande_external_SHIPPING=Контакт на клиент за доставка TypeContact_commande_external_SHIPPING=Контакт на клиент за доставка
TypeContact_commande_external_CUSTOMER=Контакт на клиент за поръчка TypeContact_commande_external_CUSTOMER=Контакт на клиент проследяващ поръчката
TypeContact_order_supplier_internal_SALESREPFOLL=Представител проследяващ поръчката за покупка TypeContact_order_supplier_internal_SALESREPFOLL=Представител проследяващ поръчката за покупка
TypeContact_order_supplier_internal_SHIPPING=Представител проследяващ изпращането TypeContact_order_supplier_internal_SHIPPING=Представител проследяващ изпращането
TypeContact_order_supplier_external_BILLING=Контакт на доставчик за фактура TypeContact_order_supplier_external_BILLING=Контакт на доставчик за фактура
@ -154,5 +154,5 @@ CreateOrders=Създаване на поръчки
ToBillSeveralOrderSelectCustomer=За да създадете фактура по няколко поръчки, кликнете първо на клиент, след това изберете '%s'. ToBillSeveralOrderSelectCustomer=За да създадете фактура по няколко поръчки, кликнете първо на клиент, след това изберете '%s'.
OptionToSetOrderBilledNotEnabled=Опцията (от модул 'Работен процес') за автоматична смяна на статуса на поръчката на 'Фактурирана' при валидиране на фактурата е изключена, така че ще трябва ръчно да промените статута на поръчка на 'Фактурирана'. OptionToSetOrderBilledNotEnabled=Опцията (от модул 'Работен процес') за автоматична смяна на статуса на поръчката на 'Фактурирана' при валидиране на фактурата е изключена, така че ще трябва ръчно да промените статута на поръчка на 'Фактурирана'.
IfValidateInvoiceIsNoOrderStayUnbilled=Ако фактурата не е валидирана, поръчката ще остане със статус 'Не фактурирана', докато фактурата не бъде валидирана. IfValidateInvoiceIsNoOrderStayUnbilled=Ако фактурата не е валидирана, поръчката ще остане със статус 'Не фактурирана', докато фактурата не бъде валидирана.
CloseReceivedSupplierOrdersAutomatically=Затваряне на поръчката на '%s' автоматично, ако всички продукти са получени. CloseReceivedSupplierOrdersAutomatically=Приключване на поръчката на '%s' автоматично, ако всички продукти са получени.
SetShippingMode=Задайте режим на доставка SetShippingMode=Задайте режим на доставка

View File

@ -7,8 +7,8 @@ ToolsDesc=Всички инструменти, които не са включе
Birthday=Рожден ден Birthday=Рожден ден
BirthdayDate=Рождена дата BirthdayDate=Рождена дата
DateToBirth=Дата на раждане DateToBirth=Дата на раждане
BirthdayAlertOn=Известяването за рожден ден е активно BirthdayAlertOn=сигнал за рожден ден активен
BirthdayAlertOff=Известяването за рожден ден е неактивно BirthdayAlertOff=сигнал за рожден ден неактивен
TransKey=Превод на ключа TransKey TransKey=Превод на ключа TransKey
MonthOfInvoice=Месец (1÷12) от датата на фактурата MonthOfInvoice=Месец (1÷12) от датата на фактурата
TextMonthOfInvoice=Месец (текст) на датата на фактурата TextMonthOfInvoice=Месец (текст) на датата на фактурата
@ -31,10 +31,10 @@ NextYearOfInvoice=Следваща година от датата на факт
DateNextInvoiceBeforeGen=Дата на следващата фактура (преди генериране) DateNextInvoiceBeforeGen=Дата на следващата фактура (преди генериране)
DateNextInvoiceAfterGen=Дата на следващата фактура (след генериране) DateNextInvoiceAfterGen=Дата на следващата фактура (след генериране)
Notify_ORDER_VALIDATE=Клиентската поръчка е валидирана Notify_ORDER_VALIDATE=Поръчката за продажба е валидирана
Notify_ORDER_SENTBYMAIL=Клиентската поръчка е изпратена на имейл Notify_ORDER_SENTBYMAIL=Поръчката за продажба е изпратена на имейл
Notify_ORDER_SUPPLIER_SENTBYMAIL=Поръчката за покупка е изпратена на имейл Notify_ORDER_SUPPLIER_SENTBYMAIL=Поръчката за покупка е изпратена на имейл
Notify_ORDER_SUPPLIER_VALIDATE=Поръчката за покупка е записана Notify_ORDER_SUPPLIER_VALIDATE=Поръчката за покупка е валидирана
Notify_ORDER_SUPPLIER_APPROVE=Поръчката за покупка е одобрена Notify_ORDER_SUPPLIER_APPROVE=Поръчката за покупка е одобрена
Notify_ORDER_SUPPLIER_REFUSE=Поръчката за покупка е отхвърлена Notify_ORDER_SUPPLIER_REFUSE=Поръчката за покупка е отхвърлена
Notify_PROPAL_VALIDATE=Търговското предложение е валидирано Notify_PROPAL_VALIDATE=Търговското предложение е валидирано
@ -44,20 +44,20 @@ Notify_PROPAL_SENTBYMAIL=Търговското предложение е изп
Notify_WITHDRAW_TRANSMIT=Оттегляне на трансмисия Notify_WITHDRAW_TRANSMIT=Оттегляне на трансмисия
Notify_WITHDRAW_CREDIT=Оттегляне на кредит Notify_WITHDRAW_CREDIT=Оттегляне на кредит
Notify_WITHDRAW_EMIT=Извършване на оттегляне Notify_WITHDRAW_EMIT=Извършване на оттегляне
Notify_COMPANY_CREATE=Контрагента е създаден Notify_COMPANY_CREATE=Контрагентът е създаден
Notify_COMPANY_SENTBYMAIL=Имейли изпратени от картата на контрагента Notify_COMPANY_SENTBYMAIL=Имейли изпратени от картата на контрагента
Notify_BILL_VALIDATE=Клиентската фактура е валидирана Notify_BILL_VALIDATE=Фактурата за продажба е валидирана
Notify_BILL_UNVALIDATE=Клиентската фактура е не валидирана Notify_BILL_UNVALIDATE=Фактурата за продажба е отворена отново
Notify_BILL_PAYED=Клиентската фактура е платена Notify_BILL_PAYED=Фактурата за продажба е платена
Notify_BILL_CANCEL=Клиентската фактура е анулирана Notify_BILL_CANCEL=Фактурата за продажба е анулирана
Notify_BILL_SENTBYMAIL=Клиентската фактура е изпратена на имейл Notify_BILL_SENTBYMAIL=Фактурата за продажба е изпратена на имейл
Notify_BILL_SUPPLIER_VALIDATE=Доставната фактура е валидирана Notify_BILL_SUPPLIER_VALIDATE=Фактурата за доставка е валидирана
Notify_BILL_SUPPLIER_PAYED=Доставната фактура е платена Notify_BILL_SUPPLIER_PAYED=Фактурата за доставка е платена
Notify_BILL_SUPPLIER_SENTBYMAIL=Доставната фактура е изпратена на имейл Notify_BILL_SUPPLIER_SENTBYMAIL=Фактурата за доставка е изпратена на имейл
Notify_BILL_SUPPLIER_CANCELED=Доставната фактура е анулирана Notify_BILL_SUPPLIER_CANCELED=Фактурата за доставка е анулирана
Notify_CONTRACT_VALIDATE=Договора е валидиран Notify_CONTRACT_VALIDATE=Договорът е валидиран
Notify_FICHEINTER_VALIDATE=Интервенцията е валидирана Notify_FICHEINTER_VALIDATE=Интервенцията е валидирана
Notify_FICHINTER_ADD_CONTACT=Добавен е контакт към интервенция Notify_FICHINTER_ADD_CONTACT=Добавен е контакт към интервенцията
Notify_FICHINTER_SENTBYMAIL=Интервенцията е изпратена на имейл Notify_FICHINTER_SENTBYMAIL=Интервенцията е изпратена на имейл
Notify_SHIPPING_VALIDATE=Доставката е валидирана Notify_SHIPPING_VALIDATE=Доставката е валидирана
Notify_SHIPPING_SENTBYMAIL=Доставката е изпратена на имейл Notify_SHIPPING_SENTBYMAIL=Доставката е изпратена на имейл
@ -71,7 +71,7 @@ Notify_TASK_CREATE=Задачата е създадена
Notify_TASK_MODIFY=Задачата е променена Notify_TASK_MODIFY=Задачата е променена
Notify_TASK_DELETE=Задачата е изтрита Notify_TASK_DELETE=Задачата е изтрита
Notify_EXPENSE_REPORT_VALIDATE=Разходния отчет е валидиран (изисква се одобрение) Notify_EXPENSE_REPORT_VALIDATE=Разходния отчет е валидиран (изисква се одобрение)
Notify_EXPENSE_REPORT_APPROVE=Разходния отчет е одобрен Notify_EXPENSE_REPORT_APPROVE=Разходният отчет е одобрен
Notify_HOLIDAY_VALIDATE=Молбата за отпуск е валидирана (изисква се одобрение) Notify_HOLIDAY_VALIDATE=Молбата за отпуск е валидирана (изисква се одобрение)
Notify_HOLIDAY_APPROVE=Молбата за отпуск е одобрена Notify_HOLIDAY_APPROVE=Молбата за отпуск е одобрена
SeeModuleSetup=Вижте настройка на модул %s SeeModuleSetup=Вижте настройка на модул %s
@ -82,7 +82,7 @@ AttachANewFile=Прикачване на нов файл / документ
LinkedObject=Свързан обект LinkedObject=Свързан обект
NbOfActiveNotifications=Брой известия (брой получени имейли) NbOfActiveNotifications=Брой известия (брой получени имейли)
PredefinedMailTest=__(Здравейте)__,\nТова е тестово съобщение, изпратено до __EMAIL__.\nДвата реда са разделени, чрез въвеждане на нов ред.\n\n__USER_SIGNATURE__ PredefinedMailTest=__(Здравейте)__,\nТова е тестово съобщение, изпратено до __EMAIL__.\nДвата реда са разделени, чрез въвеждане на нов ред.\n\n__USER_SIGNATURE__
PredefinedMailTestHtml=__(Здравейте)__,\nТова е <b>тестово</b> съобщение (думата 'тестово' трябва да бъде с удебелен шрифт).<br>Двата реда са разделени, чрез въвеждане на нов ред.<br><br>__USER_SIGNATURE__ PredefinedMailTestHtml=__(Здравейте)__,\nТова е <b>тестово</b> съобщение (думата 'тестово' трябва да бъде с удебелен шрифт).\nДвата реда са разделени, чрез въвеждане на нов ред.\n\n__USER_SIGNATURE__
PredefinedMailContentContract=__(Здравейте)__,\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__ PredefinedMailContentContract=__(Здравейте)__,\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__
PredefinedMailContentSendInvoice=__(Здравейте)__,\n\nМоля, вижте приложената фактура __REF__\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__ PredefinedMailContentSendInvoice=__(Здравейте)__,\n\nМоля, вижте приложената фактура __REF__\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__
PredefinedMailContentSendInvoiceReminder=__(Здравейте)__,\n\nБихме желали да Ви напомним, че фактура __REF__ все още не е платена. Копие на фактурата е прикачено към съобщението.\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__(Здравейте)__,\n\nБихме желали да Ви напомним, че фактура __REF__ все още не е платена. Копие на фактурата е прикачено към съобщението.\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__
@ -91,35 +91,35 @@ PredefinedMailContentSendSupplierProposal=__(Здравейте)__,\n\nМоля,
PredefinedMailContentSendOrder=__(Здравейте)__\n\nМоля, вижте приложената поръчка __REF__\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__ PredefinedMailContentSendOrder=__(Здравейте)__\n\nМоля, вижте приложената поръчка __REF__\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__
PredefinedMailContentSendSupplierOrder=__(Здравейте)__,\n\nМоля, вижте приложена нашата поръчка __REF__\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__ PredefinedMailContentSendSupplierOrder=__(Здравейте)__,\n\nМоля, вижте приложена нашата поръчка __REF__\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__
PredefinedMailContentSendSupplierInvoice=__(Здравейте)__,\n\nМоля, вижте приложената фактура __REF__\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__ PredefinedMailContentSendSupplierInvoice=__(Здравейте)__,\n\nМоля, вижте приложената фактура __REF__\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__
PredefinedMailContentSendShipping=__(Здравейте)__,\n\nМоля, вижте приложената пратка __REF__\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__ PredefinedMailContentSendShipping=__(Здравейте)__,\n\nМоля, вижте приложената доставка __REF__\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__
PredefinedMailContentSendFichInter=__(Здравейте)__,\n\nМоля, вижте приложената интервенция __REF__\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__ PredefinedMailContentSendFichInter=__(Здравейте)__,\n\nМоля, вижте приложената интервенция __REF__\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__
PredefinedMailContentThirdparty=__(Здравейте)__,\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__ PredefinedMailContentThirdparty=__(Здравейте)__,\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__
PredefinedMailContentContact=__(Здравейте)__,\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__ PredefinedMailContentContact=__(Здравейте)__,\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__
PredefinedMailContentUser=__(Здравейте)__,\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__ PredefinedMailContentUser=__(Здравейте)__,\n\n\n__(Поздрави)__,\n\n__USER_SIGNATURE__
PredefinedMailContentLink=Можете да кликнете върху връзката по-долу, за да направите плащане, в случай, че не сте го извършили.\n\n%s\n\n PredefinedMailContentLink=Може да кликнете върху връзката по-долу, за да направите плащане, в случай, че не сте го извършили.\n\n%s\n\n
DemoDesc=Dolibarr е компактна ERP / CRM система, която поддържа различни работни модули. Демонстрация, показваща всички модули, няма смисъл, тъй като такъв сценарий никога не се случва (стотици модули са на разположение). Така че, няколко демо профила са налични. DemoDesc=Dolibarr е компактна ERP / CRM система, която поддържа различни работни модули. Демонстрация, показваща всички модули, няма смисъл, тъй като такъв сценарий никога не се случва (стотици модули са на разположение). Така че, няколко демо профила са налични.
ChooseYourDemoProfil=Изберете демо профила, която най-добре отговаря на вашите нужди ... ChooseYourDemoProfil=Изберете демо профила, който най-добре отговаря на вашите нужди...
ChooseYourDemoProfilMore=... или създайте свой собствен профил<br>(свободен избор на модули) ChooseYourDemoProfilMore=...или създайте свой собствен профил<br>(свободен избор на модули)
DemoFundation=Управление на членовете на организацията DemoFundation=Управление на членове на организация
DemoFundation2=Управление на членовете и банковата сметка на организацията DemoFundation2=Управление на членове и банкова сметка на организация
DemoCompanyServiceOnly=Фирма или фрийлансър продаващи само услуги DemoCompanyServiceOnly=Фирма или фрийлансър продаващи само услуги
DemoCompanyShopWithCashDesk=Управление на магазин с каса DemoCompanyShopWithCashDesk=Управление на магазин с каса
DemoCompanyProductAndStocks=Фирма продаваща продукти в магазин DemoCompanyProductAndStocks=Фирма продаваща продукти с магазин
DemoCompanyAll=Фирма с множество дейности (всички основни модули) DemoCompanyAll=Фирма с множество дейности (всички основни модули)
CreatedBy=Създадено от %s CreatedBy=Създадено от %s
ModifiedBy=Променено от %s ModifiedBy=Променено от %s
ValidatedBy=Валидирано от %s ValidatedBy=Валидирано от %s
ClosedBy=Затворено от %s ClosedBy=Приключено от %s
CreatedById=Потребител, който е създал CreatedById=Потребител, който е създал
ModifiedById=Потребител, който е направил последната промяна ModifiedById=Потребител, който е направил последна промяна
ValidatedById=Потребител, който е валидирал ValidatedById=Потребител, който е валидирал
CanceledById=Потребител, който е анулирал CanceledById=Потребител, който е анулирал
ClosedById=Потребител, който е затворил ClosedById=Потребител, който е приключил
CreatedByLogin=Потребител, който е създал CreatedByLogin=Потребител, който е създал
ModifiedByLogin=Потребител, който е направил последната промяна ModifiedByLogin=Потребител, който е направил последна промяна
ValidatedByLogin=Потребител, който е валидирал ValidatedByLogin=Потребител, който е валидирал
CanceledByLogin=Потребител, който е анулирал CanceledByLogin=Потребител, който е анулирал
ClosedByLogin=Потребител, който е затворил ClosedByLogin=Потребител, който е приключил
FileWasRemoved=Файл %s е премахнат FileWasRemoved=Файл %s е премахнат
DirWasRemoved=Директория %s е премахната DirWasRemoved=Директория %s е премахната
FeatureNotYetAvailable=Функцията все още не е налице в текущата версия FeatureNotYetAvailable=Функцията все още не е налице в текущата версия
@ -170,28 +170,28 @@ SizeUnitinch=инч
SizeUnitfoot=фут SizeUnitfoot=фут
SizeUnitpoint=точка SizeUnitpoint=точка
BugTracker=Регистър на бъгове BugTracker=Регистър на бъгове
SendNewPasswordDesc=Този формуляр ви позволява да заявите нова парола. Тя ще бъде изпратена на вашия имейл адрес.<br>Промяната ще влезе в сила, след като кликнете върху връзката за потвърждение в имейла.<br>Проверете си пощата. SendNewPasswordDesc=Този формуляр позволява да заявите нова парола. Тя ще бъде изпратена на вашият имейл адрес.<br>Промяната ще влезе в сила след като кликнете върху връзката за потвърждение в имейла.<br>Проверете си пощата.
BackToLoginPage=Назад към страницата за вход BackToLoginPage=Назад към страницата за вход
AuthenticationDoesNotAllowSendNewPassword=Режимът за удостоверяване е <b>%s</b>.<br> В този режим, системата не може да знае, нито да промени паролата ви.<br> Свържете се с вашия системен администратор, ако искате да промените паролата си. AuthenticationDoesNotAllowSendNewPassword=Режимът за удостоверяване е <b>%s</b>.<br> В този режим, системата не може да знае, нито да промени паролата ви.<br> Свържете се с вашият системен администратор, ако искате да промените паролата си.
EnableGDLibraryDesc=Инсталирайте или активирайте GD библиотеката на вашата PHP инсталация, за да използвате тази опция. EnableGDLibraryDesc=Инсталирайте или активирайте GD библиотеката на вашата PHP инсталация, за да използвате тази опция.
ProfIdShortDesc=<b>Проф. Id %s</b> е информация, в зависимост от държавата на контрагента.<br>Например, за държавата <b>%s</b>, това е код <b>%s</b>. ProfIdShortDesc=<b>Проф. Id %s</b> е информация, в зависимост от държавата на контрагента.<br>Например, за държавата <b>%s</b>, това е код <b>%s</b>.
DolibarrDemo=Dolibarr ERP/CRM демо DolibarrDemo=Dolibarr ERP / CRM демо
StatsByNumberOfUnits=Статистика за общото количество продукти / услуги StatsByNumberOfUnits=Статистика за общото количество продукти / услуги
StatsByNumberOfEntities=Статистика за броя на свързаните документи (брой фактури, поръчка ...) StatsByNumberOfEntities=Статистика за броя на свързаните документи (брой фактури, поръчки...)
NumberOfProposals=Брой търговски предложения NumberOfProposals=Брой търговски предложения
NumberOfCustomerOrders=Брой клиентски поръчки NumberOfCustomerOrders=Брой поръчки за продажба
NumberOfCustomerInvoices=Брой клиентски фактури NumberOfCustomerInvoices=Брой фактури за продажба
NumberOfSupplierProposals=Брой доставни фактури NumberOfSupplierProposals=Брой фактури за доставка
NumberOfSupplierOrders=Брой поръчки за покупка NumberOfSupplierOrders=Брой поръчки за покупка
NumberOfSupplierInvoices=Брой доставни фактури NumberOfSupplierInvoices=Брой фактури за доставка
NumberOfContracts=Брой договори NumberOfContracts=Брой договори
NumberOfUnitsProposals=Брой единици по търговски предложения NumberOfUnitsProposals=Брой по търговски предложения
NumberOfUnitsCustomerOrders=Брой единици по клиентски поръчки NumberOfUnitsCustomerOrders=Брой по поръчки за продажба
NumberOfUnitsCustomerInvoices=Брой единици по клиентски фактури NumberOfUnitsCustomerInvoices=Брой по фактури за продажба
NumberOfUnitsSupplierProposals=Брой единици по запитвания към доставчици NumberOfUnitsSupplierProposals=Брой по запитвания към доставчици
NumberOfUnitsSupplierOrders=Брой единици по поръчки за покупка NumberOfUnitsSupplierOrders=Брой по поръчки за покупка
NumberOfUnitsSupplierInvoices=Брой единици по доставни фактури NumberOfUnitsSupplierInvoices=Брой по фактури за доставка
NumberOfUnitsContracts=Брой единици по договори NumberOfUnitsContracts=Брой по договори
EMailTextInterventionAddedContact=Възложена ви е нова интервенция %s. EMailTextInterventionAddedContact=Възложена ви е нова интервенция %s.
EMailTextInterventionValidated=Интервенция %s е валидирана. EMailTextInterventionValidated=Интервенция %s е валидирана.
EMailTextInvoiceValidated=Фактура %s е валидирана. EMailTextInvoiceValidated=Фактура %s е валидирана.
@ -200,7 +200,7 @@ EMailTextProposalValidated=Търговско предложение %s е ва
EMailTextProposalClosedSigned=Търговско предложение %s е подписано. EMailTextProposalClosedSigned=Търговско предложение %s е подписано.
EMailTextOrderValidated=Поръчка %s е валидирана. EMailTextOrderValidated=Поръчка %s е валидирана.
EMailTextOrderApproved=Поръчка %s е одобрена. EMailTextOrderApproved=Поръчка %s е одобрена.
EMailTextOrderValidatedBy=Поръчка %s е записана от %s. EMailTextOrderValidatedBy=Поръчка %s е валидирана от %s.
EMailTextOrderApprovedBy=Поръчка %s е одобрена от %s. EMailTextOrderApprovedBy=Поръчка %s е одобрена от %s.
EMailTextOrderRefused=Поръчка %s е отхвърлена. EMailTextOrderRefused=Поръчка %s е отхвърлена.
EMailTextOrderRefusedBy=Поръчка %s е отхвърлена от %s. EMailTextOrderRefusedBy=Поръчка %s е отхвърлена от %s.
@ -209,29 +209,29 @@ EMailTextExpenseReportValidated=Разходен отчет %s е валидир
EMailTextExpenseReportApproved=Разходен отчет %s е одобрен. EMailTextExpenseReportApproved=Разходен отчет %s е одобрен.
EMailTextHolidayValidated=Молба за отпуск %s е валидирана. EMailTextHolidayValidated=Молба за отпуск %s е валидирана.
EMailTextHolidayApproved=Молба за отпуск %s е одобрена. EMailTextHolidayApproved=Молба за отпуск %s е одобрена.
ImportedWithSet=Набор от данни за импорт ImportedWithSet=Набор от данни за импортиране
DolibarrNotification=Автоматично уведомяване DolibarrNotification=Автоматично уведомяване
ResizeDesc=Въведете нова ширина <b>ИЛИ</b> нова височина. Съотношението ще се запази по време преоразмеряването... ResizeDesc=Въведете нова ширина <b>или</b> нова височина. Съотношението ще се запази по време преоразмеряването...
NewLength=Нова ширина NewLength=Нова ширина
NewHeight=Нова височина NewHeight=Нова височина
NewSizeAfterCropping=Нов размер след изрязване NewSizeAfterCropping=Нов размер след изрязване
DefineNewAreaToPick=Определете нова област на изображението, за да изберете (ляв клик върху изображението, след което плъзнете, докато стигнете до противоположния ъгъл) DefineNewAreaToPick=Определете нова област на изображението, за да изберете (ляв клик върху изображението, след което плъзнете, докато стигнете до противоположния ъгъл)
CurrentInformationOnImage=Този инструмент е предназначен да ви помогне да преоразмерите или изрежете изображение. Това е информацията за текущото редактирано изображение. CurrentInformationOnImage=Този инструмент е предназначен да ви помогне да преоразмерите или изрежете изображение. Това е информацията за текущото редактирано изображение.
ImageEditor=Редактор на изображения ImageEditor=Редактор на изображения
YouReceiveMailBecauseOfNotification=Получавате това съобщение, защото вашият имейл е добавен към списъка с цел информиране за специални събития в %s софтуер на %s. YouReceiveMailBecauseOfNotification=Здравейте,\nПолучавате това съобщение, тъй като вашият имейл адрес е добавен към списък целящ информиране за конкретни събития в %s софтуер на %s.\n
YouReceiveMailBecauseOfNotification2=Това събитие е следното: YouReceiveMailBecauseOfNotification2=Това събитие е следното:
ThisIsListOfModules=Това е списък на модулите, предварително избрани за този демонстрационен профил (само най-основните модули са видими в тази демонстрация). Редактирайте, ако е необходимо, за да имате по-персонализирано демо и кликнете върху "Старт". ThisIsListOfModules=Това е списък на модулите, предварително избрани за този демонстрационен профил (само най-основните модули са видими в тази демонстрация). Променете това, ако е необходимо, за да имате по-персонализирано демо и кликнете върху "Старт".
UseAdvancedPerms=Използване на разширени разрешения на някои модули UseAdvancedPerms=Използване на разширени права на някои модули
FileFormat=Файлов формат FileFormat=Файлов формат
SelectAColor=Избиране на цвят SelectAColor=Избиране на цвят
AddFiles=Добавяне на файлове AddFiles=Добавяне на файлове
StartUpload=Стартиране на качване StartUpload=Стартиране на качване
CancelUpload=Анулиране на качване CancelUpload=Анулиране на качване
FileIsTooBig=Файлът е твърде голям FileIsTooBig=Файловете са твърде големи
PleaseBePatient=Моля, бъдете търпеливи... PleaseBePatient=Моля, бъдете търпеливи...
NewPassword=Нова парола NewPassword=Нова парола
ResetPassword=Възстановяване на парола ResetPassword=Възстановяване на парола
RequestToResetPasswordReceived=Получена е заявка за промяна на паролата ви. RequestToResetPasswordReceived=Получена е заявка за промяна на вашата парола.
NewKeyIs=Това са новите ви данни за вход NewKeyIs=Това са новите ви данни за вход
NewKeyWillBe=Вашите нови данни за вход ще бъдат NewKeyWillBe=Вашите нови данни за вход ще бъдат
ClickHereToGoTo=Кликнете тук, за да отидете на %s ClickHereToGoTo=Кликнете тук, за да отидете на %s
@ -239,29 +239,29 @@ YouMustClickToChange=Необходимо е първо да кликнете в
ForgetIfNothing=Ако не сте заявили промяната, просто забравете за този имейл. Вашите идентификационни данни се съхраняват на сигурно място. ForgetIfNothing=Ако не сте заявили промяната, просто забравете за този имейл. Вашите идентификационни данни се съхраняват на сигурно място.
IfAmountHigherThan=Ако сумата e по-висока от <strong>%s</strong> IfAmountHigherThan=Ако сумата e по-висока от <strong>%s</strong>
SourcesRepository=Хранилище за източници SourcesRepository=Хранилище за източници
Chart=Диаграма Chart=Графика
PassEncoding=Кодиране на пароли PassEncoding=Кодиране на пароли
PermissionsAdd=Разрешенията са добавени PermissionsAdd=Правата са добавени
PermissionsDelete=Разрешенията са премахнати PermissionsDelete=Правата са премахнати
YourPasswordMustHaveAtLeastXChars=Вашата парола трябва да има поне <strong>%s</strong> символа YourPasswordMustHaveAtLeastXChars=Вашата парола трябва да съдържа поне <strong>%s</strong> символа
YourPasswordHasBeenReset=Вашата парола е успешно възстановена. YourPasswordHasBeenReset=Вашата парола е успешно възстановена.
ApplicantIpAddress=IP адрес на заявителя ApplicantIpAddress=IP адрес на заявителя
SMSSentTo=Изпратен е SMS на %s SMSSentTo=Изпратен е SMS на %s
MissingIds=Липсват идентификатори MissingIds=Липсват идентификатори
ThirdPartyCreatedByEmailCollector=Контрагент, създаден чрез имейл колектор от имейл MSGID %s ThirdPartyCreatedByEmailCollector=Контрагентът е създаден, чрез имейл колектор от имейл MSGID %s
ContactCreatedByEmailCollector=Контактът/адресът, създаден чрез имейл колектор от имейл MSGID %s ContactCreatedByEmailCollector=Контактът / адресът е създаден, чрез имейл колектор от имейл MSGID %s
ProjectCreatedByEmailCollector=Проект, създаден чрез имейл колектор от имейл MSGID %s ProjectCreatedByEmailCollector=Проектът е създаден, чрез имейл колектор от имейл MSGID %s
TicketCreatedByEmailCollector=Тикет, създаден чрез имейл колектор от имейл MSGID %s TicketCreatedByEmailCollector=Тикетът е създаден, чрез имейл колектор от имейл MSGID %s
##### Export ##### ##### Export #####
ExportsArea=Секция за експорт ExportsArea=Секция за експортиране
AvailableFormats=Налични формати AvailableFormats=Налични формати
LibraryUsed=Използвана библиотека LibraryUsed=Използвана библиотека
LibraryVersion=Версия на библиотеката LibraryVersion=Версия на библиотеката
ExportableDatas=Данни за експорт ExportableDatas=Експортни данни
NoExportableData=Няма данни за експорт (няма модули със заредени данни за експорт или липсват разрешения) NoExportableData=Няма експортни данни (няма модули със заредени данни за експортиране или липсват права)
##### External sites ##### ##### External sites #####
WebsiteSetup=Настройка на Уебсайт модула WebsiteSetup=Настройка на модул уебсайт
WEBSITE_PAGEURL=URL адрес на страницата WEBSITE_PAGEURL=URL адрес на страницата
WEBSITE_TITLE=Заглавие WEBSITE_TITLE=Заглавие
WEBSITE_DESCRIPTION=Описание WEBSITE_DESCRIPTION=Описание

View File

@ -1,7 +1,8 @@
# Dolibarr language file - Source file is en_US - products # Dolibarr language file - Source file is en_US - products
ProductRef=Реф. № на продукт ProductRef=Реф. продукт
ProductLabel=Етикет на продукта ProductLabel=Етикет на продукт
ProductLabelTranslated=Преведен продуктов етикет ProductLabelTranslated=Преведен продуктов етикет
ProductDescription=Product description
ProductDescriptionTranslated=Преведено продуктово описание ProductDescriptionTranslated=Преведено продуктово описание
ProductNoteTranslated=Преведена продуктова бележка ProductNoteTranslated=Преведена продуктова бележка
ProductServiceCard=Карта ProductServiceCard=Карта
@ -11,7 +12,7 @@ Products=Продукти
Services=Услуги Services=Услуги
Product=Продукт Product=Продукт
Service=Услуга Service=Услуга
ProductId=Идентификатор на Продукт/Услуга ProductId=Идентификатор на Продукт / Услуга
Create=Създаване Create=Създаване
Reference=Референция Reference=Референция
NewProduct=Нов продукт NewProduct=Нов продукт
@ -31,19 +32,19 @@ ProductsPipeServices=Продукти | Услуги
ProductsOnSaleOnly=Продукти само за продажба ProductsOnSaleOnly=Продукти само за продажба
ProductsOnPurchaseOnly=Продукти само за покупка ProductsOnPurchaseOnly=Продукти само за покупка
ProductsNotOnSell=Продукти, които не са за продажба, и не са за покупка ProductsNotOnSell=Продукти, които не са за продажба, и не са за покупка
ProductsOnSellAndOnBuy=Продукти за продажба или покупка ProductsOnSellAndOnBuy=Продукти за продажба и за покупка
ServicesOnSaleOnly=Услуги само за продажба ServicesOnSaleOnly=Услуги само за продажба
ServicesOnPurchaseOnly=Услуги само за покупка ServicesOnPurchaseOnly=Услуги само за покупка
ServicesNotOnSell=Услуги, които не са за продажба, и не са за покупка ServicesNotOnSell=Услуги, които не са за продажба, и не са за покупка
ServicesOnSellAndOnBuy=Услуги за продажба или покупка ServicesOnSellAndOnBuy=Услуги за продажба и за покупка
LastModifiedProductsAndServices=Продукти / Услуги: %s последно променени LastModifiedProductsAndServices=Продукти / Услуги: %s последно променени
LastRecordedProducts=Продукти: %s последно регистрирани LastRecordedProducts=Продукти: %s последно добавени
LastRecordedServices=Услуги: %s последно регистрирани LastRecordedServices=Услуги: %s последно добавени
CardProduct0=Продукт CardProduct0=Продукт
CardProduct1=Услуга CardProduct1=Услуга
Stock=Наличност Stock=Наличност
MenuStocks=Наличности MenuStocks=Наличности
Stocks=Наличност и движения Stocks=Наличности и местоположение (склад) на продуктите
Movements=Движения Movements=Движения
Sell=Продажба Sell=Продажба
Buy=Покупка Buy=Покупка
@ -61,7 +62,7 @@ ProductStatusNotOnBuyShort=Не се купува
UpdateVAT=Актуализиране на ДДС UpdateVAT=Актуализиране на ДДС
UpdateDefaultPrice=Актуализиране на цената по подразбиране UpdateDefaultPrice=Актуализиране на цената по подразбиране
UpdateLevelPrices=Актуализиране на цени за всяко ниво UpdateLevelPrices=Актуализиране на цени за всяко ниво
AppliedPricesFrom=Приложен от AppliedPricesFrom=Приложена на
SellingPrice=Продажна цена SellingPrice=Продажна цена
SellingPriceHT=Продажна цена (без ДДС) SellingPriceHT=Продажна цена (без ДДС)
SellingPriceTTC=Продажна цена (с ДДС) SellingPriceTTC=Продажна цена (с ДДС)
@ -72,21 +73,21 @@ SoldAmount=Стойност на продажбите
PurchasedAmount=Стойност на покупките PurchasedAmount=Стойност на покупките
NewPrice=Нова цена NewPrice=Нова цена
MinPrice=Минимална продажна цена MinPrice=Минимална продажна цена
EditSellingPriceLabel=Редактиране на етикета на продажната цена EditSellingPriceLabel=Променяне на етикета на продажната цена
CantBeLessThanMinPrice=Продажната цена не може да бъде по-ниска от минимално допустимата за този продукт/услуга (%s без ДДС). Това съобщение може да се появи, ако въведете твърде голяма отстъпка. CantBeLessThanMinPrice=Продажната цена не може да бъде по-ниска от минимално допустимата за този продукт/услуга (%s без ДДС). Това съобщение може да се появи, ако въведете твърде голяма отстъпка.
ContractStatusClosed=Затворен ContractStatusClosed=Затворен
ErrorProductAlreadyExists=Вече съществува продукт/услуга с реф. № %s. ErrorProductAlreadyExists=Вече съществува продукт / услуга с реф. %s.
ErrorProductBadRefOrLabel=Грешна стойност за референция или етикет. ErrorProductBadRefOrLabel=Грешна стойност за референция или етикет.
ErrorProductClone=Възникна проблем при опит за клониране на продукта/услугата. ErrorProductClone=Възникна проблем при опит за клониране на продукта/услугата.
ErrorPriceCantBeLowerThanMinPrice=Грешка, цената не може да бъде по-ниска от минималната цена. ErrorPriceCantBeLowerThanMinPrice=Грешка, цената не може да бъде по-ниска от минималната цена.
Suppliers=Доставчици Suppliers=Доставчици
SupplierRef=Реф. № (SKU) SupplierRef=Реф. (SKU)
ShowProduct=Показване на продукт ShowProduct=Показване на продукт
ShowService=Показване на услуга ShowService=Показване на услуга
ProductsAndServicesArea=Зона за Продукти | Услуги ProductsAndServicesArea=Секция за продукти и услуги
ProductsArea=Зона за Продукти ProductsArea=Секция за продукти
ServicesArea=Зона за Услуги ServicesArea=Секция за услуги
ListOfStockMovements=Списък на движения на стокови наличности ListOfStockMovements=Списък с движения на наличности
BuyingPrice=Покупна цена BuyingPrice=Покупна цена
PriceForEachProduct=Продукти със специфични цени PriceForEachProduct=Продукти със специфични цени
SupplierCard=Карта SupplierCard=Карта
@ -96,7 +97,7 @@ BarcodeType=Тип баркод
SetDefaultBarcodeType=Задаване на тип баркод SetDefaultBarcodeType=Задаване на тип баркод
BarcodeValue=Баркод стойност BarcodeValue=Баркод стойност
NoteNotVisibleOnBill=Бележка (не се вижда на фактури, предложения...) NoteNotVisibleOnBill=Бележка (не се вижда на фактури, предложения...)
ServiceLimitedDuration=Ако продуктът е услуга с ограничен срок на действие: ServiceLimitedDuration=Ако продуктът е услуга с ограничена продължителност:
MultiPricesAbility=Множество ценови сегменти за продукт / услуга (всеки клиент е в един ценови сегмент) MultiPricesAbility=Множество ценови сегменти за продукт / услуга (всеки клиент е в един ценови сегмент)
MultiPricesNumPrices=Брой цени MultiPricesNumPrices=Брой цени
AssociatedProductsAbility=Активиране на виртуални продукти (комплекти) AssociatedProductsAbility=Активиране на виртуални продукти (комплекти)
@ -114,52 +115,52 @@ ListOfProductsServices=Списък на продукти / услуги
ProductAssociationList=Списък на продукти / услуги, които са компонент(и) на този виртуален продукт (комплект) ProductAssociationList=Списък на продукти / услуги, които са компонент(и) на този виртуален продукт (комплект)
ProductParentList=Списък на продукти / услуги с този продукт като компонент ProductParentList=Списък на продукти / услуги с този продукт като компонент
ErrorAssociationIsFatherOfThis=Един от избраните продукти е основен за текущия продукт ErrorAssociationIsFatherOfThis=Един от избраните продукти е основен за текущия продукт
DeleteProduct=Изтриване на продукт/услуга DeleteProduct=Изтриване на продукт / услуга
ConfirmDeleteProduct=Сигурни ли сте, че желаете да изтриете този продукт/услуга? ConfirmDeleteProduct=Сигурни ли сте, че желаете да изтриете този продукт / услуга?
ProductDeleted=Продукт/услуга %s е изтрит/а от базата данни. ProductDeleted=Продукт / услуга %s е изтрит(а) от базата данни.
ExportDataset_produit_1=Продукти ExportDataset_produit_1=Продукти
ExportDataset_service_1=Услуги ExportDataset_service_1=Услуги
ImportDataset_produit_1=Продукти ImportDataset_produit_1=Продукти
ImportDataset_service_1=Услуги ImportDataset_service_1=Услуги
DeleteProductLine=Изтриване на продуктова линия DeleteProductLine=Изтриване на продуктов ред
ConfirmDeleteProductLine=Сигурни ли сте, че искате да изтриете тази продуктова линия? ConfirmDeleteProductLine=Сигурни ли сте, че искате да изтриете този продуктов ред?
ProductSpecial=Специален ProductSpecial=Специален
QtyMin=Минимално количество за покупка QtyMin=Минимално количество за покупка
PriceQtyMin=Минимална цена за количество PriceQtyMin=Минимална цена за количество
PriceQtyMinCurrency=Цена (във валута) за това количество (без отстъпка) PriceQtyMinCurrency=Цена (във валута) за това количество (без отстъпка)
VATRateForSupplierProduct=Ставка на ДДС (за този доставчик/продукт) VATRateForSupplierProduct=Ставка на ДДС (за този доставчик / продукт)
DiscountQtyMin=Отстъпка за това количество DiscountQtyMin=Отстъпка за това количество
NoPriceDefinedForThisSupplier=Няма дефинирана цена/количество за този доставчик/продукт NoPriceDefinedForThisSupplier=Няма дефинирана цена / количество за този доставчик / продукт
NoSupplierPriceDefinedForThisProduct=Няма дефинирана цена/количество за този продукт NoSupplierPriceDefinedForThisProduct=Няма дефинирана цена / количество за този продукт
PredefinedProductsToSell=Предварително определен продукт PredefinedProductsToSell=Предварително определен продукт
PredefinedServicesToSell=Предварително определена услуга PredefinedServicesToSell=Предварително определена услуга
PredefinedProductsAndServicesToSell=Предварително определени продукти/услуги за продажба PredefinedProductsAndServicesToSell=Предварително определени продукти / услуги за продажба
PredefinedProductsToPurchase=Предварително определен продукт за покупка PredefinedProductsToPurchase=Предварително определен продукт за покупка
PredefinedServicesToPurchase=Предварително определена услуга за покупка PredefinedServicesToPurchase=Предварително определена услуга за покупка
PredefinedProductsAndServicesToPurchase=Предварително определени продукти/услуги за покупка PredefinedProductsAndServicesToPurchase=Предварително определени продукти / услуги за покупка
NotPredefinedProducts=Не предварително определени продукти/услуги NotPredefinedProducts=Не предварително определени продукти / услуги
GenerateThumb=Генериране на палец GenerateThumb=Генериране на миниатюра
ServiceNb=Услуга #%s ServiceNb=Услуга #%s
ListProductServiceByPopularity=Списък на продукти/услуги по популярност ListProductServiceByPopularity=Списък на продукти / услуги по популярност
ListProductByPopularity=Списък на продукти по популярност ListProductByPopularity=Списък на продукти по популярност
ListServiceByPopularity=Списък на услуги по популярност ListServiceByPopularity=Списък на услуги по популярност
Finished=Произведен продукт Finished=Произведен продукт
RowMaterial=Суров материал RowMaterial=Суровина
ConfirmCloneProduct=Сигурни ли сте, че искате да клонирате този продукт/услуга <b>%s</b>? ConfirmCloneProduct=Сигурни ли сте, че искате да клонирате този продукт / услуга <b>%s</b>?
CloneContentProduct=Клониране на цялата основна информация за продукт/услуга CloneContentProduct=Клониране на цялата основна информация за продукт / услуга
ClonePricesProduct=Клониране на цени ClonePricesProduct=Клониране на цени
CloneCompositionProduct=Клониране на виртуален продукт/услуга CloneCompositionProduct=Клониране на виртуален продукт / услуга
CloneCombinationsProduct=Клониране на варианти на продукта CloneCombinationsProduct=Клониране на варианти на продукта
ProductIsUsed=Този продукт се използва ProductIsUsed=Този продукт се използва
NewRefForClone=Реф. № на нов продукт/услуга NewRefForClone=Реф. на нов продукт / услуга
SellingPrices=Продажни цени SellingPrices=Продажни цени
BuyingPrices=Покупни цени BuyingPrices=Покупни цени
CustomerPrices=Клиентски цени CustomerPrices=Клиентски цени
SuppliersPrices=Доставни цени SuppliersPrices=Доставни цени
SuppliersPricesOfProductsOrServices=Доставни цени (на продукти/услуги) SuppliersPricesOfProductsOrServices=Доставни цени (на продукти / услуги)
CustomCode=Митнически / Стоков / ХС код CustomCode=Митнически / Стоков / ХС код
CountryOrigin=Държава на произход CountryOrigin=Държава на произход
Nature=Естество на продукта (материал / завършен) Nature=Характер на продукта (материал / завършен)
ShortLabel=Кратък етикет ShortLabel=Кратък етикет
Unit=Мярка Unit=Мярка
p=е. p=е.
@ -194,10 +195,10 @@ unitLM=Линеен метър
unitM2=Квадратен метър unitM2=Квадратен метър
unitM3=Кубичен метър unitM3=Кубичен метър
unitL=Литър unitL=Литър
ProductCodeModel=Реф. шаблон на продукт ProductCodeModel=Шаблон за генериране на реф. продукт
ServiceCodeModel=Реф. шаблон на услуга ServiceCodeModel=Шаблон за генериране на реф. услуга
CurrentProductPrice=Текуща цена CurrentProductPrice=Текуща цена
AlwaysUseNewPrice=Винаги да се използва текуща цена на продукт/услуга AlwaysUseNewPrice=Винаги да се използва текуща цена на продукт / услуга
AlwaysUseFixedPrice=Използване на фиксирана цена AlwaysUseFixedPrice=Използване на фиксирана цена
PriceByQuantity=Различни цени за количество PriceByQuantity=Различни цени за количество
DisablePriceByQty=Деактивиране на цени за количество DisablePriceByQty=Деактивиране на цени за количество
@ -213,8 +214,8 @@ VariantLabelExample=Пример: Цвят
Build=Произвеждане Build=Произвеждане
ProductsMultiPrice=Продукти и цени за всеки ценови сегмент ProductsMultiPrice=Продукти и цени за всеки ценови сегмент
ProductsOrServiceMultiPrice=Клиентски цени (за продукт или услуги, мулти цени) ProductsOrServiceMultiPrice=Клиентски цени (за продукт или услуги, мулти цени)
ProductSellByQuarterHT=Оборот на продукти за тримесечие преди данъчно облагане ProductSellByQuarterHT=Оборот на продукти за тримесечие без ДДС
ServiceSellByQuarterHT=Оборот на услуги за тримесечие преди данъчно облагане ServiceSellByQuarterHT=Оборот на услуги за тримесечие без ДДС
Quarter1=Първо тримесечие Quarter1=Първо тримесечие
Quarter2=Второ тримесечие Quarter2=Второ тримесечие
Quarter3=Трето тримесечие Quarter3=Трето тримесечие
@ -233,7 +234,7 @@ BarCodeDataForProduct=Информация за баркод на продукт
BarCodeDataForThirdparty=Информация за баркод на контрагент %s: BarCodeDataForThirdparty=Информация за баркод на контрагент %s:
ResetBarcodeForAllRecords=Определяне на стойността на баркода за всеки запис (това също ще възстанови стойността на баркода, която е вече дефинирана с нови стойности) ResetBarcodeForAllRecords=Определяне на стойността на баркода за всеки запис (това също ще възстанови стойността на баркода, която е вече дефинирана с нови стойности)
PriceByCustomer=Различни цени за всеки клиент PriceByCustomer=Различни цени за всеки клиент
PriceCatalogue=Една продажна цена за продукт/услуга PriceCatalogue=Една продажна цена за продукт / услуга
PricingRule=Правила за продажни цени PricingRule=Правила за продажни цени
AddCustomerPrice=Добавяне на цена за клиент AddCustomerPrice=Добавяне на цена за клиент
ForceUpdateChildPriceSoc=Определяне на една и съща цена за филиали на клиента ForceUpdateChildPriceSoc=Определяне на една и съща цена за филиали на клиента
@ -250,8 +251,8 @@ PriceExpressionEditorHelp5=Налични глобални стойности:
PriceMode=Ценови режим PriceMode=Ценови режим
PriceNumeric=Номер PriceNumeric=Номер
DefaultPrice=Цена по подразбиране DefaultPrice=Цена по подразбиране
ComposedProductIncDecStock=Увеличаване/Намаляване на наличност при промяна на основен продукт ComposedProductIncDecStock=Увеличаване / намаляване на наличност при промяна на основен продукт
ComposedProduct=Наследени продукти ComposedProduct=Съставни продукти
MinSupplierPrice=Минимална покупната цена MinSupplierPrice=Минимална покупната цена
MinCustomerPrice=Минимална продажна цена MinCustomerPrice=Минимална продажна цена
DynamicPriceConfiguration=Динамична ценова конфигурация DynamicPriceConfiguration=Динамична ценова конфигурация
@ -270,11 +271,11 @@ GlobalVariableUpdaterHelpFormat1=Формат на запитването {"URL"
UpdateInterval=Интервал на актуализиране (минути) UpdateInterval=Интервал на актуализиране (минути)
LastUpdated=Последна актуализация LastUpdated=Последна актуализация
CorrectlyUpdated=Правилно актуализирано CorrectlyUpdated=Правилно актуализирано
PropalMergePdfProductActualFile=Файловете използвани за добавяне в PDF Azur PropalMergePdfProductActualFile=Файловете използвани за добавяне в PDF Azur са
PropalMergePdfProductChooseFile=Избиране на PDF файлове PropalMergePdfProductChooseFile=Избиране на PDF файлове
IncludingProductWithTag=Включително продукт/услуга с таг/категория IncludingProductWithTag=Включително продукт / услуга с таг / категория
DefaultPriceRealPriceMayDependOnCustomer=Цена по подразбиране, реалната цена може да зависи от клиента DefaultPriceRealPriceMayDependOnCustomer=Цена по подразбиране, реалната цена може да зависи от клиента
WarningSelectOneDocument=Моля изберете поне един документ WarningSelectOneDocument=Моля, изберете поне един документ
DefaultUnitToShow=Мярка DefaultUnitToShow=Мярка
NbOfQtyInProposals=Количество в предложенията NbOfQtyInProposals=Количество в предложенията
ClinkOnALinkOfColumn=Кликнете върху връзката от колона %s, за да получите подробен изглед... ClinkOnALinkOfColumn=Кликнете върху връзката от колона %s, за да получите подробен изглед...
@ -290,41 +291,41 @@ SizeUnits=Мярка за размер
DeleteProductBuyPrice=Изтриване на покупна цена DeleteProductBuyPrice=Изтриване на покупна цена
ConfirmDeleteProductBuyPrice=Сигурни ли сте, че искате да изтриете тази покупна цена? ConfirmDeleteProductBuyPrice=Сигурни ли сте, че искате да изтриете тази покупна цена?
SubProduct=Подпродукт SubProduct=Подпродукт
ProductSheet=Лист на продукт ProductSheet=Спецификация на продукт
ServiceSheet=Лист на услуга ServiceSheet=Спецификация на услуга
PossibleValues=Възможни стойности PossibleValues=Възможни стойности
GoOnMenuToCreateVairants=Отидете в менюто %s - %s, за да подготвите атрибутите на варианта (като цветове, размер, ...) GoOnMenuToCreateVairants=Отидете в менюто %s - %s, за да подготвите атрибутите на варианта (като цветове, размер, ...)
UseProductFournDesc=Добавяне на функция за дефиниране на описания на продуктите, определени от доставчици като допълнение към описанията за клиенти UseProductFournDesc=Добавяне на функция за дефиниране на описания на продуктите, определени от доставчици като допълнение към описанията за клиенти
ProductSupplierDescription=Описание на продукта от доставчик ProductSupplierDescription=Описание на продукта от доставчик
#Attributes #Attributes
VariantAttributes=Атрибути на варианти VariantAttributes=Атрибути на вариант
ProductAttributes=Атрибути на продуктови варианти ProductAttributes=Атрибути на вариант за продукти
ProductAttributeName=Атрибут на варианта %s ProductAttributeName=Атрибут на вариант %s
ProductAttribute=Атрибут на варианта ProductAttribute=Атрибут на вариант
ProductAttributeDeleteDialog=Сигурни ли сте, че искате да изтриете този атрибут? Всички стойности ще бъдат изтрити. ProductAttributeDeleteDialog=Сигурни ли сте, че искате да изтриете този атрибут? Всички стойности ще бъдат изтрити.
ProductAttributeValueDeleteDialog=Сигурни ли сте, че искате да изтриете стойността '%s' с реф. № '%s' на този атрибут? ProductAttributeValueDeleteDialog=Сигурни ли сте, че искате да изтриете стойността '%s' с реф. № '%s' на този атрибут?
ProductCombinationDeleteDialog=Сигурни ли сте, че искате да изтриете варианта на продукта '<strong>%s</strong>'? ProductCombinationDeleteDialog=Сигурни ли сте, че искате да изтриете варианта на продукта '<strong>%s</strong>'?
ProductCombinationAlreadyUsed=Възникна грешка при изтриването на варианта. Моля, проверете дали не се използва в някой обект ProductCombinationAlreadyUsed=Възникна грешка при изтриването на варианта. Моля, проверете дали не се използва в някой обект
ProductCombinations=Варианти ProductCombinations=Варианти
PropagateVariant=Размножаване на варианти PropagateVariant=Размножаване на варианти
HideProductCombinations=Скриване на продуктовите варианти в селектора за продукти HideProductCombinations=Скриване на продуктови варианти в селектора за продукти
ProductCombination=Вариант ProductCombination=Вариант
NewProductCombination=Нов вариант NewProductCombination=Нов вариант
EditProductCombination=Редактиране на вариант EditProductCombination=Промяна на вариант
NewProductCombinations=Нови варианти NewProductCombinations=Нови варианти
EditProductCombinations=Редактиране на варианти EditProductCombinations=Промяна на варианти
SelectCombination=Избиране на комбинация SelectCombination=Избиране на комбинация
ProductCombinationGenerator=Генератор на варианти ProductCombinationGenerator=Генератор на варианти
Features=Характеристики Features=Характеристики
PriceImpact=Влияние върху цена PriceImpact=Въздействие върху цената
WeightImpact=Влияние върху тегло WeightImpact=Въздействие върху теглото
NewProductAttribute=Нов атрибут NewProductAttribute=Нов атрибут
NewProductAttributeValue=Нова стойност на атрибута NewProductAttributeValue=Нова стойност на атрибута
ErrorCreatingProductAttributeValue=Възникна грешка при създаването на стойността на атрибута. Това може да се дължи на факта, че вече съществува стойност с тази референция ErrorCreatingProductAttributeValue=Възникна грешка при създаването на стойността на атрибута. Това може да се дължи на факта, че вече съществува стойност с тази референция
ProductCombinationGeneratorWarning=Ако продължите, преди да генерирате нови варианти, всички предишни ще бъдат ИЗТРИТИ. Вече съществуващите ще бъдат актуализирани с новите стойности ProductCombinationGeneratorWarning=Ако продължите, преди да генерирате нови варианти, всички предишни ще бъдат ИЗТРИТИ. Вече съществуващите ще бъдат актуализирани с новите стойности
TooMuchCombinationsWarning=Генерирането на много варианти може да доведе до висок разход на процесорно време, използвана памет, поради което Dolibarr няма да може да ги създаде. Активирането на опцията '%s' може да помогне за намаляване на използването на паметта. TooMuchCombinationsWarning=Генерирането на много варианти може да доведе до висок разход на процесорно време, използвана памет, поради което Dolibarr няма да може да ги създаде. Активирането на опцията '%s' може да помогне за намаляване на използването на паметта.
DoNotRemovePreviousCombinations=Не премахва предишни варианти DoNotRemovePreviousCombinations=Не премахва предишни варианти
UsePercentageVariations=Използване на процентни вариации UsePercentageVariations=Използване на процентни изменения
PercentageVariation=Процентно изменение PercentageVariation=Процентно изменение
ErrorDeletingGeneratedProducts=Възникна грешка при опит за изтриване на съществуващи продуктови варианти ErrorDeletingGeneratedProducts=Възникна грешка при опит за изтриване на съществуващи продуктови варианти
NbOfDifferentValues=Брой различни стойности NbOfDifferentValues=Брой различни стойности

View File

@ -1,30 +1,30 @@
# Dolibarr language file - Source file is en_US - projects # Dolibarr language file - Source file is en_US - projects
RefProject=Реф. проект RefProject=Реф. проект
ProjectRef=Проект реф. ProjectRef=Проект реф.
ProjectId=Проект № ProjectId=Идентификатор на проект
ProjectLabel=Име на проект ProjectLabel=Етикет на проект
ProjectsArea=Секция за проекти ProjectsArea=Секция за проекти
ProjectStatus=Статус на проект ProjectStatus=Статус на проект
SharedProject=Всички SharedProject=Всички
PrivateProject=Участници в проекта PrivateProject=Участници в проекта
ProjectsImContactFor=Проекти, в които съм определен за контакт ProjectsImContactFor=Проекти, в които съм определен за контакт
AllAllowedProjects=Всеки проект, който мога да видя (мой и публичен) AllAllowedProjects=Всеки проект, който мога да прочета (мой и публичен)
AllProjects=Всички проекти AllProjects=Всички проекти
MyProjectsDesc=Този изглед е ограничен до проекти, в които сте контакт MyProjectsDesc=Този изглед е ограничен до проекти, в които сте определен за контакт
ProjectsPublicDesc=Този изглед представя всички проекти, които можете да прочетете. ProjectsPublicDesc=Този изглед представя всички проекти, които можете да прочетете.
TasksOnProjectsPublicDesc=Този изглед представя всички задачи по проекти, които можете да прочетете. TasksOnProjectsPublicDesc=Този изглед представя всички задачи по проекти, които можете да прочетете.
ProjectsPublicTaskDesc=Този изглед представя всички проекти и задачи, които можете да прочетете. ProjectsPublicTaskDesc=Този изглед представя всички проекти и задачи, които можете да прочетете.
ProjectsDesc=Този изглед представя всички проекти (вашите потребителски права ви дават разрешение да виждате всичко). ProjectsDesc=Този изглед представя всички проекти (вашите потребителски права ви дават разрешение да виждате всичко).
TasksOnProjectsDesc=Този изглед представя всички задачи за всички проекти (вашите потребителски права ви дават разрешение да виждате всичко). TasksOnProjectsDesc=Този изглед представя всички задачи за всички проекти (вашите потребителски права ви дават разрешение да виждате всичко).
MyTasksDesc=Този изглед е ограничен до проекти или задачи, в които сте контакт MyTasksDesc=Този изглед е ограничен до проекти или задачи, в които сте определен за контакт
OnlyOpenedProject=Само отворените проекти са видими (чернови или затворени проекти не са видими). OnlyOpenedProject=Само отворените проекти са видими (чернови или приключени проекти не са видими).
ClosedProjectsAreHidden=Затворените проекти не са видими. ClosedProjectsAreHidden=Приключените проекти не са видими.
TasksPublicDesc=Този страница показва всички проекти и задачи, които може да прочетете. TasksPublicDesc=Този страница показва всички проекти и задачи, които може да прочетете.
TasksDesc=Този страница показва всички проекти и задачи (вашите потребителски права ви дават разрешение да виждате всичко). TasksDesc=Този страница показва всички проекти и задачи (вашите потребителски права ви дават разрешение да виждате всичко).
AllTaskVisibleButEditIfYouAreAssigned=Всички задачи за определените проекти са видими, но можете да въведете време само за задача, възложена на избрания потребител. Задайте задача, ако е необходимо да въведете отделено време за нея. AllTaskVisibleButEditIfYouAreAssigned=Всички задачи за определените проекти са видими, но можете да въведете време само за задача, възложена на избрания потребител. Задайте задача, ако е необходимо да въведете отделено време за нея.
OnlyYourTaskAreVisible=Видими са само задачите, които са ви възложени. Възложете задача на себе си, ако не е видима, а трябва да въведете отделено време за нея. OnlyYourTaskAreVisible=Видими са само задачите, които са ви възложени. Възложете задача на себе си, ако не е видима, а трябва да въведете отделено време за нея.
ImportDatasetTasks=Задачи по проекти ImportDatasetTasks=Задачи по проекти
ProjectCategories=Етикети / Категории ProjectCategories=Тагове / Категории на проекти
NewProject=Нов проект NewProject=Нов проект
AddProject=Създаване на проект AddProject=Създаване на проект
DeleteAProject=Изтриване на проект DeleteAProject=Изтриване на проект
@ -35,8 +35,8 @@ OpenedProjects=Отворени проекти
OpenedTasks=Отворени задачи OpenedTasks=Отворени задачи
OpportunitiesStatusForOpenedProjects=Размер на възможностите от отворени проекти по статус OpportunitiesStatusForOpenedProjects=Размер на възможностите от отворени проекти по статус
OpportunitiesStatusForProjects=Размер на възможностите от проекти по статус OpportunitiesStatusForProjects=Размер на възможностите от проекти по статус
ShowProject=Преглед на проект ShowProject=Показване на проект
ShowTask=Преглед на задача ShowTask=Показване на задача
SetProject=Задайте проект SetProject=Задайте проект
NoProject=Няма дефиниран или притежаван проект NoProject=Няма дефиниран или притежаван проект
NbOfProjects=Брой проекти NbOfProjects=Брой проекти
@ -45,9 +45,9 @@ TimeSpent=Отделено време
TimeSpentByYou=Време, отделено от вас TimeSpentByYou=Време, отделено от вас
TimeSpentByUser=Време, отделено от потребител TimeSpentByUser=Време, отделено от потребител
TimesSpent=Отделено време TimesSpent=Отделено време
TaskId=Задача № TaskId=Идентификатор на задача
RefTask=Задача реф. RefTask=Реф. задача
LabelTask=Име на задача LabelTask=Етикет на задача
TaskTimeSpent=Време, отделено на задачи TaskTimeSpent=Време, отделено на задачи
TaskTimeUser=Потребител TaskTimeUser=Потребител
TaskTimeNote=Бележка TaskTimeNote=Бележка
@ -68,7 +68,7 @@ TaskDescription=Описание на задача
NewTask=Нова задача NewTask=Нова задача
AddTask=Създаване на задача AddTask=Създаване на задача
AddTimeSpent=Въвеждане на отделено време AddTimeSpent=Въвеждане на отделено време
AddHereTimeSpentForDay=Добавете тук отделеното време за този ден/задача AddHereTimeSpentForDay=Добавете тук отделеното време за този ден / задача
Activity=Дейност Activity=Дейност
Activities=Задачи / Дейности Activities=Задачи / Дейности
MyActivities=Мои задачи / дейности MyActivities=Мои задачи / дейности
@ -79,14 +79,14 @@ ProgressDeclared=Деклариран напредък
ProgressCalculated=Изчислен напредък ProgressCalculated=Изчислен напредък
Time=Време Time=Време
ListOfTasks=Списък със задачи ListOfTasks=Списък със задачи
GoToListOfTimeConsumed=Отидете в списъка с изразходваното време GoToListOfTimeConsumed=Показване на списъка с изразходвано време
GoToListOfTasks=Отидете в списъка със задачи GoToListOfTasks=Показване на списъка със задачи
GoToGanttView=Преглед на Gantt диаграма GoToGanttView=Показване на Gantt диаграма
GanttView=Gantt диаграма GanttView=Gantt диаграма
ListProposalsAssociatedProject=Списък на търговски предложения, свързани с проекта ListProposalsAssociatedProject=Списък на търговски предложения, свързани с проекта
ListOrdersAssociatedProject=Списък на поръчки за продажба, свързани с проекта ListOrdersAssociatedProject=Списък на поръчки за продажба, свързани с проекта
ListInvoicesAssociatedProject=Списък на фактури за продажба, свързани с проекта ListInvoicesAssociatedProject=Списък на фактури за продажба, свързани с проекта
ListPredefinedInvoicesAssociatedProject=Списък на шаблони за фактури за продажба, свързани с проекта ListPredefinedInvoicesAssociatedProject=Списък на шаблонни фактури за продажба, свързани с проекта
ListSupplierOrdersAssociatedProject=Списък на поръчки за покупка, свързани с проекта ListSupplierOrdersAssociatedProject=Списък на поръчки за покупка, свързани с проекта
ListSupplierInvoicesAssociatedProject=Списък на фактури за покупка, свързани с проекта ListSupplierInvoicesAssociatedProject=Списък на фактури за покупка, свързани с проекта
ListContractAssociatedProject=Списък на договори, свързани с проекта ListContractAssociatedProject=Списък на договори, свързани с проекта
@ -94,34 +94,34 @@ ListShippingAssociatedProject=Списък на пратки, свързани
ListFichinterAssociatedProject=Списък на интервенции, свързани с проекта ListFichinterAssociatedProject=Списък на интервенции, свързани с проекта
ListExpenseReportsAssociatedProject=Списък на разходни отчети, свързани с проекта ListExpenseReportsAssociatedProject=Списък на разходни отчети, свързани с проекта
ListDonationsAssociatedProject=Списък на дарения, свързани с проекта ListDonationsAssociatedProject=Списък на дарения, свързани с проекта
ListVariousPaymentsAssociatedProject=Списък на различни плащания, свързани с проекта ListVariousPaymentsAssociatedProject=Списък на разнородни плащания, свързани с проекта
ListSalariesAssociatedProject=Списък на плащания на заплати, свързани с проекта ListSalariesAssociatedProject=Списък на плащания на заплати, свързани с проекта
ListActionsAssociatedProject=Списък на събития, свързани с проекта ListActionsAssociatedProject=Списък на събития, свързани с проекта
ListTaskTimeUserProject=Списък на отделено време по задачи, свързани с проекта ListTaskTimeUserProject=Списък на отделено време по задачи, свързани с проекта
ListTaskTimeForTask=Списък на отделено време за задача ListTaskTimeForTask=Списък на отделено време за задача
ActivityOnProjectToday=Дейност по проект (за деня) ActivityOnProjectToday=Дейност по проект (за днес)
ActivityOnProjectYesterday=Дейност по проект (за вчера) ActivityOnProjectYesterday=Дейност по проект (за вчера)
ActivityOnProjectThisWeek=Дейност по проект (за седмица) ActivityOnProjectThisWeek=Дейност по проект (за тази седмица)
ActivityOnProjectThisMonth=Дейност по проект (за месеца) ActivityOnProjectThisMonth=Дейност по проект (за този месец)
ActivityOnProjectThisYear=Дейност по проект (за година) ActivityOnProjectThisYear=Дейност по проект (за тази година)
ChildOfProjectTask=Наследник на проект/задача ChildOfProjectTask=Наследник на проект / задача
ChildOfTask=Наследник на задача ChildOfTask=Наследник на задача
TaskHasChild=Задачата има наследник TaskHasChild=Задачата има наследник
NotOwnerOfProject=Не сте собственик на този частен проект NotOwnerOfProject=Не сте собственик на този личен проект
AffectedTo=Разпределено на AffectedTo=Разпределено на
CantRemoveProject=Този проект не може да бъде премахнат, тъй като е свързан с някои други обекти (фактури, поръчки или други). Вижте раздела свързани файлове. CantRemoveProject=Този проект не може да бъде премахнат, тъй като е свързан с някои други обекти (фактури, поръчки или други). Вижте раздела свързани файлове.
ValidateProject=Валидиране на проект ValidateProject=Валидиране на проект
ConfirmValidateProject=Сигурни ли сте, че искате да валидирате този проект? ConfirmValidateProject=Сигурни ли сте, че искате да валидирате този проект?
CloseAProject=Затваряне на проект CloseAProject=Приключване на проект
ConfirmCloseAProject=Сигурни ли сте, че искате да затворите този проект? ConfirmCloseAProject=Сигурни ли сте, че искате да приключите този проект?
AlsoCloseAProject=Също така затворете проекта (задръжте го отворен, ако все още трябва да работите по задачите в него) AlsoCloseAProject=Приключване на проект (задръжте го отворен, ако все още трябва да работите по задачите в него)
ReOpenAProject=Отваряне на проект ReOpenAProject=Отваряне на проект
ConfirmReOpenAProject=Сигурни ли сте, че искате да отворите повторно този проект? ConfirmReOpenAProject=Сигурни ли сте, че искате да отворите повторно този проект?
ProjectContact=Контакти / Участници ProjectContact=Контакти / Участници
TaskContact=Участници в задачата TaskContact=Участници в задачата
ActionsOnProject=Събития свързани с проекта ActionsOnProject=Събития свързани с проекта
YouAreNotContactOfProject=Вие не сте контакт за този частен проект YouAreNotContactOfProject=Вие не сте определен за контакт в този личен проект
UserIsNotContactOfProject=Потребителят не е контакт за този частен проект UserIsNotContactOfProject=Потребителят не е определен за контакт в този личен проект
DeleteATimeSpent=Изтриване на отделено време DeleteATimeSpent=Изтриване на отделено време
ConfirmDeleteATimeSpent=Сигурни ли сте, че искате да изтриете това отделено време? ConfirmDeleteATimeSpent=Сигурни ли сте, че искате да изтриете това отделено време?
DoNotShowMyTasksOnly=Показване също на задачи, които не са възложени на мен DoNotShowMyTasksOnly=Показване също на задачи, които не са възложени на мен
@ -130,25 +130,25 @@ TaskRessourceLinks=Контакти / Участници
ProjectsDedicatedToThisThirdParty=Проекти, насочени към този контрагент ProjectsDedicatedToThisThirdParty=Проекти, насочени към този контрагент
NoTasks=Няма задачи за този проект NoTasks=Няма задачи за този проект
LinkedToAnotherCompany=Свързано с друг контрагент LinkedToAnotherCompany=Свързано с друг контрагент
TaskIsNotAssignedToUser=Задачата не е възложена на потребителя. Използвайте бутона '<strong>%s</strong>', за да възложите задачата. TaskIsNotAssignedToUser=Задачата не е възложена на потребителя. Използвайте бутона '<strong>%s</strong>', за да възложите задачата сега.
ErrorTimeSpentIsEmpty=Отделеното време е празно ErrorTimeSpentIsEmpty=Отделеното време е празно
ThisWillAlsoRemoveTasks=Това действие ще изтрие всички задачи по проекта (<b>%s</b> задачи в момента) и всички въвеждания на отделено време. ThisWillAlsoRemoveTasks=Това действие ще изтрие всички задачи по проекта (<b>%s</b> задачи в момента) и всички въвеждания на отделено време.
IfNeedToUseOtherObjectKeepEmpty=Ако някои обекти (фактура, поръчка, ...), принадлежащи на друг контрагент, трябва да бъдат свързани с проекта, за да се създаде, запази това празно, за да бъде проектът многостранен. IfNeedToUseOtherObjectKeepEmpty=Ако някои обекти (фактура, поръчка, ...), принадлежащи на друг контрагент, трябва да бъдат свързани с проекта за създаване, запазете това празно, за да бъде проектът мулти-контрагентен.
CloneTasks=Клониране на задачи CloneTasks=Клониране на задачи
CloneContacts=Клониране на контакти CloneContacts=Клониране на контакти
CloneNotes=Клониране на бележки CloneNotes=Клониране на бележки
CloneProjectFiles=Клониране на обединени файлове в проекта CloneProjectFiles=Клониране на обединени файлове в проекта
CloneTaskFiles=Клониране на обединени файлове в задачи (ако задача(ите) са клонирани) CloneTaskFiles=Клониране на обединени файлове в задачи (ако задача(ите) са клонирани)
CloneMoveDate=Актуализиране на датите на проекта/задачите от сега? CloneMoveDate=Актуализиране на датите на проекта / задачите от сега?
ConfirmCloneProject=Сигурни ли сте, че ще искате да клонирате този проект? ConfirmCloneProject=Сигурни ли сте, че ще искате да клонирате този проект?
ProjectReportDate=Променете датите на задачите, според новата начална дата на проекта ProjectReportDate=Променете датите на задачите, според новата начална дата на проекта
ErrorShiftTaskDate=Невъзможно е да се смени датата на задача, за да съответства на новата начална дата на проекта ErrorShiftTaskDate=Невъзможно е да се смени датата на задача, за да съответства на новата начална дата на проекта
ProjectsAndTasksLines=Проекти и задачи ProjectsAndTasksLines=Проекти и задачи
ProjectCreatedInDolibarr=Проект %s е създаден ProjectCreatedInDolibarr=Проект %s е създаден
ProjectValidatedInDolibarr=Проект %s е валидиран ProjectValidatedInDolibarr=Проект %s е валидиран
ProjectModifiedInDolibarr=Проект %s е редактиран ProjectModifiedInDolibarr=Проект %s е променен
TaskCreatedInDolibarr=Задача %s е създадена TaskCreatedInDolibarr=Задача %s е създадена
TaskModifiedInDolibarr=Задача %s е редактирана TaskModifiedInDolibarr=Задача %s е променена
TaskDeletedInDolibarr=Задача %s е изтрита TaskDeletedInDolibarr=Задача %s е изтрита
OpportunityStatus=Статус на възможността OpportunityStatus=Статус на възможността
OpportunityStatusShort=Статус на възможността OpportunityStatusShort=Статус на възможността
@ -171,23 +171,23 @@ TypeContact_project_task_external_TASKCONTRIBUTOR=Сътрудник
SelectElement=Избиране на елемент SelectElement=Избиране на елемент
AddElement=Връзка към елемент AddElement=Връзка към елемент
# Documents models # Documents models
DocumentModelBeluga=Шаблон за проектен документ за преглед на свързани обекти DocumentModelBeluga=Шаблон на проектен документ за преглед на свързани елементи
DocumentModelBaleine=Шаблон за проектен документ за задачи DocumentModelBaleine=Шаблон на проектен документ за задачи
DocumentModelTimeSpent=Шаблон за отчет на отделеното време по проект DocumentModelTimeSpent=Шаблон за отчет на отделеното време по проект
PlannedWorkload=Планирана работна натовареност PlannedWorkload=Планирана натовареност
PlannedWorkloadShort=Работна натовареност PlannedWorkloadShort=Натовареност
ProjectReferers=Свързани елементи ProjectReferers=Свързани елементи
ProjectMustBeValidatedFirst=Проектът трябва първо да бъде валидиран ProjectMustBeValidatedFirst=Проектът трябва първо да бъде валидиран
FirstAddRessourceToAllocateTime=Определете потребителски ресурс на задачата за разпределяне на времето FirstAddRessourceToAllocateTime=Определете потребителски ресурс на задачата за разпределяне на времето
InputPerDay=За ден InputPerDay=За ден
InputPerWeek=За седмица InputPerWeek=За седмица
InputDetail=Детайли InputDetail=Детайли
TimeAlreadyRecorded=Това отделено време е вече записано за тази задача/ден и потребител %s TimeAlreadyRecorded=Това отделено време е вече записано за тази задача / ден и потребител %s
ProjectsWithThisUserAsContact=Проекти с потребител за контакт ProjectsWithThisUserAsContact=Проекти с потребител за контакт
TasksWithThisUserAsContact=Задачи възложени на този потребител TasksWithThisUserAsContact=Задачи възложени на потребител
ResourceNotAssignedToProject=Не е зададено към проект ResourceNotAssignedToProject=Не е зададено към проект
ResourceNotAssignedToTheTask=Не е зададено към задача ResourceNotAssignedToTheTask=Не е зададено към задача
NoUserAssignedToTheProject=Няма потребители, назначени за този проект NoUserAssignedToTheProject=Няма потребители, назначени за този проект.
TimeSpentBy=Отделено време от TimeSpentBy=Отделено време от
TasksAssignedTo=Задачи, възложени на TasksAssignedTo=Задачи, възложени на
AssignTaskToMe=Възлагане на задача към мен AssignTaskToMe=Възлагане на задача към мен
@ -195,22 +195,22 @@ AssignTaskToUser=Възлагане на задача към %s
SelectTaskToAssign=Изберете задача за възлагане... SelectTaskToAssign=Изберете задача за възлагане...
AssignTask=Възлагане AssignTask=Възлагане
ProjectOverview=Общ преглед ProjectOverview=Общ преглед
ManageTasks=Използване на проекти, за да следите задачите и/или да докладвате за отделеното време за тях (часови листове) ManageTasks=Използване на проекти, за да следите задачите и / или да докладвате за отделеното време за тях (графици)
ManageOpportunitiesStatus=Използване на проекти за проследяване на възможности/потенциални клиенти ManageOpportunitiesStatus=Използване на проекти за проследяване на възможности / потенциални клиенти
ProjectNbProjectByMonth=Брой създадени проекти на месец ProjectNbProjectByMonth=Брой създадени проекти на месец
ProjectNbTaskByMonth=Брой създадени задачи на месец ProjectNbTaskByMonth=Брой създадени задачи на месец
ProjectOppAmountOfProjectsByMonth=Сума на възможностите на месец ProjectOppAmountOfProjectsByMonth=Сума на възможностите на месец
ProjectWeightedOppAmountOfProjectsByMonth=Изчислена сума на възможностите на месец ProjectWeightedOppAmountOfProjectsByMonth=Изчислена сума на възможностите на месец
ProjectOpenedProjectByOppStatus=Отворен проект/възможност по статус на възможността ProjectOpenedProjectByOppStatus=Отворен проект / възможност по статус на възможността
ProjectsStatistics=Статистики за проекти/възможности ProjectsStatistics=Статистики на проекти / възможности
TasksStatistics=Статистика за задачи TasksStatistics=Статистика на задачи
TaskAssignedToEnterTime=Задачата е възложена. Въвеждането на време по тази задача трябва да е възможно. TaskAssignedToEnterTime=Задачата е възложена. Въвеждането на време по тази задача трябва да е възможно.
IdTaskTime=Id време на задача IdTaskTime=Идентификатор на време на задача
YouCanCompleteRef=Ако искате да завършите реф. с някакъв суфикс, препоръчително е да добавите символ "-", за да го разделите, така че автоматичното номериране да продължи да работи правилно за следващите проекти. Например %s-MYSUFFIX YouCanCompleteRef=Ако искате да завършите реф. с някакъв суфикс, препоръчително е да добавите символ "-", за да го разделите, така че автоматичното номериране да продължи да работи правилно за следващите проекти. Например %s-MYSUFFIX
OpenedProjectsByThirdparties=Отворени проекти по контрагенти OpenedProjectsByThirdparties=Отворени проекти по контрагенти
OnlyOpportunitiesShort=Само възможности OnlyOpportunitiesShort=Само възможности
OpenedOpportunitiesShort=Отворени възможности OpenedOpportunitiesShort=Отворени възможности
NotOpenedOpportunitiesShort=Затворени възможности NotOpenedOpportunitiesShort=Неотворени възможности
NotAnOpportunityShort=Не е възможност NotAnOpportunityShort=Не е възможност
OpportunityTotalAmount=Обща сума на възможностите OpportunityTotalAmount=Обща сума на възможностите
OpportunityPonderatedAmount=Изчислена сума на възможностите OpportunityPonderatedAmount=Изчислена сума на възможностите
@ -227,14 +227,14 @@ AllowToLinkFromOtherCompany=Позволяване свързването на
LatestProjects=Проекти: %s последни LatestProjects=Проекти: %s последни
LatestModifiedProjects=Проекти: %s последно променени LatestModifiedProjects=Проекти: %s последно променени
OtherFilteredTasks=Други филтрирани задачи OtherFilteredTasks=Други филтрирани задачи
NoAssignedTasks=Не са намерени възложени задачи (възложете проект/задачи на текущия потребител от най-горното поле за избор, за да въведете времето в него) NoAssignedTasks=Не са намерени възложени задачи (възложете проект / задачи на текущия потребител от най-горното поле за избор, за да въведете времето в него)
ThirdPartyRequiredToGenerateInvoice=Контрагент трябва да бъде дефиниран в проекта, за да може да му издавате фактури. ThirdPartyRequiredToGenerateInvoice=Контрагент трябва да бъде дефиниран в проекта, за да може да му издавате фактури.
# Comments trans # Comments trans
AllowCommentOnTask=Разрешаване на потребителски коментари в задачите AllowCommentOnTask=Разрешаване на потребителски коментари в задачите
AllowCommentOnProject=Разрешаване на потребителски коментари в проектите AllowCommentOnProject=Разрешаване на потребителски коментари в проектите
DontHavePermissionForCloseProject=Нямате права да затворите проект %s DontHavePermissionForCloseProject=Нямате права, за да приключите проект %s.
DontHaveTheValidateStatus=Проектът %s трябва да бъде отворен, за да го затворите DontHaveTheValidateStatus=Проектът %s трябва да бъде отворен, за да го приключите.
RecordsClosed=%s проект(а) е(са) затворен(и) RecordsClosed=%s проект(а) е(са) приключен(и)
SendProjectRef=Информация за проект %s SendProjectRef=Информация за проект %s
ModuleSalaryToDefineHourlyRateMustBeEnabled=Модулът 'Заплати' трябва да бъде активиран, за да дефинирате почасова ставка на служителите, за да оценените отделеното по проекта време ModuleSalaryToDefineHourlyRateMustBeEnabled=Модулът 'Заплати' трябва да бъде активиран, за да дефинирате почасова ставка на служителите, за да оценените отделеното по проекта време
NewTaskRefSuggested=Реф. № на задачата вече се използва, изисква се нов NewTaskRefSuggested=Реф. № на задачата вече се използва, изисква се нов

View File

@ -9,7 +9,7 @@ PdfCommercialProposalTitle=Търговско предложение
ProposalCard=Карта ProposalCard=Карта
NewProp=Ново търговско предложение NewProp=Ново търговско предложение
NewPropal=Ново предложение NewPropal=Ново предложение
Prospect=Перспектива Prospect=Потенциален клиент
DeleteProp=Изтриване на търговско предложение DeleteProp=Изтриване на търговско предложение
ValidateProp=Валидиране на търговско предложение ValidateProp=Валидиране на търговско предложение
AddProp=Създаване на предложение AddProp=Създаване на предложение
@ -26,19 +26,19 @@ AmountOfProposalsByMonthHT=Обща сума на месец (без ДДС)
NbOfProposals=Брой търговски предложения NbOfProposals=Брой търговски предложения
ShowPropal=Показване на предложение ShowPropal=Показване на предложение
PropalsDraft=Чернови PropalsDraft=Чернови
PropalsOpened=Отворено PropalsOpened=Отворени
PropalStatusDraft=Чернова (нужно е валидиране) PropalStatusDraft=Чернова (нужно е валидиране)
PropalStatusValidated=Валидирано (отворено) PropalStatusValidated=Валидирано (отворено)
PropalStatusSigned=Подписано (нужно е фактуриране) PropalStatusSigned=Подписано (нужно е фактуриране)
PropalStatusNotSigned=Неподписано (затворено) PropalStatusNotSigned=Отхвърлено (приключено)
PropalStatusBilled=Фактурирано PropalStatusBilled=Фактурирано
PropalStatusDraftShort=Чернова PropalStatusDraftShort=Чернова
PropalStatusValidatedShort=Валидирано (отворено) PropalStatusValidatedShort=Валидирано (отворено)
PropalStatusClosedShort=Затворено PropalStatusClosedShort=Приключено
PropalStatusSignedShort=Подписано PropalStatusSignedShort=Подписано
PropalStatusNotSignedShort=Неподписано PropalStatusNotSignedShort=Отхвърлено
PropalStatusBilledShort=Фактурирано PropalStatusBilledShort=Фактурирано
PropalsToClose=Търговски предложения за затваряне PropalsToClose=Търговски предложения за приключване
PropalsToBill=Подписани търговски предложения за фактуриране PropalsToBill=Подписани търговски предложения за фактуриране
ListOfProposals=Списък на търговски предложения ListOfProposals=Списък на търговски предложения
ActionsOnPropal=Свързани събития ActionsOnPropal=Свързани събития
@ -58,10 +58,10 @@ DefaultProposalDurationValidity=Срок на валидност по подра
UseCustomerContactAsPropalRecipientIfExist=Използване тип на контакт / адрес 'Представител проследяващ предложението', ако е определен, вместо адрес на контрагента като адрес на получателя на предложението UseCustomerContactAsPropalRecipientIfExist=Използване тип на контакт / адрес 'Представител проследяващ предложението', ако е определен, вместо адрес на контрагента като адрес на получателя на предложението
ConfirmClonePropal=Сигурни ли сте, че искате да клонирате търговско предложение <b>%s</b>? ConfirmClonePropal=Сигурни ли сте, че искате да клонирате търговско предложение <b>%s</b>?
ConfirmReOpenProp=Сигурни ли сте, че искате да отворите отново търговско предложение <b>%s</b>? ConfirmReOpenProp=Сигурни ли сте, че искате да отворите отново търговско предложение <b>%s</b>?
ProposalsAndProposalsLines=Търговско предложение и линии ProposalsAndProposalsLines=Търговско предложение и редове
ProposalLine=Линия на предложението ProposalLine=Ред №
AvailabilityPeriod=Забавяне на наличността AvailabilityPeriod=Забавяне на наличността
SetAvailability=Определяне на забавянето на наличността SetAvailability=Задайте забавяне на наличността
AfterOrder=след поръчка AfterOrder=след поръчка
OtherProposals=Други предложения OtherProposals=Други предложения
##### Availability ##### ##### Availability #####
@ -76,10 +76,10 @@ TypeContact_propal_external_BILLING=Получател на фактурата
TypeContact_propal_external_CUSTOMER=Получател на предложението TypeContact_propal_external_CUSTOMER=Получател на предложението
TypeContact_propal_external_SHIPPING=Получател на доставката TypeContact_propal_external_SHIPPING=Получател на доставката
# Document models # Document models
DocModelAzurDescription=Завършен шаблон за предложение (logo...) DocModelAzurDescription=Завършен шаблон за предложение (лого...)
DocModelCyanDescription=Завършен шаблон за предложение (logo...) DocModelCyanDescription=Завършен шаблон за предложение (лого...)
DefaultModelPropalCreate=Създаване на шаблон по подразбиране DefaultModelPropalCreate=Създаване на шаблон по подразбиране
DefaultModelPropalToBill=Шаблон по подразбиране, когато се затваря търговско предложение (за да бъде фактурирано) DefaultModelPropalToBill=Шаблон по подразбиране, когато се приключва търговско предложение (за да бъде фактурирано)
DefaultModelPropalClosed=Шаблон по подразбиране, когато се затваря търговско предложение (нефактурирано) DefaultModelPropalClosed=Шаблон по подразбиране, когато се приключва търговско предложение (не таксувано)
ProposalCustomerSignature=Писмено приемане, фирмен печат, дата и подпис ProposalCustomerSignature=Име, фамилия, фирмен печат, дата и подпис
ProposalsStatisticsSuppliers=Статистика на запитванията към доставчици ProposalsStatisticsSuppliers=Статистика на запитванията към доставчици

View File

@ -1,33 +1,33 @@
# Dolibarr language file - Source file is en_US - sendings # Dolibarr language file - Source file is en_US - sendings
RefSending=Реф. експедиция RefSending=Реф. доставка
Sending=Експедиция Sending=Доставка
Sendings=Експедиции Sendings=Доставки
AllSendings=Всички експедиции AllSendings=Всички доставки
Shipment=Пратка Shipment=Доставка
Shipments=Пратки Shipments=Доставки
ShowSending=Показване на експедиции ShowSending=Показване на доставка
Receivings=Разписки за доставка Receivings=Разписки за доставка
SendingsArea=Зона на Експедиции SendingsArea=Секция за доставки
ListOfSendings=Списък на експедиции ListOfSendings=Списък на доставки
SendingMethod=Начин на доставка SendingMethod=Начин на доставка
LastSendings=Експедиции: %s последни LastSendings=Доставки: %s последни
StatisticsOfSendings=Статистика за експедидиите StatisticsOfSendings=Статистика за доставки
NbOfSendings=Брой експедиции NbOfSendings=Брой доставки
NumberOfShipmentsByMonth=Брой експедиции на месец NumberOfShipmentsByMonth=Брой доставки на месец
SendingCard=Карта за експедиция SendingCard=Карта на доставка
NewSending=Нова експедиция NewSending=Нова доставка
CreateShipment=Създаване на пратка CreateShipment=Създаване на доставка
QtyShipped=Изпратено количество QtyShipped=Изпратено кол.
QtyShippedShort=Изпр. кол. QtyShippedShort=Изпратено
QtyPreparedOrShipped=Приготвено или изпратено кол. QtyPreparedOrShipped=Подготвено или изпратено кол.
QtyToShip=Количество за изпращане QtyToShip=Кол. за изпращане
QtyReceived=Получено количество QtyReceived=Получено кол.
QtyInOtherShipments=Количество в други пратки QtyInOtherShipments=Кол. в други доставки
KeepToShip=Оставащо за изпращане KeepToShip=Оставащо за изпращане
KeepToShipShort=Оставащо KeepToShipShort=Оставащо
OtherSendingsForSameOrder=Други експедиции за тази поръчка OtherSendingsForSameOrder=Други доставки за тази поръчка
SendingsAndReceivingForSameOrder=Експедиции и разписки за тази поръчка SendingsAndReceivingForSameOrder=Доставки и разписки за тази поръчка
SendingsToValidate=Експедиции за валидиране SendingsToValidate=Доставки за валидиране
StatusSendingCanceled=Анулирана StatusSendingCanceled=Анулирана
StatusSendingDraft=Чернова StatusSendingDraft=Чернова
StatusSendingValidated=Валидирана (продукти за изпращане или вече изпратени) StatusSendingValidated=Валидирана (продукти за изпращане или вече изпратени)
@ -35,38 +35,38 @@ StatusSendingProcessed=Обработена
StatusSendingDraftShort=Чернова StatusSendingDraftShort=Чернова
StatusSendingValidatedShort=Валидирана StatusSendingValidatedShort=Валидирана
StatusSendingProcessedShort=Обработена StatusSendingProcessedShort=Обработена
SendingSheet=Лист за експедиция SendingSheet=Формуляр за доставка
ConfirmDeleteSending=Сигурни ли сте, че искате да изтриете тази експедиция? ConfirmDeleteSending=Сигурни ли сте, че искате да изтриете тази доставка?
ConfirmValidateSending=Сигурни ли сте, че искате да валидирате тази експедиция с реф. <b>%s</b>? ConfirmValidateSending=Сигурни ли сте, че искате да валидирате тази доставка с реф. <b>%s</b>?
ConfirmCancelSending=Сигурни ли сте, че ли искате да анулирате тази експедиция? ConfirmCancelSending=Сигурни ли сте, че ли искате да анулирате тази доставка?
DocumentModelMerou=Шаблон А5 размер DocumentModelMerou=Шаблон А5 размер
WarningNoQtyLeftToSend=Внимание, няма продукти чакащи да бъдат изпратени. WarningNoQtyLeftToSend=Внимание, няма продукти чакащи да бъдат изпратени.
StatsOnShipmentsOnlyValidated=Статистики водени само от валидирани пратки. Използваната дата е дата на валидиране на пратката (планираната дата на доставка не винаги е известна) StatsOnShipmentsOnlyValidated=Статистики водени само от валидирани доставки. Използваната дата е дата на валидиране на доставката (планираната дата на доставка не винаги е известна)
DateDeliveryPlanned=Планирана дата за доставка DateDeliveryPlanned=Планирана дата за доставка
RefDeliveryReceipt=Реф. разписка за доставка RefDeliveryReceipt=Реф. разписка за доставка
StatusReceipt=Статус на разписка за доставка StatusReceipt=Статус на разписка за доставка
DateReceived=Дата на получаване DateReceived=Дата на получаване
SendShippingByEMail=Изпращане на пратка по имейл SendShippingByEMail=Изпращане на доставка по имейл
SendShippingRef=Подаване на пратка %s SendShippingRef=Изпращане на доставка %s
ActionsOnShipping=Събития за пратка ActionsOnShipping=Свързани събития
LinkToTrackYourPackage=Връзка за проследяване на вашата пратка LinkToTrackYourPackage=Връзка за проследяване на вашата пратка
ShipmentCreationIsDoneFromOrder=За момента създаването на нова пратка се извършва от картата на поръчката. ShipmentCreationIsDoneFromOrder=За момента създаването на нова доставка се извършва от картата на поръчка.
ShipmentLine=Линия на пратка ShipmentLine=Ред на доставка
ProductQtyInCustomersOrdersRunning=Количество продукт в отворени клиентски поръчки ProductQtyInCustomersOrdersRunning=Количество продукт в отворени поръчки за продажба
ProductQtyInSuppliersOrdersRunning=Количество продукт в отворени поръчки за покупка ProductQtyInSuppliersOrdersRunning=Количество продукт в отворени поръчки за покупка
ProductQtyInShipmentAlreadySent=Вече изпратено количество продукт от отворена поръчка ProductQtyInShipmentAlreadySent=Количество продукт в отворени и вече изпратени поръчки за продажба
ProductQtyInSuppliersShipmentAlreadyRecevied=Вече получено количество продукт от отворена поръчка за покупка ProductQtyInSuppliersShipmentAlreadyRecevied=Количество продукт в отворени и вече получени поръчки за покупка
NoProductToShipFoundIntoStock=Не е намерен продукт за изпращане в склад <b>%s</b>. Коригирайте наличността или се върнете, за да изберете друг склад. NoProductToShipFoundIntoStock=Не е намерен продукт за изпращане в склад <b>%s</b>. Коригирайте наличността или се върнете, за да изберете друг склад.
WeightVolShort=Тегло/Обем WeightVolShort=Тегло / Обем
ValidateOrderFirstBeforeShipment=Първо трябва да валидирате поръчката, преди да можете да изпращате пратки. ValidateOrderFirstBeforeShipment=Първо трябва да валидирате поръчката, преди да може да извършвате доставки.
# Sending methods # Sending methods
# ModelDocument # ModelDocument
DocumentModelTyphon=Завършен шаблон на разписка за доставка (лого...) DocumentModelTyphon=Завършен шаблон на разписка за доставка (лого...)
Error_EXPEDITION_ADDON_NUMBER_NotDefined=Константата EXPEDITION_ADDON_NUMBER не е дефинирана Error_EXPEDITION_ADDON_NUMBER_NotDefined=Константата EXPEDITION_ADDON_NUMBER не е дефинирана
SumOfProductVolumes=Сума от обема на продуктите SumOfProductVolumes=Сума от обема на продуктите
SumOfProductWeights=Сума от теглото на продуктите SumOfProductWeights=Сума от теглото на продуктите
# warehouse details # warehouse details
DetailWarehouseNumber= Подробности за склада DetailWarehouseNumber= Детайли за склада
DetailWarehouseFormat= Тегло: %s (Кол.: %d) DetailWarehouseFormat= Тегло: %s (Кол.: %d)

View File

@ -1,5 +1,5 @@
# Dolibarr language file - Source file is en_US - stocks # Dolibarr language file - Source file is en_US - stocks
WarehouseCard=Карта на склад WarehouseCard=Карта
Warehouse=Склад Warehouse=Склад
Warehouses=Складове Warehouses=Складове
ParentWarehouse=Основен склад ParentWarehouse=Основен склад
@ -7,7 +7,7 @@ NewWarehouse=Нов склад / местоположение
WarehouseEdit=Промяна на склад WarehouseEdit=Промяна на склад
MenuNewWarehouse=Нов склад MenuNewWarehouse=Нов склад
WarehouseSource=Изпращащ склад WarehouseSource=Изпращащ склад
WarehouseSourceNotDefined=Няма зададен склад, WarehouseSourceNotDefined=Няма дефиниран склад
AddWarehouse=Създаване на склад AddWarehouse=Създаване на склад
AddOne=Добавяне на един AddOne=Добавяне на един
DefaultWarehouse=Склад по подразбиране DefaultWarehouse=Склад по подразбиране
@ -17,20 +17,20 @@ CancelSending=Анулиране на изпращане
DeleteSending=Изтриване на изпращане DeleteSending=Изтриване на изпращане
Stock=Наличност Stock=Наличност
Stocks=Наличности Stocks=Наличности
StocksByLotSerial=Наличности по Партида/Сериен № StocksByLotSerial=Наличности по партида / сериен №
LotSerial=Партиди/Серийни номера LotSerial=Партиди / Серийни номера
LotSerialList=Списък на партиди/серийни номера LotSerialList=Списък на партиди / серийни номера
Movements=Движения Movements=Движения
ErrorWarehouseRefRequired=Изисква се референтно име на склад ErrorWarehouseRefRequired=Изисква се референтно име на склад
ListOfWarehouses=Списък на складове ListOfWarehouses=Списък на складове
ListOfStockMovements=Списък на движението на стоковите наличности ListOfStockMovements=Списък на движения на стокови наличности
ListOfInventories=Списък на инвентари ListOfInventories=Списък на инвентари
MovementId=Идент. № за движение MovementId=Идентификатор на движение
StockMovementForId=Идент. № за движение %d StockMovementForId=Идентификатор на движение %d
ListMouvementStockProject=Списък на складовите движения, свързани с проекта ListMouvementStockProject=Списък на движения на стокови наличности, свързани с проекта
StocksArea=Зона за складове StocksArea=Секция за складове
AllWarehouses=Всички складове AllWarehouses=Всички складове
IncludeAlsoDraftOrders=Включва също чернови поръчки IncludeAlsoDraftOrders=Включва чернови поръчки
Location=Местоположение Location=Местоположение
LocationSummary=Кратко име на местоположение LocationSummary=Кратко име на местоположение
NumberOfDifferentProducts=Брой различни продукти NumberOfDifferentProducts=Брой различни продукти
@ -53,7 +53,7 @@ StockLowerThanLimit=Наличността е по-малка от лимита
EnhancedValue=Стойност EnhancedValue=Стойност
PMPValue=Средно измерена цена PMPValue=Средно измерена цена
PMPValueShort=СИЦ PMPValueShort=СИЦ
EnhancedValueOfWarehouses=Стойност на складовете EnhancedValueOfWarehouses=Складова стойност
UserWarehouseAutoCreate=Автоматично създаване на личен потребителски склад при създаване на потребител UserWarehouseAutoCreate=Автоматично създаване на личен потребителски склад при създаване на потребител
AllowAddLimitStockByWarehouse=Управляване също и на стойности за минимална и желана наличност за двойка (продукт-склад) в допълнение към стойност за продукт AllowAddLimitStockByWarehouse=Управляване също и на стойности за минимална и желана наличност за двойка (продукт-склад) в допълнение към стойност за продукт
IndependantSubProductStock=Наличностите за продукти и подпродукти са независими IndependantSubProductStock=Наличностите за продукти и подпродукти са независими
@ -81,15 +81,15 @@ StockLimit=Минимално количество за предупрежден
StockLimitDesc=(празно) означава, че няма предупреждение.<br>0 може да се използва за предупреждение веднага след като наличността е изчерпана. StockLimitDesc=(празно) означава, че няма предупреждение.<br>0 може да се използва за предупреждение веднага след като наличността е изчерпана.
PhysicalStock=Физическа наличност PhysicalStock=Физическа наличност
RealStock=Реална наличност RealStock=Реална наличност
RealStockDesc=Физическа/реална наличност е наличността, която в момента се намира в складовете. RealStockDesc=Физическа / реална наличност е наличността, която в момента се намира в складовете.
RealStockWillAutomaticallyWhen=Реалната наличност ще бъде модифицирана според това правило (както е определено в модула на Наличности): RealStockWillAutomaticallyWhen=Реалната наличност ще бъде модифицирана според това правило (както е определено в модула на Наличности):
VirtualStock=Виртуална наличност VirtualStock=Виртуална наличност
VirtualStockDesc=Виртуална наличност е изчислената наличност, която се образува след като всички отворени / предстоящи действия (които засягат наличности) се затворят (получени поръчки за покупка, изпратени клиентски поръчки и т.н.) VirtualStockDesc=Виртуална наличност е изчислената наличност, която се образува след като всички отворени / предстоящи действия (които засягат наличности) се затворят (получени поръчки за покупка, изпратени клиентски поръчки и т.н.)
IdWarehouse=Идент. № на склад IdWarehouse=Идентификатор на склад
DescWareHouse=Описание на склад DescWareHouse=Описание на склад
LieuWareHouse=Местоположение на склад LieuWareHouse=Местоположение на склад
WarehousesAndProducts=Складове и продукти WarehousesAndProducts=Складове и продукти
WarehousesAndProductsBatchDetail=Складове и продукти (с подробности за партида/ сериен №) WarehousesAndProductsBatchDetail=Складове и продукти (с подробности за партида / сериен №)
AverageUnitPricePMPShort=Средно измерена входна цена AverageUnitPricePMPShort=Средно измерена входна цена
AverageUnitPricePMP=Средно измерена входна цена AverageUnitPricePMP=Средно измерена входна цена
SellPriceMin=Единична продажна цена SellPriceMin=Единична продажна цена
@ -98,29 +98,29 @@ EstimatedStockValueSell=Стойност за продажба
EstimatedStockValueShort=Входна стойност на наличност EstimatedStockValueShort=Входна стойност на наличност
EstimatedStockValue=Входна стойност на наличност EstimatedStockValue=Входна стойност на наличност
DeleteAWarehouse=Изтриване на склад DeleteAWarehouse=Изтриване на склад
ConfirmDeleteWarehouse=Сигурни ли сте, че искате да изтриете склада <b>%s</b>? ConfirmDeleteWarehouse=Сигурни ли сте, че искате да изтриете склад <b>%s</b>?
PersonalStock=Наличност в %s PersonalStock=Наличност в %s
ThisWarehouseIsPersonalStock=Този склад представлява фактическата наличност в %s %s ThisWarehouseIsPersonalStock=Този склад представлява фактическата наличност в %s %s
SelectWarehouseForStockDecrease=Избиране на склад, който да се използва за намаляване на наличности SelectWarehouseForStockDecrease=Избиране на склад, който да се използва за намаляване на наличности
SelectWarehouseForStockIncrease=Избиране на склад, който да се използва за увеличение на наличности SelectWarehouseForStockIncrease=Избиране на склад, който да се използва за увеличение на наличности
NoStockAction=Няма действие с наличности NoStockAction=Няма действие с наличности
DesiredStock=Желана наличност DesiredStock=Желана наличност
DesiredStockDesc=Тази стойност ще бъде използвана за попълване на наличността, чрез функцията за попълване на наличности DesiredStockDesc=Тази стойност ще бъде използвана за запълване на наличността, чрез функцията за попълване на наличности
StockToBuy=За поръчка StockToBuy=За поръчка
Replenishment=Попълване на наличности Replenishment=Попълване на наличности
ReplenishmentOrders=Поръчки за попълване ReplenishmentOrders=Поръчки за попълване
VirtualDiffersFromPhysical=Според опциите за увеличаване/намаляване на наличности, физическите и виртуални наличности (физически + текущи поръчки) могат да се различават VirtualDiffersFromPhysical=Според опциите за увеличаване / намаляване на наличности, физическите и виртуални наличности (физически + текущи поръчки) могат да се различават
UseVirtualStockByDefault=Използване на виртуални наличности по подразбиране (вместо физически наличности) при използване на функцията за попълване на наличности UseVirtualStockByDefault=Използване на виртуални наличности по подразбиране (вместо физически наличности) при използване на функцията за попълване на наличности
UseVirtualStock=Използване на виртуални наличности UseVirtualStock=Използване на виртуални наличности
UsePhysicalStock=Използване на физически наличности UsePhysicalStock=Използване на физически наличности
CurentSelectionMode=Текущ режим на избор CurentSelectionMode=Текущ режим на избор
CurentlyUsingVirtualStock=Виртуална наличност CurentlyUsingVirtualStock=Виртуална наличност
CurentlyUsingPhysicalStock=Фактическа наличност CurentlyUsingPhysicalStock=Физическа наличност
RuleForStockReplenishment=Правило за попълване на наличности RuleForStockReplenishment=Правило за попълване на наличности
SelectProductWithNotNullQty=Избиране на най-малко един продукт с количество различно от 0 и доставчик SelectProductWithNotNullQty=Избиране на най-малко един продукт с количество различно от 0 и доставчик
AlertOnly= Само предупреждения AlertOnly= Само предупреждения
WarehouseForStockDecrease=Този склад <b>%s</b> ще се използва за намаляване на наличността WarehouseForStockDecrease=Складът <b>%s</b> ще бъде използван за намаляване на наличността
WarehouseForStockIncrease=Този склад <b>%s</b> ще се използва за увеличаване на наличността WarehouseForStockIncrease=Складът <b>%s</b> ще бъде използван за увеличаване на наличността
ForThisWarehouse=За този склад ForThisWarehouse=За този склад
ReplenishmentStatusDesc=Това е списък на всички продукти, чиято наличност е по-малка от желаната (или е по-малка от стойността на предупреждението, ако е поставена отметка в квадратчето 'Само предупреждения'). При използване на отметка в квадратчето може да създавате поръчки за покупка, за да запълните разликата. ReplenishmentStatusDesc=Това е списък на всички продукти, чиято наличност е по-малка от желаната (или е по-малка от стойността на предупреждението, ако е поставена отметка в квадратчето 'Само предупреждения'). При използване на отметка в квадратчето може да създавате поръчки за покупка, за да запълните разликата.
ReplenishmentOrdersDesc=Това е списък на всички отворени поръчки за покупка, включително предварително дефинирани продукти. Тук могат да се видят само отворени поръчки с предварително дефинирани продукти, които могат да повлияят на наличностите. ReplenishmentOrdersDesc=Това е списък на всички отворени поръчки за покупка, включително предварително дефинирани продукти. Тук могат да се видят само отворени поръчки с предварително дефинирани продукти, които могат да повлияят на наличностите.
@ -142,16 +142,16 @@ DateMovement=Дата на движение
InventoryCode=Код на движение / Инвентарен код InventoryCode=Код на движение / Инвентарен код
IsInPackage=Съдържа се в опаковка IsInPackage=Съдържа се в опаковка
WarehouseAllowNegativeTransfer=Наличността може да бъде отрицателна WarehouseAllowNegativeTransfer=Наличността може да бъде отрицателна
qtyToTranferIsNotEnough=Нямате достатъчно запаси в изпращащия склад и настройката ви не позволява отрицателни наличности. qtyToTranferIsNotEnough=Нямате достатъчно наличности в изпращащия склад и настройката ви не позволява отрицателни наличности.
ShowWarehouse=Показване на склад ShowWarehouse=Показване на склад
MovementCorrectStock=Корекция на наличност за продукт %s MovementCorrectStock=Корекция на наличност за продукт %s
MovementTransferStock=Прехвърляне на наличност за продукт %s в друг склад MovementTransferStock=Прехвърляне на наличност за продукт %s в друг склад
InventoryCodeShort=Движ./Инв. код InventoryCodeShort=Движ. / Инв. код
NoPendingReceptionOnSupplierOrder=Не се очаква получаване, тъй като поръчката за покупка е отворена NoPendingReceptionOnSupplierOrder=Не се очаква получаване, тъй като поръчката за покупка е отворена
ThisSerialAlreadyExistWithDifferentDate=Тази партида/сериен № (<strong>%s</strong>) вече съществува, но с различна дата на усвояване или дата на продажба (намерена е <strong>%s</strong>, но вие сте въвели <strong>%s</strong>). ThisSerialAlreadyExistWithDifferentDate=Тази партида / сериен № (<strong>%s</strong>) вече съществува, но с различна дата на усвояване или дата на продажба (намерена е <strong>%s</strong>, но вие сте въвели <strong>%s</strong>).
OpenAll=Отворено за всички действия OpenAll=Отворено за всички действия
OpenInternal=Отворен само за вътрешни действия OpenInternal=Отворен само за вътрешни действия
UseDispatchStatus=Използване на статус на изпращане (одобряване/отхвърляне) за продуктови линии при получаване на поръчка за покупка UseDispatchStatus=Използване на статус на изпращане (одобряване / отхвърляне) за продуктови редове при получаване на поръчка за покупка
OptionMULTIPRICESIsOn=Опцията 'Няколко цени за сегмент' е включена. Това означава, че продуктът има няколко продажни цени, така че стойността за продажба не може да бъде изчислена OptionMULTIPRICESIsOn=Опцията 'Няколко цени за сегмент' е включена. Това означава, че продуктът има няколко продажни цени, така че стойността за продажба не може да бъде изчислена
ProductStockWarehouseCreated=Минималното количество за предупреждение и желаните оптимални наличности са правилно създадени ProductStockWarehouseCreated=Минималното количество за предупреждение и желаните оптимални наличности са правилно създадени
ProductStockWarehouseUpdated=Минималното количество за предупреждение и желаните оптимални наличности са правилно актуализирани ProductStockWarehouseUpdated=Минималното количество за предупреждение и желаните оптимални наличности са правилно актуализирани
@ -159,19 +159,19 @@ ProductStockWarehouseDeleted=Минималното количество за п
AddNewProductStockWarehouse=Определяне на ново минимално количество за предупреждение и желана оптимална наличност AddNewProductStockWarehouse=Определяне на ново минимално количество за предупреждение и желана оптимална наличност
AddStockLocationLine=Намалете количеството, след което кликнете, за да добавите друг склад за този продукт AddStockLocationLine=Намалете количеството, след което кликнете, за да добавите друг склад за този продукт
InventoryDate=Дата на инвентаризация InventoryDate=Дата на инвентаризация
NewInventory=Нов инвентар NewInventory=Нова инвентаризация
inventorySetup = Настройка на инвентар inventorySetup = Настройка на инвентаризация
inventoryCreatePermission=Създаване на нова инвентаризация inventoryCreatePermission=Създаване на нова инвентаризация
inventoryReadPermission=Преглед на инвентари inventoryReadPermission=Преглед на инвентаризации
inventoryWritePermission=Актуализиране на инвентари inventoryWritePermission=Актуализиране на инвентаризации
inventoryValidatePermission=Валидиране на инвентар inventoryValidatePermission=Валидиране на инвентаризация
inventoryTitle=Инвентаризация inventoryTitle=Инвентаризация
inventoryListTitle=Инвентаризации inventoryListTitle=Инвентаризации
inventoryListEmpty=Не се извършва инвентаризация inventoryListEmpty=Не се извършва инвентаризация
inventoryCreateDelete=Създаване/Изтриване на инвентаризация inventoryCreateDelete=Създаване / Изтриване на инвентаризация
inventoryCreate=Създаване на нова inventoryCreate=Създаване на нова
inventoryEdit=Редактиране inventoryEdit=Промяна
inventoryValidate=Валидиране inventoryValidate=Валидирана
inventoryDraft=В ход inventoryDraft=В ход
inventorySelectWarehouse=Избор на склад inventorySelectWarehouse=Избор на склад
inventoryConfirmCreate=Създаване inventoryConfirmCreate=Създаване
@ -182,11 +182,11 @@ inventoryWarningProductAlreadyExists=Този продукт е вече в сп
SelectCategory=Филтър по категория SelectCategory=Филтър по категория
SelectFournisseur=Филтър по доставчик SelectFournisseur=Филтър по доставчик
inventoryOnDate=Инвентаризация inventoryOnDate=Инвентаризация
INVENTORY_DISABLE_VIRTUAL=Виртуален продукт (комплект): не намалявайте наличността на подпродукт INVENTORY_DISABLE_VIRTUAL=Виртуален продукт (комплект): не намалявайте наличността на съставен продукт
INVENTORY_USE_MIN_PA_IF_NO_LAST_PA=Използване на покупна цена, ако не може да бъде намерена последна цена за покупка INVENTORY_USE_MIN_PA_IF_NO_LAST_PA=Използване на покупната цена, ако не може да бъде намерена последна цена за покупка
INVENTORY_USE_INVENTORY_DATE_FROM_DATEMVT=Движението на наличности има дата на инвентаризация INVENTORY_USE_INVENTORY_DATE_FROM_DATEMVT=Движението на наличности има дата на инвентаризация
inventoryChangePMPPermission=Променяне на стойността на СИЦ (средно изчислена цена) за даден продукт inventoryChangePMPPermission=Променяне на стойността на СИЦ (средно изчислена цена) за даден продукт
ColumnNewPMP=Нова единица СИЦ ColumnNewPMP=Нова СИЦ
OnlyProdsInStock=Не добавяйте продукт без наличност OnlyProdsInStock=Не добавяйте продукт без наличност
TheoricalQty=Теоретично количество TheoricalQty=Теоретично количество
TheoricalValue=Теоретична стойност TheoricalValue=Теоретична стойност
@ -198,17 +198,17 @@ RegulatedQty=Регулирано количество
AddInventoryProduct=Добавяне на продукт към инвентаризация AddInventoryProduct=Добавяне на продукт към инвентаризация
AddProduct=Добавяне AddProduct=Добавяне
ApplyPMP=Прилагане на СИЦ ApplyPMP=Прилагане на СИЦ
FlushInventory=Прочистване на инвентар FlushInventory=Прочистване на инвентаризация
ConfirmFlushInventory=Потвърждавате ли това действие? ConfirmFlushInventory=Потвърждавате ли това действие?
InventoryFlushed=Инвентарът е прочистен InventoryFlushed=Инвентаризацията е прочистена
ExitEditMode=Изходно издание ExitEditMode=Изходно издание
inventoryDeleteLine=Изтриване на линия inventoryDeleteLine=Изтриване на ред
RegulateStock=Регулиране на наличност RegulateStock=Регулиране на наличност
ListInventory=Списък ListInventory=Списък
StockSupportServices=Управлението на наличности включва и услуги StockSupportServices=Управлението на наличности включва и услуги
StockSupportServicesDesc=По под разбиране можете да съхранявате само продукти от тип 'продукт'. Можете също така да запазите продукт от тип 'услуга', ако модула 'Услуги' и тази опция са активирани. StockSupportServicesDesc=По под разбиране можете да съхранявате само продукти от тип 'продукт'. Можете също така да запазите продукт от тип 'услуга', ако модула 'Услуги' и тази опция са активирани.
ReceiveProducts=Получаване на артикули ReceiveProducts=Получаване на артикули
StockIncreaseAfterCorrectTransfer=Увеличаване с корекция/прехвърляне StockIncreaseAfterCorrectTransfer=Увеличаване с корекция / прехвърляне
StockDecreaseAfterCorrectTransfer=Намаляване с корекция/прехвърляне StockDecreaseAfterCorrectTransfer=Намаляване с корекция / прехвърляне
StockIncrease=Увеличаване на наличността StockIncrease=Увеличаване на наличност
StockDecrease=Намаляване на наличност StockDecrease=Намаляване на наличност

View File

@ -65,3 +65,5 @@ StripeUserAccountForActions=User account to use for email notification of some S
StripePayoutList=List of Stripe payouts StripePayoutList=List of Stripe payouts
ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mode) ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mode)
ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode)
PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period.
ClickHereToTryAgain=<a href="%s">Click here to try again...</a>

View File

@ -48,7 +48,7 @@ DefaultModelSupplierProposalToBill=Шаблон по подразбиране,
DefaultModelSupplierProposalClosed=Шаблон по подразбиране, когато се затваря запитване за цена (отхвърлено) DefaultModelSupplierProposalClosed=Шаблон по подразбиране, когато се затваря запитване за цена (отхвърлено)
ListOfSupplierProposals=Списък на запитвания към доставчици ListOfSupplierProposals=Списък на запитвания към доставчици
ListSupplierProposalsAssociatedProject=Списък на запитвания към доставчици свързани с проект ListSupplierProposalsAssociatedProject=Списък на запитвания към доставчици свързани с проект
SupplierProposalsToClose=Запитвания към доставчици за затваряне SupplierProposalsToClose=Запитвания към доставчици за приключване
SupplierProposalsToProcess=Запитвания към доставчици за обработка SupplierProposalsToProcess=Запитвания към доставчици за обработка
LastSupplierProposals=Запитвания за цени: %s последни LastSupplierProposals=Запитвания за цени: %s последни
AllPriceRequests=Всички запитвания AllPriceRequests=Всички запитвания

View File

@ -25,11 +25,11 @@ Permission56001=Преглед на тикети
Permission56002=Промяна на тикети Permission56002=Промяна на тикети
Permission56003=Изтриване на тикети Permission56003=Изтриване на тикети
Permission56004=Управление на тикети Permission56004=Управление на тикети
Permission56005=Преглед на тикети от всички контрагенти (не е приложимо за външни потребители, винаги ще бъдат ограничени до контрагента, от който зависят) Permission56005=Преглед на тикети от всички контрагенти (не е приложимо за външни потребители, винаги ще бъдат ограничени до контрагента от който зависят)
TicketDictType=Тикет - Видове TicketDictType=Тикет - Видове
TicketDictCategory=Тикет - Групи TicketDictCategory=Тикет - Групи
TicketDictSeverity=Тикет - Важност TicketDictSeverity=Тикет - Приоритети
TicketTypeShortBUGSOFT=Софтуерна неизправност TicketTypeShortBUGSOFT=Софтуерна неизправност
TicketTypeShortBUGHARD=Хардуерна неизправност TicketTypeShortBUGHARD=Хардуерна неизправност
TicketTypeShortCOM=Търговски въпрос TicketTypeShortCOM=Търговски въпрос
@ -37,14 +37,14 @@ TicketTypeShortINCIDENT=Молба за съдействие
TicketTypeShortPROJET=Проект TicketTypeShortPROJET=Проект
TicketTypeShortOTHER=Друго TicketTypeShortOTHER=Друго
TicketSeverityShortLOW=Ниска TicketSeverityShortLOW=Нисък
TicketSeverityShortNORMAL=Нормална TicketSeverityShortNORMAL=Нормален
TicketSeverityShortHIGH=Висока TicketSeverityShortHIGH=Висок
TicketSeverityShortBLOCKING=Критична/Блокираща TicketSeverityShortBLOCKING=Критичен
ErrorBadEmailAddress=Полето "%s" е неправилно ErrorBadEmailAddress=Полето "%s" е неправилно
MenuTicketMyAssign=Моите тикети MenuTicketMyAssign=Мои тикети
MenuTicketMyAssignNonClosed=Моите отворени тикети MenuTicketMyAssignNonClosed=Мои отворени тикети
MenuListNonClosed=Отворени тикети MenuListNonClosed=Отворени тикети
TypeContact_ticket_internal_CONTRIBUTOR=Сътрудник TypeContact_ticket_internal_CONTRIBUTOR=Сътрудник
@ -58,18 +58,18 @@ Notify_TICKET_SENTBYMAIL=Изпращане на тикет съобщениет
# Status # Status
NotRead=Непрочетен NotRead=Непрочетен
Read=Прочетен Read=Прочетен
Assigned=Назначен Assigned=Възложен
InProgress=В процес InProgress=В процес
NeedMoreInformation=Изчакване на информация NeedMoreInformation=Изчакване на информация
Answered=Отговорен Answered=Отговорен
Waiting=Изчакващ Waiting=В изчакване
Closed=Затворен Closed=Затворен
Deleted=Изтрит Deleted=Изтрит
# Dict # Dict
Type=Вид Type=Вид
Category=Аналитичен код Category=Категория
Severity=Важност Severity=Приоритет
# Email templates # Email templates
MailToSendTicketMessage=За да изпратите имейл с това съобщение MailToSendTicketMessage=За да изпратите имейл с това съобщение
@ -81,9 +81,9 @@ TicketSetup=Настройка на тикет модула
TicketSettings=Настройки TicketSettings=Настройки
TicketSetupPage= TicketSetupPage=
TicketPublicAccess=Публичен интерфейс, който не изисква идентификация, е достъпен на следния URL адрес TicketPublicAccess=Публичен интерфейс, който не изисква идентификация, е достъпен на следния URL адрес
TicketSetupDictionaries=Видът на тикета, важността и аналитичните кодове се конфигурират от речници TicketSetupDictionaries=Видът на тикета, приоритетът и категорията се конфигурират от речници
TicketParamModule=Настройка на променливите в модула TicketParamModule=Настройка на променливите в модула
TicketParamMail=Настройка на имейл известяването TicketParamMail=Настройка за имейл известяване
TicketEmailNotificationFrom=Известяващ имейл от TicketEmailNotificationFrom=Известяващ имейл от
TicketEmailNotificationFromHelp=Използван при отговор и изпращане на тикет съобщения TicketEmailNotificationFromHelp=Използван при отговор и изпращане на тикет съобщения
TicketEmailNotificationTo=Известяващ имейл до TicketEmailNotificationTo=Известяващ имейл до
@ -92,23 +92,23 @@ TicketNewEmailBodyLabel=Текстово съобщение, изпратено
TicketNewEmailBodyHelp=Текстът, посочен тук, ще бъде включен в имейла, потвърждаващ създаването на нов тикет от публичния интерфейс. Информацията с детайлите на тикета се добавя автоматично. TicketNewEmailBodyHelp=Текстът, посочен тук, ще бъде включен в имейла, потвърждаващ създаването на нов тикет от публичния интерфейс. Информацията с детайлите на тикета се добавя автоматично.
TicketParamPublicInterface=Настройка на публичен интерфейс TicketParamPublicInterface=Настройка на публичен интерфейс
TicketsEmailMustExist=Изисква съществуващ имейл адрес, за да се създаде тикет TicketsEmailMustExist=Изисква съществуващ имейл адрес, за да се създаде тикет
TicketsEmailMustExistHelp=В публичния интерфейс имейл адресът трябва да е вече въведен в базата данни, за да се създаде нов тикет. TicketsEmailMustExistHelp=За да се създаде нов тикет през публичния интерфейс имейл адресът трябва да съществува в базата данни
PublicInterface=Публичен интерфейс PublicInterface=Публичен интерфейс
TicketUrlPublicInterfaceLabelAdmin=Алтернативен URL адрес за публичния интерфейс TicketUrlPublicInterfaceLabelAdmin=Алтернативен URL адрес за публичния интерфейс
TicketUrlPublicInterfaceHelpAdmin=Възможно е да се дефинира псевдоним на уеб сървъра и по този начин да се предостави достъп до публичния интерфейс от друг URL адрес (сървърът трябва да действа като прокси сървър в този нов URL адрес) TicketUrlPublicInterfaceHelpAdmin=Възможно е да се дефинира псевдоним на уеб сървъра и по този начин да се предостави достъп до публичния интерфейс от друг URL адрес (сървърът трябва да действа като прокси сървър за този нов URL адрес)
TicketPublicInterfaceTextHomeLabelAdmin=Приветстващ текст на публичния интерфейс TicketPublicInterfaceTextHomeLabelAdmin=Приветстващ текст на публичния интерфейс
TicketPublicInterfaceTextHome=Може да създадете тикет в системата за управление и обслужване на запитвания или да прегледате съществуващ като използвате номера за проследяване и Вашият имейл адрес. TicketPublicInterfaceTextHome=Може да създадете тикет в системата за управление и обслужване на запитвания или да прегледате съществуващ като използвате номера за проследяване и вашият имейл адрес.
TicketPublicInterfaceTextHomeHelpAdmin=Текстът, определен тук, ще се появи на началната страница на публичния интерфейс. TicketPublicInterfaceTextHomeHelpAdmin=Текстът определен тук ще се появи на началната страница на публичния интерфейс.
TicketPublicInterfaceTopicLabelAdmin=Заглавие на интерфейса TicketPublicInterfaceTopicLabelAdmin=Заглавие на интерфейса
TicketPublicInterfaceTopicHelp=Този текст ще се появи като заглавие на публичния интерфейс. TicketPublicInterfaceTopicHelp=Този текст ще се появи като заглавие на публичния интерфейс.
TicketPublicInterfaceTextHelpMessageLabelAdmin=Помощен текст към съобщението TicketPublicInterfaceTextHelpMessageLabelAdmin=Помощен текст към съобщението
TicketPublicInterfaceTextHelpMessageHelpAdmin=Този текст ще се появи над мястото с въведено съобщение от потребителя. TicketPublicInterfaceTextHelpMessageHelpAdmin=Този текст ще се появи над мястото с въведено съобщение от потребителя.
ExtraFieldsTicket=Допълнителни атрибути ExtraFieldsTicket=Допълнителни атрибути
TicketCkEditorEmailNotActivated=HTML редакторът не е активиран. Моля, задайте стойност 1 на константата FCKEDITOR_ENABLE_MAIL, за да го активирате. TicketCkEditorEmailNotActivated=HTML редакторът не е активиран. Моля, задайте стойност 1 на константата FCKEDITOR_ENABLE_MAIL, за да го активирате.
TicketsDisableEmail=Не изпращай имейли при създаване или добавяне на съобщение TicketsDisableEmail=Да не се изпращат имейли при създаване на тикет или добавяне на съобщение
TicketsDisableEmailHelp=По подразбиране се изпращат имейли, когато са създадени нови тикети или съобщения. Активирайте тази опция, за да деактивирате *всички* известия по имейл TicketsDisableEmailHelp=По подразбиране се изпращат имейли, когато са създадени нови тикети или са добавени съобщения. Активирайте тази опция, за да деактивирате *всички* известия по имейл.
TicketsLogEnableEmail=Активиране на вход с имейл TicketsLogEnableEmail=Активиране на вход с имейл
TicketsLogEnableEmailHelp=При всяка промяна ще бъде изпратен имейл **на всеки контакт**, свързан с тикета. TicketsLogEnableEmailHelp=При всяка промяна ще бъде изпратен имейл *на всеки контакт*, свързан с тикета.
TicketParams=Параметри TicketParams=Параметри
TicketsShowModuleLogo=Показване на логото на модула в публичния интерфейс TicketsShowModuleLogo=Показване на логото на модула в публичния интерфейс
TicketsShowModuleLogoHelp=Активирайте тази опция, за да скриете логото на модула от страниците на публичния интерфейс TicketsShowModuleLogoHelp=Активирайте тази опция, за да скриете логото на модула от страниците на публичния интерфейс
@ -116,7 +116,7 @@ TicketsShowCompanyLogo=Показване на логото на фирмата
TicketsShowCompanyLogoHelp=Активирайте тази опция, за да скриете логото на основната фирма от страниците на публичния интерфейс TicketsShowCompanyLogoHelp=Активирайте тази опция, за да скриете логото на основната фирма от страниците на публичния интерфейс
TicketsEmailAlsoSendToMainAddress=Изпращане на известие до основния имейл адрес TicketsEmailAlsoSendToMainAddress=Изпращане на известие до основния имейл адрес
TicketsEmailAlsoSendToMainAddressHelp=Активирайте тази опция, за да изпратите имейл до "Известяващ имейл от" (вижте настройката по-долу) TicketsEmailAlsoSendToMainAddressHelp=Активирайте тази опция, за да изпратите имейл до "Известяващ имейл от" (вижте настройката по-долу)
TicketsLimitViewAssignedOnly=Ограничаване на показването на тикети до такива, които са назначени на текущия потребител (не е приложимо за външни потребители, винаги ще бъдат ограничени до контрагента, от който зависят) TicketsLimitViewAssignedOnly=Ограничаване на показването на тикети до такива, които са възложени на текущия потребител (не е приложимо за външни потребители, винаги ще бъдат ограничени до контрагента, от който зависят)
TicketsLimitViewAssignedOnlyHelp=Само тикети, възложени на текущия потребител ще бъдат показвани. Не важи за потребител с права за управление на тикети. TicketsLimitViewAssignedOnlyHelp=Само тикети, възложени на текущия потребител ще бъдат показвани. Не важи за потребител с права за управление на тикети.
TicketsActivatePublicInterface=Активиране на публичния интерфейс TicketsActivatePublicInterface=Активиране на публичния интерфейс
TicketsActivatePublicInterfaceHelp=Публичният интерфейс позволява на всички посетители да създават тикети. TicketsActivatePublicInterfaceHelp=Публичният интерфейс позволява на всички посетители да създават тикети.
@ -129,13 +129,13 @@ TicketsDisableCustomerEmail=Деактивиране на имейлите, ко
# #
# Index & list page # Index & list page
# #
TicketsIndex=Начална страница TicketsIndex=Секция за тикети
TicketList=Списък с тикети TicketList=Списък с тикети
TicketAssignedToMeInfos=Тази страница показва списъка с тикети, създадени от или възложени на текущия потребител TicketAssignedToMeInfos=Тази страница показва списък с тикети, които са създадени от вас или са ви били възложени
NoTicketsFound=Няма намерен тикет NoTicketsFound=Няма намерени тикети
NoUnreadTicketsFound=Не са открити непрочетени тикети NoUnreadTicketsFound=Не са открити непрочетени тикети
TicketViewAllTickets=Преглед на всички тикети TicketViewAllTickets=Преглед на всички тикети
TicketViewNonClosedOnly=Преглед на отворените тикети TicketViewNonClosedOnly=Преглед на отворени тикети
TicketStatByStatus=Тикети по статус TicketStatByStatus=Тикети по статус
# #
@ -144,24 +144,24 @@ TicketStatByStatus=Тикети по статус
Ticket=Тикет Ticket=Тикет
TicketCard=Карта TicketCard=Карта
CreateTicket=Създаване на тикет CreateTicket=Създаване на тикет
EditTicket=Редактиране на тикет EditTicket=Променяне на тикет
TicketsManagement=Управление на тикети TicketsManagement=Управление на тикети
CreatedBy=Създаден от CreatedBy=Създаден от
NewTicket=Нов тикет NewTicket=Нов тикет
SubjectAnswerToTicket=Отговор на тикет SubjectAnswerToTicket=Отговор на тикет
TicketTypeRequest=Вид на тикета TicketTypeRequest=Вид на тикета
TicketCategory=Аналитичен код TicketCategory=Категория
SeeTicket=Преглед на тикет SeeTicket=Преглед на тикет
TicketMarkedAsRead=Тикетът е маркиран като прочетен TicketMarkedAsRead=Тикетът е маркиран като прочетен
TicketReadOn=Прочетен на TicketReadOn=Прочетен на
TicketCloseOn=Дата на приключване TicketCloseOn=Дата на приключване
MarkAsRead=Маркиране на тикета като прочетен MarkAsRead=Маркиране на тикета като прочетен
TicketHistory=История TicketHistory=История
AssignUser=Възлагане на служител AssignUser=Възлагане на потребител
TicketAssigned=Тикетът е възложен TicketAssigned=Тикетът е възложен
TicketChangeType=Промяна на вида TicketChangeType=Променяне на вида
TicketChangeCategory=Промяна на аналитичния код TicketChangeCategory=Променяне на категория
TicketChangeSeverity=Промяна на важността TicketChangeSeverity=Променяне на приоритет
TicketAddMessage=Добавяне на съобщение TicketAddMessage=Добавяне на съобщение
AddMessage=Добавяне на съобщение AddMessage=Добавяне на съобщение
MessageSuccessfullyAdded=Тикетът е добавен MessageSuccessfullyAdded=Тикетът е добавен
@ -169,36 +169,36 @@ TicketMessageSuccessfullyAdded=Съобщението е успешно доба
TicketMessagesList=Списък със съобщения TicketMessagesList=Списък със съобщения
NoMsgForThisTicket=Няма съобщение за този тикет NoMsgForThisTicket=Няма съобщение за този тикет
Properties=Реквизити Properties=Реквизити
LatestNewTickets=Тикети: %s най-нови тикета (непрочетени) LatestNewTickets=Тикети: %s последни (непрочетени)
TicketSeverity=Важност TicketSeverity=Приоритет
ShowTicket=Преглед на тикет ShowTicket=Преглед на тикет
RelatedTickets=Свързани тикети RelatedTickets=Свързани тикети
TicketAddIntervention=Създаване на интервенция TicketAddIntervention=Създаване на интервенция
CloseTicket=Затваряне на тикет CloseTicket=Приключване на тикет
CloseATicket=Затваряне на тикет CloseATicket=Приключване на тикет
ConfirmCloseAticket=Потвърдете затварянето на тикета ConfirmCloseAticket=Потвърдете приключването на тикета
ConfirmDeleteTicket=Моля, потвърдете изтриването на билета ConfirmDeleteTicket=Потвърдете изтриването на тикета
TicketDeletedSuccess=Тикетът е успешно изтрит TicketDeletedSuccess=Тикетът е успешно изтрит
TicketMarkedAsClosed=Тикетът е маркиран като затворен TicketMarkedAsClosed=Тикетът е маркиран като приключен
TicketDurationAuto=Изчислена продължителност TicketDurationAuto=Изчислена продължителност
TicketDurationAutoInfos=Продължителност, изчислена автоматично според необходимите действия TicketDurationAutoInfos=Продължителност, изчислена автоматично според необходимите действия
TicketUpdated=Тикетът е актуализиран TicketUpdated=Тикетът е актуализиран
SendMessageByEmail=Изпращане на съобщение по имейл SendMessageByEmail=Изпращане на съобщение по имейл
TicketNewMessage=Ново съобщение TicketNewMessage=Ново съобщение
ErrorMailRecipientIsEmptyForSendTicketMessage=Полето за получател е празно, не беше изпратен имейл. ErrorMailRecipientIsEmptyForSendTicketMessage=Полето за получател е празно, не беше изпратен имейл.
TicketGoIntoContactTab=Моля отидете в раздел "Контакти", откъдето може да изберете. TicketGoIntoContactTab=Моля отидете в раздел "Контакти" откъдето може да изберете
TicketMessageMailIntro=Въведение TicketMessageMailIntro=Въведение
TicketMessageMailIntroHelp=Този текст се добавя само в началото на имейла и няма да бъде запазен. TicketMessageMailIntroHelp=Този текст се добавя само в началото на имейла и няма да бъде запазен.
TicketMessageMailIntroLabelAdmin=Въведение към съобщението при изпращане на имейл TicketMessageMailIntroLabelAdmin=Въведение към съобщението при изпращане на имейл
TicketMessageMailIntroText=Здравейте,<br>Беше добавено ново съобщение към тикет, за който сте асоцииран като контакт. Ето и съобщението:<br> TicketMessageMailIntroText=Здравейте,<br>Беше добавено ново съобщение към тикет, в който сте посочен като контакт. Ето и съобщението:<br>
TicketMessageMailIntroHelpAdmin=Този текст ще бъде вмъкнат преди текста за отговор към тикета. TicketMessageMailIntroHelpAdmin=Този текст ще бъде вмъкнат преди текста на съобщението към тикета.
TicketMessageMailSignature=Подпис TicketMessageMailSignature=Подпис
TicketMessageMailSignatureHelp=Този текст се добавя само в края на имейла и няма да бъде запазен. TicketMessageMailSignatureHelp=Този текст се добавя само в края на имейла и няма да бъде запазен.
TicketMessageMailSignatureText=<p>Поздрави,</p><p>--</p> TicketMessageMailSignatureText=<p>Поздрави,</p><p>--</p>
TicketMessageMailSignatureLabelAdmin=Подпис в отговора към имейла TicketMessageMailSignatureLabelAdmin=Подпис в отговора към имейла
TicketMessageMailSignatureHelpAdmin=Този текст ще бъде вмъкнат след съобщението за отговор. TicketMessageMailSignatureHelpAdmin=Този текст ще бъде вмъкнат след съобщението за отговор.
TicketMessageHelp=Само този текст ще бъде запазен в списъка със съобщения към тикета. TicketMessageHelp=Само този текст ще бъде запазен в списъка със съобщения към тикета.
TicketMessageSubstitutionReplacedByGenericValues=Заместващите променливи се заменят от стандартни стойности. TicketMessageSubstitutionReplacedByGenericValues=Заместващите променливи се заменят с общи стойности.
TimeElapsedSince=Изминало време TimeElapsedSince=Изминало време
TicketTimeToRead=Изминало време преди прочитане TicketTimeToRead=Изминало време преди прочитане
TicketContacts=Контакти TicketContacts=Контакти
@ -211,16 +211,16 @@ MarkMessageAsPrivate=Маркиране на съобщението като л
TicketMessagePrivateHelp=Това съобщение няма да се показва на външни потребители TicketMessagePrivateHelp=Това съобщение няма да се показва на външни потребители
TicketEmailOriginIssuer=Контакт на контрагента проследяващ тикета TicketEmailOriginIssuer=Контакт на контрагента проследяващ тикета
InitialMessage=Първоначално съобщение InitialMessage=Първоначално съобщение
LinkToAContract=Свързване към договор LinkToAContract=Връзка към договор
TicketPleaseSelectAContract=Изберете договор TicketPleaseSelectAContract=Изберете договор
UnableToCreateInterIfNoSocid=Не може да бъде създадена интервенция без да бъде дефиниран контрагента UnableToCreateInterIfNoSocid=Не може да бъде създадена интервенция преди да се посочи контрагент
TicketMailExchanges=История на съобщенията TicketMailExchanges=История на съобщенията
TicketInitialMessageModified=Първоначалното съобщение е променено TicketInitialMessageModified=Първоначалното съобщение е променено
TicketMessageSuccesfullyUpdated=Съобщението е успешно актуализирано TicketMessageSuccesfullyUpdated=Съобщението е успешно актуализирано
TicketChangeStatus=Промяна на статус TicketChangeStatus=Промяна на статус
TicketConfirmChangeStatus=Потвърдете промяната на статуса на: %s? TicketConfirmChangeStatus=Потвърдете промяната на статуса на: %s?
TicketLogStatusChanged=Статусът е променен: от %s на %s TicketLogStatusChanged=Статусът е променен: от %s на %s
TicketNotNotifyTiersAtCreate=Не уведомява фирмата при създаването на тикета TicketNotNotifyTiersAtCreate=Да не се уведомява фирмата при създаване на тикета
Unread=Непрочетен Unread=Непрочетен
# #
@ -229,9 +229,9 @@ Unread=Непрочетен
TicketLogMesgReadBy=Тикет %s е прочетен от %s TicketLogMesgReadBy=Тикет %s е прочетен от %s
NoLogForThisTicket=Все още няма запис за този тикет NoLogForThisTicket=Все още няма запис за този тикет
TicketLogAssignedTo=Тикет %s е възложен на %s TicketLogAssignedTo=Тикет %s е възложен на %s
TicketLogPropertyChanged=Тикет %s е редактиран: класификация от %s на %s TicketLogPropertyChanged=Тикет %s е класифициран от %s на %s
TicketLogClosedBy=Тикет %s е затворен от %s TicketLogClosedBy=Тикет %s е приключен от %s
TicketLogReopen=Тикет %s е отворен повторно TicketLogReopen=Тикет %s е повторно отворен
# #
# Public pages # Public pages
@ -239,21 +239,21 @@ TicketLogReopen=Тикет %s е отворен повторно
TicketSystem=Тикет система TicketSystem=Тикет система
ShowListTicketWithTrackId=Проследяване на списък с тикети ShowListTicketWithTrackId=Проследяване на списък с тикети
ShowTicketWithTrackId=Проследяване на тикет ShowTicketWithTrackId=Проследяване на тикет
TicketPublicDesc=Може да създадете тикет или да проследите съществуващи като използвате кода за проследяване и Вашият имейл адрес. TicketPublicDesc=Може да създадете тикет или да проследите съществуващи като използвате кода за проследяване и вашият имейл адрес.
YourTicketSuccessfullySaved=Тикетът е успешно съхранен! YourTicketSuccessfullySaved=Тикетът е успешно съхранен!
MesgInfosPublicTicketCreatedWithTrackId=Беше създаден нов тикет с проследяващ код %s MesgInfosPublicTicketCreatedWithTrackId=Беше създаден нов тикет с проследяващ код %s
PleaseRememberThisId=Моля, запазете проследяващия код, за който може да ви попитаме по-късно. PleaseRememberThisId=Моля, запазете проследяващия код, за който може да ви попитаме по-късно.
TicketNewEmailSubject=Потвърждение за създаване на тикет TicketNewEmailSubject=Потвърждение за създаване на тикет
TicketNewEmailSubjectCustomer=Нов тикет TicketNewEmailSubjectCustomer=Нов тикет
TicketNewEmailBody=Това е автоматичен имейл, който потвърждава, че сте регистрирали нов тикет. TicketNewEmailBody=Това е автоматичен имейл, който потвърждава, че сте регистрирали нов тикет.
TicketNewEmailBodyCustomer=Това е автоматичен имейл, който потвърждава, че е създаден нов тикет във вашия фирмен профил. TicketNewEmailBodyCustomer=Това е автоматичен имейл, който потвърждава, че е създаден нов тикет във вашият фирмен профил.
TicketNewEmailBodyInfosTicket=Информация за наблюдение на тикета TicketNewEmailBodyInfosTicket=Информация за наблюдение на тикета
TicketNewEmailBodyInfosTrackId=Проследяващ код на тикета: %s TicketNewEmailBodyInfosTrackId=Проследяващ код на тикета: %s
TicketNewEmailBodyInfosTrackUrl=Може да следите напредъка по тикета като кликнете на връзката по-горе. TicketNewEmailBodyInfosTrackUrl=Може да следите напредъка по тикета като кликнете на връзката по-горе.
TicketNewEmailBodyInfosTrackUrlCustomer=Може да следите напредъка по тикета в специалния интерфейс като кликнете върху следната връзка TicketNewEmailBodyInfosTrackUrlCustomer=Може да следите напредъка по тикета в специалния интерфейс като кликнете върху следната връзка
TicketEmailPleaseDoNotReplyToThisEmail=Моля, не отговаряйте директно на този имейл! Използвайте връзката, за да отговорите, чрез интерфейса. TicketEmailPleaseDoNotReplyToThisEmail=Моля, не отговаряйте директно на този имейл! Използвайте връзката, за да отговорите, чрез интерфейса.
TicketPublicInfoCreateTicket=Тази форма позволява да регистрирате тикет в системата за управление и обслужване на запитвания. TicketPublicInfoCreateTicket=Тази форма позволява да регистрирате тикет в системата за управление и обслужване на запитвания.
TicketPublicPleaseBeAccuratelyDescribe=Моля, опишете точно проблема. Посочете възможно най-много информация, за да ни позволите да идентифицираме правилно това запитване. TicketPublicPleaseBeAccuratelyDescribe=Моля, опишете подробно проблема. Посочете възможно най-много информация, за да ни позволите да идентифицираме правилно това запитване.
TicketPublicMsgViewLogIn=Моля, въведете проследяващ код и имейл адрес TicketPublicMsgViewLogIn=Моля, въведете проследяващ код и имейл адрес
TicketTrackId=Код за проследяване TicketTrackId=Код за проследяване
OneOfTicketTrackId=Код за проследяване OneOfTicketTrackId=Код за проследяване
@ -273,11 +273,11 @@ NumberOfTicketsByMonth=Брой тикети на месец
NbOfTickets=Брой тикети NbOfTickets=Брой тикети
# notifications # notifications
TicketNotificationEmailSubject=Тикет с проследяващ код %s е актуализиран TicketNotificationEmailSubject=Тикет с проследяващ код %s е актуализиран
TicketNotificationEmailBody=Здравейте,\nТова е автоматично съобщение, което има за цел да Ви уведоми, че тикет с проследяващ код %s е бил наскоро актуализиран. TicketNotificationEmailBody=Здравейте,\nТова е автоматично съобщение, което има за цел да ви уведоми, че тикет с проследяващ код %s е актуализиран.
TicketNotificationRecipient=Получател на уведомлението TicketNotificationRecipient=Получател на известието
TicketNotificationLogMessage=Съобщение в историята TicketNotificationLogMessage=Съобщение в историята
TicketNotificationEmailBodyInfosTrackUrlinternal=Вижте тикета в системата TicketNotificationEmailBodyInfosTrackUrlinternal=Вижте тикета в системата
TicketNotificationNumberEmailSent=Изпратено уведомление по имейл: %s TicketNotificationNumberEmailSent=Изпратени известия по имейл: %s
ActionsOnTicket=Свързани събития ActionsOnTicket=Свързани събития

View File

@ -1,15 +1,15 @@
# Dolibarr language file - Source file is en_US - users # Dolibarr language file - Source file is en_US - users
HRMArea=Секция човешки ресурси HRMArea=Секция за човешки ресурси
UserCard=Карта на потребител UserCard=Карта
GroupCard=Карта на група GroupCard=Карта
Permission=Разрешение Permission=Разрешение
Permissions=Права Permissions=Права
EditPassword=Редактиране на парола EditPassword=Променяне на парола
SendNewPassword=Регенериране и изпращане на парола SendNewPassword=Регенериране и изпращане на парола
SendNewPasswordLink=Връзка за възстановяване на парола SendNewPasswordLink=Изпращане на връзка за парола
ReinitPassword=Регенериране на парола ReinitPassword=Регенериране на парола
PasswordChangedTo=Паролата е променена на: %s PasswordChangedTo=Паролата е променена на: %s
SubjectNewPassword=Новата ви парола за %s SubjectNewPassword=Вашата нова парола за %s
GroupRights=Групови права GroupRights=Групови права
UserRights=Потребителски права UserRights=Потребителски права
UserGUISetup=Настройка на потребителския интерфейс UserGUISetup=Настройка на потребителския интерфейс
@ -28,9 +28,9 @@ ConfirmReinitPassword=Сигурни ли сте, че искате да ген
ConfirmSendNewPassword=Сигурни ли сте, че искате да генерирате и изпратите нова парола за потребител <b>%s</b>? ConfirmSendNewPassword=Сигурни ли сте, че искате да генерирате и изпратите нова парола за потребител <b>%s</b>?
NewUser=Нов потребител NewUser=Нов потребител
CreateUser=Създаване на потребител CreateUser=Създаване на потребител
LoginNotDefined=Входната информация не е дефинирана. LoginNotDefined=Не е дефинирано потребителско име.
NameNotDefined=Името не е дефинирано. NameNotDefined=Името не е дефинирано.
ListOfUsers=Списък потребители ListOfUsers=Списък на потребители
SuperAdministrator=Супер администратор SuperAdministrator=Супер администратор
SuperAdministratorDesc=Глобален администратор SuperAdministratorDesc=Глобален администратор
AdministratorDesc=Администратор AdministratorDesc=Администратор
@ -39,7 +39,7 @@ DefaultRightsDesc=Определете тук правата <u>по подра
DolibarrUsers=Потребители на системата DolibarrUsers=Потребители на системата
LastName=Фамилия LastName=Фамилия
FirstName=Собствено име FirstName=Собствено име
ListOfGroups=Списък на групите ListOfGroups=Списък на групи
NewGroup=Нова група NewGroup=Нова група
CreateGroup=Създаване на група CreateGroup=Създаване на група
RemoveFromGroup=Премахване от групата RemoveFromGroup=Премахване от групата
@ -50,14 +50,14 @@ ConfirmPasswordReset=Потвърдете възстановяване на па
MenuUsersAndGroups=Потребители и групи MenuUsersAndGroups=Потребители и групи
LastGroupsCreated=Групи: %s последно създадени LastGroupsCreated=Групи: %s последно създадени
LastUsersCreated=Потребители: %s последно създадени LastUsersCreated=Потребители: %s последно създадени
ShowGroup=Покажи групата ShowGroup=Показване на група
ShowUser=Покажи потребителя ShowUser=Показване на потребител
NonAffectedUsers=Не присвоени потребители NonAffectedUsers=Не присвоени потребители
UserModified=Потребителят е успешно редактиран UserModified=Потребителят е успешно променен
PhotoFile=Снимка PhotoFile=Снимка
ListOfUsersInGroup=Списък на потребителите в тази група ListOfUsersInGroup=Списък на потребителите в тази група
ListOfGroupsForUser=Списък на групите за този потребител ListOfGroupsForUser=Списък на групите за този потребител
LinkToCompanyContact=Свързване към контрагент/контакт LinkToCompanyContact=Свързване към контрагент / контакт
LinkedToDolibarrMember=Свързване към член LinkedToDolibarrMember=Свързване към член
LinkedToDolibarrUser=Свързване към потребител на системата LinkedToDolibarrUser=Свързване към потребител на системата
LinkedToDolibarrThirdParty=Свързване към контрагент LinkedToDolibarrThirdParty=Свързване към контрагент
@ -74,8 +74,8 @@ InternalExternalDesc=<b>Вътрешния</b> потребител е потр
PermissionInheritedFromAGroup=Разрешението е предоставено, тъй като е наследено от една от групите на потребителя. PermissionInheritedFromAGroup=Разрешението е предоставено, тъй като е наследено от една от групите на потребителя.
Inherited=Наследено Inherited=Наследено
UserWillBeInternalUser=Създаденият потребителят ще бъде вътрешен потребител (тъй като не е свързан с определен контрагент) UserWillBeInternalUser=Създаденият потребителят ще бъде вътрешен потребител (тъй като не е свързан с определен контрагент)
UserWillBeExternalUser=Създаденият потребителят ще бъде външен потребител (защото е свързани с определен контрагент) UserWillBeExternalUser=Създаденият потребителят ще бъде външен потребител (защото е свързан с определен контрагент)
IdPhoneCaller=Идентификация на повикващия IdPhoneCaller=Идентификатор на повикващия
NewUserCreated=Потребител %s е създаден NewUserCreated=Потребител %s е създаден
NewUserPassword=Промяна на паролата за %s NewUserPassword=Промяна на паролата за %s
EventUserModified=Потребител %s е променен EventUserModified=Потребител %s е променен
@ -88,7 +88,7 @@ GroupDeleted=Група %s е премахната
ConfirmCreateContact=Сигурни ли сте, че искате да създадете Dolibarr профил за този контакт? ConfirmCreateContact=Сигурни ли сте, че искате да създадете Dolibarr профил за този контакт?
ConfirmCreateLogin=Сигурни ли сте, че искате да създадете Dolibarr профил за този член? ConfirmCreateLogin=Сигурни ли сте, че искате да създадете Dolibarr профил за този член?
ConfirmCreateThirdParty=Сигурни ли сте, че искате да създадете контрагент за този член? ConfirmCreateThirdParty=Сигурни ли сте, че искате да създадете контрагент за този член?
LoginToCreate=Данни за вход за създаване LoginToCreate=Потребителско име
NameToCreate=Име на контрагент за създаване NameToCreate=Име на контрагент за създаване
YourRole=Вашите роли YourRole=Вашите роли
YourQuotaOfUsersIsReached=Вашата квота за активни потребители е достигната! YourQuotaOfUsersIsReached=Вашата квота за активни потребители е достигната!
@ -109,4 +109,4 @@ UserLogoff=Излизане от потребителя
UserLogged=Потребителят е регистриран UserLogged=Потребителят е регистриран
DateEmployment=Дата на назначаване DateEmployment=Дата на назначаване
DateEmploymentEnd=Дата на освобождаване DateEmploymentEnd=Дата на освобождаване
CantDisableYourself=You can't disable your own user record CantDisableYourself=Не можете да забраните собствения си потребителски запис

View File

@ -76,7 +76,8 @@ WithdrawalFile=Withdrawal file
SetToStatusSent=Зададен към статус "Файл Изпратен" SetToStatusSent=Зададен към статус "Файл Изпратен"
ThisWillAlsoAddPaymentOnInvoice=This will also record payments to invoices and will classify them as "Paid" if remain to pay is null ThisWillAlsoAddPaymentOnInvoice=This will also record payments to invoices and will classify them as "Paid" if remain to pay is null
StatisticsByLineStatus=Статистики по статуса на линиите StatisticsByLineStatus=Статистики по статуса на линиите
RUM=UMR RUM=Unique Mandate Reference (UMR)
DateRUM=Mandate signature date
RUMLong=Unique Mandate Reference RUMLong=Unique Mandate Reference
RUMWillBeGenerated=If empty, a UMR (Unique Mandate Reference) will be generated once the bank account information is saved. RUMWillBeGenerated=If empty, a UMR (Unique Mandate Reference) will be generated once the bank account information is saved.
WithdrawMode=Direct debit mode (FRST or RECUR) WithdrawMode=Direct debit mode (FRST or RECUR)

Some files were not shown because too many files have changed in this diff Show More